Every month someone posts a thread about the newest version of [insert name here] game engine, or compares the graphics of blender games to [insert game title]. And then the discussion turns into a war between people who insist that blender could be up to scratch on creating that sort of thing with focused development, and people who think BGE is useless.
I’ve gotten tired of ruffling through these, so I thought it’s clear things up a little:
BGE is not a game engine
What is a game engine:
A game engine is a program that, when you press the right buttons, runs a game. Much like a car engine. You lower it into a car’s body, turn the key, and it makes the car go. When you turn a key in a car, you expect it to go, and to run until it runs out of gas. Thus when you hit the right buttons on a game engine, you expect a game to come out and work.
But here’s the thing:
BGE is not a game engine
It’s a combined physics and rendering engine
On the surface, it’s similar to a game engine, but at a much lower level. It’s like the cylinder block of an engine. You don’t turn the key on a cylinder block and expect it to run.
To turn a cylinder block into an engine, a mechanic has to:
- Wire up the distributor.
- Add pistons
- Add connecting rods
- Add some oil
- Adjust the timing
After that, he then lowers it into the car, bolts it in, turns the key, and the car roars to life and rolls away.
To turn blender ‘game engine’ into a game engine, the user has to:
- Program the core mechanics
- Add in the character/player setup
- Add in a multiplayer system
- Smooth out the level transitions
- Fix bugs in the code he wrote to do the above things
Now the user can lower the engine into the game of his choice. So now the user has to:
- Make the artwork (panelbeating)
- Assemble the levels (Weld it all together)
Even lower than the ‘cylinder block’ of BGE is the spark-plugs of the likes of irrlicht, or some of the purely rendering engines. You don’t see people in those forums complaining the engine isn’t up to scratch, because people there realize that the program they’re using there is only a small part of the overall game.
With blender, most users don’t realize it is not a game engine because it appears so similar. It’s a hybrid, a midstep between low and high level.
***For those of you who didn’t read all of that, here’s the summary:
- It’s only a small part of a game engine, the bit to do with physics and rendering
- To turn it into a game engine, you have to program your from the ground up.
***If you want a game engine you can just lower your game into the likes of Unity, UDK, Unreal, whatever. They’ve got a nice, simple system where you can make a million virtually identical games.
But if you want to develop your game with blender, expect to get your hands dirty with a little mechanics work.