What game engine/graphics engine should I use for my first indie game? I'd like to add that this is not my first game, I've previously used Allegro for 2d development (pong, chess and stuff).

I am open to suggestions for other engines.

I was thinking about a game like "The legend of Zelda" for the NES (just to give you an idea what I was planning).

I've heard of SDL, I've used Allegro, my friends use OpenGL, what is the best for starting? (SDL seemed a bit hard, judging from their Wiki, a lot of stuff I haven't used before).

BTW, the language is C++.

  • 5
    \$\begingroup\$ Two notes about using OpenGL: 1, if you think SDL is hard then forget about using OpenGL. 2, OpenGL is not an engine, it is a graphics API that is often used in game engines. \$\endgroup\$ – jhocking Aug 16 '11 at 13:30
  • \$\begingroup\$ You need to define "best". What qualities are you looking for? blog.stackoverflow.com/2011/08/gorilla-vs-shark \$\endgroup\$ – Tetrad Aug 16 '11 at 16:01
  • 1
    \$\begingroup\$ What platform are you wanting to develop for ( iOS, Android, PC, Web )? \$\endgroup\$ – Joey Green Aug 17 '11 at 1:40

First of all, what you're looking for isn't really an engine. You're looking for a graphics API or a graphics API Wrapper to do your drawing.

I can recommend SFML. It's a C++ library that manages most of the basic things that everyone needs for you.

It features a relatively powerful graphics part which wraps around OpenGL, but also includes basic support for window-management, input (keyboard, mouse, joystick/gamepad), audio (playing sounds and music) and networking.

Since it's C++ and entirely object-oriented, it will be very simple to understand. For example, loading an image and displaying it more or less looks as simple as this (in SFML2.0):

sf::Texture texture.

sf::Sprite sprite;

//somewhere else
window.Draw(sprite /*, myAwesomeShader Optional shader argument */);

Apart from the superior code-design, it's also a lot faster than the current version of SDL and has more features (if you use the basic SDL libs).

I can really recommend it if you're using C++.

Also, if you're going to pick SFML, start with SFML2 instead of 1.6. It isn't officially released yet, but it is going to be very soon and not a lot will change in the API until then. The latest SVN snapshots of SFML are always available on the download page.


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