Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'd like to have as little portability issues as possible but supports hardware acceleration. The main priority is on PC and having a game run on Windows, Linux and MacOS. Porting to consoles would however be great, too.

share|improve this question
You should probably clarify what kind of framework you're talking about? 3D Graphics Framework? – bummzack Jul 15 '10 at 16:31
@bummzack: actually, every kind of. also including input, audio, video,... But that's too general I guess, so yes, most of all I'm interested in 3D – Tobias Kienzler Jul 16 '10 at 8:58
I like all the answers given, but since I can't test them all right now it'd be unfair to accept one as the correct answer (which is impossible anyway...) – Tobias Kienzler Jul 22 '10 at 9:00
up vote 4 down vote accepted

I didn't see a language requirement, so I'll throw out something for the Pythonistas. There are also Pygame and Pyglet.

Pygame relies on the SDL under the covers so has some added dependencies when going cross-platform. Pygame is arguable more mature and there are tons of examples online.

Pyglet has no external dependencies and is a breeze to distribute with. Pyglet seems more pythonic and has very clean documentation.

share|improve this answer
accepted since I wanted to learn python anyway :) – Tobias Kienzler Apr 27 '11 at 10:03

I'm going to give the obvious answer here, which is Ogre3D. It's a feature rich and mature 3D graphics engine/framework, written in C++.

It runs on Windows, Linux and Mac OS X and even on iPhone and other devices. There are also wrappers for Java, .NET and Python out there (see:, so you are even free to choose your programming language to some degree.

share|improve this answer

SFML is a great framework written in C++. It currently supports Linux, OS X, and Windows. It has bindings to C, D, Ruby and Python. It's also released under zlib/png license.

In comparison to say, SDL, the only downside it has is using window input on win32, rather than DirectInput. It also is not one large library, but a group of them, which allows a more modular approach to which libraries you use :)

share|improve this answer
The SFML bindings are rather poor for some languages, though - for example, the Ruby library is at version 1.2 when the newest one is 1.6. It's also not available through RubyGems, which is a problem. – Veeti Jul 21 '10 at 20:13
@Veeti, I haven't ever used the other language bindings, and even then I've never used ruby, so I was unaware of this fact. – SAHChandler Jul 21 '10 at 21:49

libsdl is very portable and supports openGL

share|improve this answer

Panda3d is a free game engine that works in Linux, Windows and Mac OS X

share|improve this answer

Allegro will work on Windows, OS X, Linux, DOS and some others.

share|improve this answer

You may want to look into Java solutions. LWJGL is a pretty decent OpenGL binding and was used for a number of commercial games already. There's also the official OpenGL binding called JOGL however afaik it's not as mature as LWJGL. You may also want to look at Jmonkeyengine which is a Scenegraph-API/Game Engine. Obviously since it's based on Java there are very few portability issues and with a decent VM (i.e. Suns 1.6 VM) performance is more than good enough for most cases.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.