Game Development Resources - Part 1: Choosing a Game or Render Engine
Lately Kerim and i got interested in Game and 3D Graphics Development again and were thinking about resurecting our old afford from last year, MBWS. Guess you never heard of it and that's no wonder at all. We didn't release more then a short terrain test demo. After some struggling with the engine, we finally got distracted by other stuff. Anyways now we are back, but with a different goal and way. But we'd like to share some experience and tools we found.
Probably you already read all those million discussions on GameDev.net , devmaster.net and alike regarding MMOG Development. If not, you should really take a look, even when you don't want to write a MMOG. Take their comments serious and don't get insulted, they are mostly right and after answering the same question a million times one can get a bit rude :-)
Choose a game engine or write an own?
One of the most common questions. I think it depends on your goal. If you want to code the game (logic) and get done, take a existing engine that almost fits your needs and stay with it. It might be that you find out later that it lacks some features, but at that stage you could implement them yourself or switch engine. Its more easier if you already have the content.
If you rather want to know how a game or 3d engine works or just like developeing them, go ahead and write an own one. In either way, be sure you got plenty of time.
The best engine overview we found was at http://www.devmaster.net/engines/. Take a look and evaluate the ones you like.
What did we choose and why?
We didn't like to reinvent the wheel and were looking for an engine that has at least some basic stuff we need. As nobody of us wanted to code in C/C++, most of the engines felt out :-) But there are still engines left.
Our last years approach was with jME, a 3D Engine written in Java and based on lwjgl and so OpenGL. Its more of a Rendering Engine than of a Game Engine, anyways its fast. To make it short, it felt out for our new development afford for various reasons, mainly because we have to reinvent every stuff we need around the scenegraph ourself, "core"classes are not really extendeable. We dont want to spend the time on "basic" rendering stuff, the time trap, you know? I'll write more about it in a future entry.
Back to the engine list, we extended out language search criteria with python and even commercial engines were fine as long as we dont have to code in C/C++. Some time later we came up with the following:
- Python-Ogre : A Python binding for the Ogre3D Rendering Engine
- Jirr : A Java binding to the Irrlich engine, theres also Pyrr a new python binding, but we didnt have a look (yet)
- Panda3D : Full Game Engine in python with C core. You can either code in python or use it in C
- Torque Game Engine : Full Game Enigne, but commercial. Can either be coded in C or in their own scripting language TorgueScript. I you dont need to extend the core engine (you get the source code) the game can fully coded in script. The price is fair imho.
All those engines have in common that there is a fine community around them and either they support standard tools for i.e. level management or have some user based supporting tools. They are mature and exist quite a few years, so they wont probably vanish this night. The bindings are up to date, were needed.
As far as i see the Torque Game Engine is the most promising one, but got dropped out for now. With the Indie license i am only allowed to write games, which our new programm might not realy be. I am not saying here more :-) Second we had to learn a new Scripting Language and third, we didnt want to spend any money for now. Might change in the future.
We didn't choose one of the remaining three yet, but we'll continue to write about it. Stay tuned :-)