optimised engine?

Just wanna know, is it possible to actuly get good looking graphics in blender, like in cryengine and such, or is the engine simply not as optmized so the framerate would be so low its unplayable?


That´s all I´m gonna say. But you´re right it is hard to get good performance, but graphics shouldnt be the problem :smiley:

ye, i made a game once that looked very very good i think. but when my friends tested it on thair computers they got about 3 - 12 fps :confused:

All engines have tricks they use to display polygons, lights etc.
Most engines have a lot of them built in and enabled by default: the average person doesn’t even know they’re there.
Blender doesn’t have many built in. To get good performance you have to understand the limitations and how to work with them.

One thing worth mentioning is:

  • It doesn’t matter what engine you use. At some point you’ll have to optimize.

trick #1 = Dynamic light manager = use the same 12 lights over and over.

trick #2 = LOD

trick #3 = Static draw call batching(missing from engine)

trick #4 = Atlas textures

trick #5 = Tesselation shaders and compute shaders (unsupported as far as I know)

trick #6 = hardware instancing of geometry (unsupported)

trick #7 = using separate threads to manage these types of systems (not sure if it would be supported)

I tried to understand the engine code. But I can’t, it’s too messy and weird.
I wonder if they still work on the BGE, because it’s very broken and they broke it even more in the newer versions…

It almost seems like we need to do a complete recode of the engine. But we must do with what we have right now.

A complete engine recode would be awesome! Then the standalone player could be licensed under something easier for people using the GE and deployment of games could be easier. Who knows, maybe porting the whole GE to OpenGL 3.0 could justify a whole engine rewrite. And there has always been the idea of implementing a different engine (Like Panda 3d) into blender for a replacement of the current GE.

Unless you write a separate, standalone exporter to a BGE format, the licensing would remain.

The BGE’s GLSL code in general is not optimized much at all for the purpose of using them in games (they are constantly rebuilt every frame instead of cached for starters).

When Yo Frankie! was being made, Brecht quickly developed a GLSL system designed to mimic what you get when rendering with the old internal engine (ie. there wasn’t a real high priority on performance). As a result, the BGE has about the slowest graphics engine you will find among engines both free and commercial.

This being combined with the scripting API makes the BGE about the slowest engine you can use, meaning you have to start optimizing at a much earlier point than if you work with Unity, UE4, and even Godot (now I don’t know how fast the Jmonkey engine is but there’s a good probability it is also faster).

Don’t get me wrong, you can still make games with good performance, but don’t expect to make any very large titles with it.

if only i had time, then i would work on fixing that but atlas i do not have time learn. BTW what language is the bge written in? C++?

C++, the code is also not near as easy to work with as it due to a history of it being unorganized and messy (even though the issues are ‘slowly’ being addressed).

It’s definitely not for the faint of heart or for those just learning to program.

The BGE is not broken. I do not see why you think like that.

lol

Really, beside the fact that I saw it in the wild: When you can spell it you are not master of it!

Just because you know B G E and have access to the source code, it does not mean you understand it or you can change it’s architecture. I use the BGE a lot. I understand some C/C++, but I do not understand the BGE without spending a lot of time. This does not mean I could redesign it ;).

A redesign is not bug fixing. It is a change throughout the whole architecture. Usually you redesign certain aspects of a working system. The reason is simple: It is a lot of work and can fail miserably.

I looked at the source code too. My C++ skills are pretty low. Regardless of that I can see some good design and some areas that can benefit from a different design. This does not mean I can change it or even find a better design.

what about mike erwins new call methods?

why doesn’t somebody branch** and implement his work?

he made it sound as if the lib was already written, but not the bge side bindings

GPUx?

Well, I have problems with almost every module in the BGE, and Blender just dies out of nowhere.
I’ll try to understand the BGE code, just a little bit, because apparently there’s no documentation, and the new developers have to figure out by themselves…

Are developers of BGE academic people? Or people who have written commercial game engines / games?

I was not saying that i was a master at all lol… What i was saying was, that if i had some time (when i say some i meant A LOT!) then i would try to fix some things i see wrong and maybe redesign it ,but I don’t have time and frankly don’t have the motivation to do it…sadly:spin:…