While looking for a cross platform library for game development, I came across both SDL and Allegro. After extensive research on fora, it seems SDL it way more widely used than Allegro is. I got the impression SDL is like 'the standard library' for developing graphical applications.

Now, I was wondering why this is the case. From a purely technical perspective, Allegro supports (almost) the same platforms as SDL. Moreover some functions in Allegro seems more intuitive than the SDL counterparts. On the other hand, the support of SDL for iOS and Android is better.

My question therefore is:

What is the cause of the widespread use of SDL over Allegro? Is it only due to personal preference or are there technical reasons for this?

To put my search into context, I'm looking for a low level library preferably written in C++. My goal is to develop a game engine from the lowest level possible just for the learning experience.

  • \$\begingroup\$ It simply comes down to what meet your requirements. If both do what you need it comes down to personal preference of how each of them let you do things. You might as well use Kore if you fancy that. \$\endgroup\$ – Sidar Sep 14 '17 at 12:59
  • \$\begingroup\$ You mentioned C++… but those two are actually C. The one that is based on C++ is called SFML \$\endgroup\$ – rlam12 Oct 14 '17 at 15:20

Browse other questions tagged or ask your own question.