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.

|improve this answer|||||

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