Choosing a game engine


fahrstuhl

Member
Joined
May 29, 2008
Messages
371
Age
34
Location
Germany
Hi,
I've been wanting to try some game development for quite some time now but couldn't find a game engine supporting and actually running / being usable on all the platforms I want (Windows, Linux, Pandora and Android).
I've been looking at:
MOAI, which I quite like, although it's more or less 2D only. As far as I remember, torpor has been rather successfully trying to get it running on the Pandora, maybe I should PM him about it.

jMonkeyEngine, which is 3D and seems to have pretty good Blender support, but is in Java. Recently I've been forgetting why this was a drawback but I somehow don't really trust Java performance wise. You can build for Android with ARM and GLES and all but I couldn't get it running on the Pandora.

Panda3D, which is 3D and Python! It's said to compile for the beagleboard but I failed to compile it for the Pandora.

BlenderGame. Also 3D, Python (kind of...) and has an Android port. I didn't understand how one could build it for the Pandora. I've tried to run it on Android for the Pandora but the app crashed instantly.

OGRE. 3D, lots of language bindings, GLES, has been running on the beagleboard.

So, which game engine should I choose?

Which did you pick for your game projects?

Do you find the ones I listed any good?

How's their secret Pandora port coming along?
 
There is Irrlicht also. can be used for 2D or 3D. There are a few games using it (SuperTuxKar, MineTest, irrlamb, choria...). It runs on the Pandora.

You can consider Allegro also.
 
What kind of game do you want to create?

2D / 3D?

Which language do you want to use?

If you just want to create a 'simple' 2D game with C/C++ using SDL without any additional engine might already be enough.

However if you want to create something in 3D using an engine might be best as doing Open GL stuff by hand can be really hard if you are not used to it ...

Did you already have a look at some of those engines created for Pandora and other Open Handhelds? (Sparrow3D, Penjin, ...)

I didn't try those yet but they look very promising.

However I'm not sure if Android and Windows are supported by those ...
 
I'd like to not use C. Maybe I just suck at it but I find myself wrestling with the language more than with the problem I want to solve. I haven't had a look at C++ yet, maybe that would change my mind. I'd love to use Python but any other language that's fit for the job and not too obscure should be fine.

I don't really have a specific game in mind, I just want to fool around. A 2D platformer, an isometric game and a guitar hero clone are some ideas I want to try. I don't think I need 3D yet, I'd just like to be able to make a 3D game later without having to learn an all new engine...

After what I've read about OpenGL, I don't think I want to use it unwrapped.

Thanks for the hints so far, I'll have a look.
 
I finished the sparrow3d documentation some days ago and furthermore I want to (re)write the tutorial the next days, so maybe you could give it a try. Although it is named sparrow3d, it has only a software 3d renderer. However since it is totally based on SDL, it should be easy to use openGL ES, if you want ignoring the internal 3d software rendering possibilities.

The other features (incomplete list) are:

  • easy main loop control, where you don't have to fetch events by yourself
  • a simplified input device, which is the same on every supported platform
  • many supported platforms like pandora, caanoo, wiz, dingux, the new gcw, etc. Of course only, if you don't use opengl ES. I don't know, how good the graphic chips of the mentioned devices are
  • Fast 2D and 3D Software Rendering like Rotation, Zooming or simple Bliting, furthermore a alpha test and some kind of pixel pattern for dithering and similar
  • Loading and drawing UTF8 Bitmap fonts out of TTF Files
  • easy handling of different languages with code independent language files
  • function for 32 Bit fixed point arithmetics. The pandora and many other devices don't have a fpu, so floating point operations are slow. Fixed point integers loose accuracy, but win speed.
  • Loading obj-meshes. Even if you use opengl es instead of the software renderer, you can use the loading mesh file.
  • platform indpendent file functions like searching in foldes (recursives), reading lines or deleting folders or files
  • a simple sprite engine with sprite text format
  • every function works with SDL_Surfaces for complete backward compatibility. You can easily mix engine and non-engine code.
  • furthermore you can use sparrowSound as extension for SDL_Mixer with some useful 
The whole engine is written in C, yes. But you can easily use it with OOP, if you want. Foxblock did that with Project4, so maybe have a look at this Project to see, how it is done. ;)

greetings, Ziz
 
Do you want a game engine or a framework? How much work do you want to do or avoid having to do? What type of game do you want to make?

Ogre and Irrlicht are just frameworks, providing a graphics interface but no logic. Same with SDL and Allegro.

There's a number of different engines with features that make generating a game easy: see Game Editor for example; just draw a map, load a sprite, give it some parameters, and you have the basic building blocks of a game.

Sounds like you don't mind getting your hands a little dirty, in which case I'd highly recommend pyGame: it's not the fastest on the Pandora, but it's fun and easy to use, and you'll be able to easily test your work on your desktop before trying it on the Pandora.
 
Back
Top