BGE Strengths And Weaknesses

Hi… I was just wondering what you think the biggest strengths and weaknesses are of the BGE. I am an experienced Blender and BGE user with most of my time spent on creating art and I definitely have my own opinions on this topic but I am interested what other people think. I would also love to know how you use it’s strengths to your benefit and overcome the weak areas. What I am hoping is that there are people out there that have turned some of the weaknesses into strengths and are willing to share them. Thanks in advance to anyone sharing their experience!

I think one of the weaknesses is the current logic method. You can only have so much logic before you cant drag and drop anymore, I think a bettor method of doing it would be to have a 2 click set up, you click your first point then your second point and it connects.

@thelaurent Thanks for sharing! I suppose a lot of people have a love hate relationship with the logic system. Personally I love it for its simplicity even though it comes with its quirks! …:slight_smile: However I wouldn’t want this to turn into a missing features thread…rather a…we don’t have feature x but I overcome it by doing xyz…or we have feature x and it’s awesome if you use it in xyz way. That way we can help each other achieve more with what we have. I should have made that clearer in my first post…my bad…:slight_smile:

For me the largest strength is that I can write Python scripts for everything. Python is really easy to learn and incredibly fast to write code in.

The biggest weakness WAS the fact that a lot of armatures slowed things down but that is being fixed in upcoming versions. (Hooray for multi-threaded actions!)

Largest weakness, in my opinion, is the lack of mobile support. The largest strength is the community ^^

Ill have to agree with MrPutuLips on the strength! When I first started getting into game development I had basically narrowed my engine down to unity or blender, but ended up using blender because the community is amazing!

The greatest strength of the BGE is in the fact that its embedded into blender, and that users can simply press P to see in-game behavior.

The greatest weakness is the hard dependency between the logic brick system, and the python interface.

I think LogicBricks are okay for certain types of games only, I.E. a TPS adventure type game or simulations. weakness areas… for me it’s more so bugs… I’ve ran into too many of those when coding in python and playing with physics, but yes the logicBricks can be quite annoying as well. I would recommend that they be updated and have better orginzation methods. as for strengths… obviously the community… and if I may include… the python support

Hi. Thanks everyone for all the great feedback so far. Keep it coming. Personally I think that the tight integration with the rest of blender is its strongest point. If it looks good on screen it will most likely look exactly the same in the GE. The tight integration also means great modding options if you can establish a community around your game and for that reason I have never worried to much about the easy accessibility to your blend files! This integration is also great for educational purposes.(all in one package) Couple that with Python as a beginners language and you have the perfect 3D game developing tool for beginners. The worst feature for me personally I will share later…:slight_smile:

Actually, the logic bricks can be useful for some heavy logic operations because they have been shown to be faster than the Python equivalent (the code they execute is C++).

Personally, I think the greatest strength is the ability to use the general Python API outside of the BGE-specific modules and the ultra-tight integration in Blender. The greatest weakness meanwhile is the current low amount of development due to a limited number of developers working in their spare time (at least it’s enough to get regressions and other bugs fixed along with features here and there).

With logic bricks I have experienced it will just be a big mess and you often have to take a detour which will slow the game down even more, but then again its good logic bricks can interact with python.
And i love how quick you can make small demonstrations in blender using logic.

Stregth

  1. Portable
  2. All in one editor

Weakness

  1. Logic brick becomes messy
  2. Huge package (.exe & .dll) output

A) The greatest strength sits in front of the monitor
B) The greatest weakness sits in front of the monitor too

Examples
An interactive application after 5 minutes? A)
A character running around? A)
Great models, nice mood? A)
Supportive and friendly community? A)

Chaotic Logic Bricks? B)
Chaotic Python code? B)
Does not work? B)
White screen? B)
No response on support thread? B)

Blender crashes? C) [ = Bug -> report it, if you do not report => B) ]

Indeed that is nothing Blender and the BGE is doing for you. In most cases it is not just the tool that makes a tool great ;).

The Tool
(My opinion)

Strength:

  • very fast asset pipeline by integration into Blender
  • very easy to get results with

Weakness:

  • less support to work in several abstraction layers meaning less support in specific aspects of the game development pipeline (level design, asset creation, library creation, separation of model and behavior, combination of objects to a single object etc., file organization, source management)

This is essential for larger projects.
“Less support” does not mean “no support”. It is supported, but not with a simple click as you would might expect. You need a lot of discipline to avoid turning your game into a mess (not just when working with logic bricks and Python). To see it in relation: In most applications it is easy to create a mess -> B) ;).

A major strength is the ease of everything. If you want to make a basic physics game all you have to do is mess around with the logic bricks and physics and walla you got a basic physics game. But a HUGE weakness is the lack of updates for it. Really blender foundation is not as focused on the game engine as the users would like them to be. It is not considered a modern engine due to many things. But the thing I find worst is the export method. The DLL files are hard to hide. You literally have to make an installer in order for the files to be protected. But I guess blender originally was made for modelling so I can’t really complain.

  1. Couldn’t agree more on it being a huge advtantage that literally any type of game can be produced with Blender. Even 2D sidescrollers can be done (though they may be easier in non-3D engines).

  2. From my experience, I’d say the executables are medium-sized. The main drawback to them is that they have to include the python libraries and DLLs, therefore thousands of files. The blenderplayer itself is 30MiB, I believe (the one in the Blender directory). So creating a simple game would still be quite big (for that type of game). I suppose if you nitpick through the library yourself, you could delete everything it doesn’t need, but even then it would be quite annoying.

  3. Nearly every game engine is going linux-bound, including Unreal Engine 4, with the introduction of SteamOS and Steam on Linux. Blender’s largest “competitor”, Unity, has support for nearly every platform already. I’d, personally, say Blender is a bit behind, especially because it lacks console support – I, myself, am not a console user, however a large majority of gamers are console-based.


I see a lot of people mentioning that a great strength is that it is tightly integrated with Blender, and, although I agree this is a huge strength because it speeds up the development process, it is also one of its weaknesses: There are so many buttons, settings, modifiers etc. that don’t actually work with the bge, yet they look apparently like they do (the buttons aren’t greyed out). I found this quite frustrating when I first started using Blender back in 2.49. It was much worse then, and has definitely improved over the years, however it is still prominent in some areas.

Some options are visible only in Game engine mode and some options are hidden. I don’t know if they work further in to that, but it would indeed be nice if game engine mode would only show things on User Interface that were working in game engine.

It really could use some major updates to the export code and some more logic bricks. But blender isn’t really made for as a game engine so I understand the lack of capabilities.

Thanks again guys for all the feedback. It has been great to see all the different takes on this. I agree with Monster that ultimately it’s up to us to produce something good no matter what tool is put in our hands. A lack of feature x should not put us off…though I will be honest that it can be disappointing to see great features being worked on but due to circumstances they are never finished or taken up into the engine.
This brings me to my personal weakest point of the GE…the fact that it is tightly integrated into the rest of blender. Don’t get me wrong, as I mentioned above I love this integration but it means that there are more than one kid to feed and unfortunately circumstances have at times caused the GE to go hungry. Only a great community of OVERLY PASSIONATE artists and developers have kept the little red headed stepchild alive for sooo long! Just when we think it’s over for her, someone pulls something out the bag to keep the dream alive…:slight_smile: My thanks to you guys for keeping alive the little engine that could and I hope still will in the future…:slight_smile:

Its greatest strength is its integration with Blender. Without that, it’d be no different than any of the other game engines out there.

Its greatest weakness might be the lack of “batteries included”. The lack of batteries could also be a strength since it allows more flexibility with the BGE beyond traditional gaming which I think will be crucial in the future as 3D and user interaction is becoming more and more ubiquitous. Another weakness is its lower rate of development relative to commercial solutions and relative to the growing popularity of Blender. Blender has hit critical mass (circa post 2.5-2.6), question is whether the BGE will.

Sometimes I think the BGE is the unwanted responsibility of the BF. It created it to be a minor feature, it became popular, so now it can’t be completely abandoned, only absorbed as an interaction tool. Then again, it was stated that the goal of BF/Blender is for artists, to “provide individual artists and small teams with a complete, free and open source 3D creation pipeline.” Blender started out as a 3D modeling program and so naturally it should favor Blender development. IMHO, the game engine is the other half of 3D and to ignore it, would be ignoring something becoming increasingly important. Is the BGE included in that vision of the BF? Maybe a separate entity is needed for the BGE?

BGE is solely PC-based (because Blender is solely PC-based?). The mobile market is much more volatile and consoles aren’t favorable towards open-source so supporting those platforms is a lot more difficult than supporting PC. Anyhow, I’d say most of the “serious” gaming is done on PC and consoles. The Angry Birds/Fruit Ninja era i.e. the initial coolness of mobile gaming, has already passed. It’d be nice to have support there but since resources are limited, might as well do one thing and do it well :stuck_out_tongue:

Bge strenghts
Bullet physics allows for physical simulations to drive animations…
When the physics moves more onto the gpu (bullet 3x) this will allow actors mesh, armature and physics to all “live” on the gpu,

This could mean almost instant animation.

This combined with logic and python make it amazing.

Weakness
Rasterizer is done on cpu,
(Single thread?)
Automatic occlusion is not supported
LOD is working in 2.7 bit there has been talk of a serious memory issue, with 2.7

Extra strength
Plus-active developers making things like multithreaded armatures…
Thank you kind sir. Moogle!