Blender and the new Unreal engine 4

Everything in code is

get a target

manipulate data

Return

like
target-> polygon, manipulation = change material , return data

target-> hitObject manipulation store property = target

target-> vertex - manipulation - move vertex -> return data

if we can “widen” the possibilities of the targets

Ray set property target=hitPos------------------and---------------steering object->target position

Ray set property target2 = hitObject-------------and---------------track to target2

this method would be almost instant.

Personally, it would be interesting to see you try to expand the BGE’s GLSL feature-set to match UE4.

I’m thinking it’s going to take a little more than ‘slight tampering’, also to note, you’re not going to get anywhere until you first learn how to compile a Blender build :slight_smile:

Yar,

I am not sure I am the best to do it, as I am just getting into understanding all of what I have cracked open ,
I still don’t know enough vector math etc, to do low level stuff,

also, the stuff I want,

how hard would that be to implement? it seems like all the data is there, it’s just a manipulation?

Ray already has access etc to all properties, (a brick is linked to a C function?)

And I think it would be better for me to open up the source code of “one brick”

Compiling just means my code is good and all the decencies are in order?

I used to compile quake 1 and add in all kinds of crazy weapons.

Just to clear some things up, logic bricks are implemented in C++. However, logic is usually not the bottleneck is a lot of BGE games I’ve seen. Python can be slower than logic bricks, but a lot more flexible and powerful. I personally try to avoid logic bricks because I prefer to just script everything.

And C# is far from “low-level.” Despite what the name would imply, C# is about as close to C as Java is. That being said, C# is a pretty nice language.

Using blender to build my teams assets and looks as if we will be using unreal with what we discovered so here are the big IFs, if we build a quality fun game and sell it 5% will go to unreal as it states in the agreement 10% will be funneled back in to the blender foundation as a donation, but seeings how that’s a long way off and most blender users are broke we do what we can with what we have and thank the stars we can do that much.

Low-level = good
I’m using C# as a comparison to Python, which is the perfect example of a high-level language. C# involves the actual creation of commands rather than the calling of commands that makes up 100% of Python. So in other words, I’d rather have a longer script written in C# than a short script written in Python. That’s why all game engines (Blender platform included) are written in something similar to C#, but also note that few are written in C++ variants. This is because C++ can be quite a hassle to work with, tends to be a leaky boat. Whereas C#, still being more advanced, is about the programmer creating script in a fashion that would plug those memory leaks.
So while I love Python for it’s ease of use, it’s not really programming anymore.
And BluePrintRandom, I could be wrong in that the BGE links it into C, but I didn’t write the source cose, so I wouldn’t know for sure.

Saika you said you grabbed the subscription for the new unreal? If so have you figured out how to set collision in blender to export in to unreal, I treys to do it the way it was done in the unreal 3 blender tutorial and it does not work, I have attempted a few other exports but the collision model takes over the mesh model I would place in unreal and the the collision is all one collision so I am trying to figure out how to make a passageway my toon can walk through, so far no luck on my end.

I can’t believe you guys are seriously comparing BGE and UE4…

UE4 has been developed by over a hundred engineers and artists for several years and has features and a rendering quality that BGE only could dream of.

You could try generating a new collision model inside UE4. It works pretty well in my opinion.

You need to make the collision geometry inside blender (as a separate object), and put a name on it, and then export all to DAE and specify some parameters there,at least it was the way I used to do it in 3dmax, dunno if DAE blender exporter has the same parameters.

What Moguri is saying here is that C# isn’t low level. And to be honest, there are few programmers left who are truly working with “low level” languages. You’re really talking machine code, or ASM (unless you mean low-level-like programming).

C# Isn’t any more about creating commands than Python. All programming languages that allow programmers to define a function and call it are essentially doing the same job. The difference with C# (I presume) is that you have closer involvement with memory allocation (for both ill and good). Let’s not go starting a “my language is better war” :slight_smile: I find C++ useful for many applications, even though I prefer to use Python wherever appropriate.

C# is a managed (garbage-collected) language. So, like in Python, you create objects, and the runtime is left to allocate/free memory.

I was under the impression that memory could be custom allocated at runtime. Interesting.

I’m perfectly aware that C# isn’t low-level in most terms, but Python is so high-level, that it’s literally very close to actual English. Basically what I’m saying is that the higher level the language, the easier it is, and the further away from actual programming it is. Perhaps I inherited my ideals when it comes to programming, but the way I see it, Python > C# in ease and speed, while C# > Python in efficiency. I’m currently in the process of learning languages like C# because if I just learned Python/ Lua, I wouldn’t understand the fundamentals of programming, and therefore would not be a good programmer.
Ben_Lind, my point is that Blender cannot be compared to UE4 or CryEngine, etc. and my antithesis is the analogy of the brush not defining the painter.

The ease of any given programming language is highly subjective, and not concretely related to its “level” on the abstraction ladder. For example: Functional languages like Elm and Haskell are extremely high level, but many people find them difficult to use when compared to more common procedural languages like Python and C#.

As for “actual programming”: Programming is programming regardless of the language. The only meaningful distinction between low and high level is in the conceptual distance between the algorithms and the actual machine code that compilers generate (or interpreters execute).

I’m currently in the process of learning languages like C# because if I just learned Python/ Lua, I wouldn’t understand the fundamentals of programming, and therefore would not be a good programmer.

Can you define the “fundamentals of programming”, and explain how C# would help you understand them?

If you just want to learn the minutia of memory management, and some generalities about how the OS executes your code, C# won’t help you, because it’s not a low level language (in any way), and it doesn’t expose those details. Learning C would be more instructive in that sense, but if you really want to learn things on a deeper level, I would recommend this book: http://www.amazon.com/Elements-Computing-Systems-Building-Principles/dp/0262640686

However, if you want to become a “good programmer”, you don’t have to chase low level details. That kind of knowledge can help in certain situations, but unless you’re working in a highly specialized area, those situations are rare. In the modern software ecosystem, success is largely about understanding larger systems, and being able to fit them together into something cohesive.

Ultimately, a good programmer delivers useful products/services, in a timely manner. If you need to know low level details to deliver working software, then those details are useful to know. If not, then you’re basically wasting your time.

The auto collision is okay but I need one that will allow me to enter doorways as well, and according to the website tutorials for that I have to import a collision from my 3d software. The other thought I had was to use the floor in unreal and the hide it but that won’t work.

At the moment I am still just familiarizing myself with the software so not building anything serious, but I am listing all the places I get stuck but this one has me stumped

I will try that cant say if blender will allow it and don’t know if unreal will import it if it can, it did not want to import the fbx file exported from blender I set the collision model up over the original model and then set it it invisible but importing it into unreal all I see is the mesh from the collision map I attempted to create and not the actual model I wanted, I will keep working at it.

A little bit hostile, but good information.
I thought that I had stated that C# is not a low-level language, but is low level in comparison to Python, but maybe I didn’t clear that up. What I mean by fundamentals is that Python, while a good language, already does a lot of the work for you. I’d rather learn more about C#, because it’s less…prewritten. I personally do not agree with not having to “chase low level details.” The way I see it, languages are becoming more and more advanced, and therefore easier to use, but also getting further and further away from their base. So if you want to actually understand how a language works, (as I do) you need to look at languages that are low-level enough that you can actually see how the computer is interpreting what you tell it.
Perhaps those are older ideals, but they do seem to work. I again, disagree in that “a good programmer delivers useful products/services, in a timely manner,” or at least that’s not the entirety of it. A good programmer understands not only his language, but how the language works. Just learning Python does not demonstrate how the language works. Basically, a person who just knows how to write Python does not know how Python works. And someone who doesn’t know how it works, will not deliver good work. Therefore, it is not wasting my time.
I would like to bring this back to the actual discussion, if that seems reasonable to you. I believe that this has been taken a little too seriously, and we are now being rude to Gardner.

It will be amazing if someone actually managed to make a game with UE4 and blender!

I don’t see why not. Plenty of games made in UE3 used Blender models.

You could say I don’t know how Python works, because I don’t know a bit about it’s source code or the language it’s written in. Yet I believe I still deliver good work with it. :stuck_out_tongue:
This thread got off on a sort of tangent related to programming languages, so I think Goran’s response was only fair game. His responses are usually very concise (not a bad thing) – easily mistaken as hostile, though not the intent.

I’d also like to get back into the UE4 discussion.
I modeled some things in Blender and exported them over to the engine. One thing I noticed is that with UV maps, the UVs can’t be overlapping, and they can’t scale outside of the grid (in Blender’s UV editor) or there will be a “wrapping” error.

Also, it looks like the FBX export script is outdated when compared to UE4s importer, so that gives an error message each time I import something.

What was specifically hostile about my previous post?

As Riyuzakisan noted: I have no hostile intent - Just engaging in a friendly discussion (which you started).

I thought that I had stated that C# is not a low-level language, but is low level in comparison to Python, but maybe I didn’t clear that up.

No, I think you made that perfectly clear. However:

So if you want to actually understand how a language works, (as I do) you need to look at languages that are low-level enough that you can actually see how the computer is interpreting what you tell it.

C# is not such a language. It simply doesn’t expose that level of detail.

That’s the point I’m trying to emphasize, as it was already made by Moguri.

A good programmer understands not only his language, but how the language works.

I think ability is judged by what you can do, not by what you know.

Basically, a person who just knows how to write Python does not know how Python works. And someone who doesn’t know how it works, will not deliver good work.

Why not? I mean, if one understands the language well, and follows best practice, built on solid software engineering principles (which are largely about managing complexity by working at the highest levels of abstraction possible), then they should be able to produce high quality software, even if they don’t understand the low-level implementation details of some virtual machine.

I would like to bring this back to the actual discussion, if that seems reasonable to you. I believe that this has been taken a little too seriously, and we are now being rude to Gardner.

It’s completely up to you.