Sign in to follow this  
Brovar

2D brawler: SFML vs SDL vs Allegro vs ClanLib

Recommended Posts

Hiya.

Me and some of my friends are planning to create a small dev team to create a 2D side-scrolling brawler for PC. We have solid experience in c++, and are now looking to select an engine/libraries.

After looking through web i narrowed the choices to SFML, SDL, Allegro and ClanLib.

Out of those i have experience with SDL, and it seemed quite functional to me, but according to what i found, other choices might speed up the development process due to being more high-level. Also it seems that SDL is the least updated out of those.

I understand, that in the end, all of those have similar capabilites, so i'm wondering if time put into learning other engines will help with the process in the future.

Share this post


Link to post
Share on other sites
Hi Brovar.

A 2D brawler? Something like Little Fighter? ;)

I have the same problem deciding which SDK to use (the ones that you mentioned are "The Big Four"). All of them are multiplatform, all handle threading/timers (in different version though), all have similar capabilities.

The criteria that I'm using right now are
- API complicity (which one of those feels most natural for me);
- dependency complicity (how many dependencies I need to prepare before I'm able to use or build a binary of the given SDK... this is rather a Linux-specific problem);
- availability (which versions of the given SDK are available for the current platform... it's easy for Windows and OS X, but gets a bit complicated for Linux: many distros, many repositories, different update cycles, community support, etc.);

Those criteria, combined with the capabilities the current SDK supplies will give you the full image of the situation.

What I analyzed so far:
- SDL availability for the stable version is nice and there is no problem with dependency availability also; The problem's when you try to use the new SDL (2.0, currently in-dev); Still SDL is quite old and is quite slowly progressing towards version 2.0;
- Allegro has been long forgotten be people (at least it ain't as popular as it was with version 3 or 4) so repository availability in Linux distros is limited; Still I had a lot of fun with this library and the API for versions 3 and 4 felt natural for me. I hope version 5 is also as well written as it's predecesors.
- ClanLib is fairly well supported but some distros have a really old version (like 1.x old, where the current is 2.x); API doesn't seem complex and the SDK itself seems feature-packed and well maintained;
- SFML - heard about that one recently, API seems nice, but didn't check the availability yet;

Still... the availability/dependency problem goes away if you decide to write the game for a single platform (like Windows), which I highly discourage. ;)

Hope I was at least of some help. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Edited by MoroS84

Share this post


Link to post
Share on other sites
Thanks for the answer.

Yeah, in general, we're planning something like Little Fighter, although we're focusing on single player, and a unique gfx style;)

Actually we're planning windows only version at this moment, so dependency/availibility is not a problem;)

Things we're looking at are:

- documentation/tutorials/community - so in general, popularity, which helps with finding solutions to any problems that may come
- fexibility - to use only certain libraries if needed, or easily add some outside of the base engine
- complicity - as you said, although this comes to personal preference
- possibility of performing as many operations as possible on high-level, to simply save time

Share this post


Link to post
Share on other sites
I'll recommend SFML. It's extremely mature, it has a lot of other projects/libraries that work with it, and it's got a great API IMO.

You can check the link in my sig to my old blog, where I detail making a game using SFML. That might give you an idea of what SFML is like.

I used the old SDL version years ago, but I'd still recommend SFML. I've never used Allegro nor clanlib, so I have no comments on them.

Good Luck!

Share this post


Link to post
Share on other sites
I've only tried SDL, because it's easy to find tutorials on many aspects of game development. The API functions are straightforward and the documentation is explicit enough so that you can manage trying things out by yourself. It's really a matter of taste, I suggest you either try SFML and SDL and pick your favorite. If you are working with a team try hosting a two day game making marathon for each SDK and see what you guys like the most. Edited by DZee

Share this post


Link to post
Share on other sites
The defacto choice now seems to be either SDL of SFML, you say you have had experience with SDL so theres no real reason why you couldn't continue with it. You could try SFML aswell and then see which you prefer

Share this post


Link to post
Share on other sites
Once again, thanks for replies.

I'm currently trying out SFML, if it doesn't work out for some reason, i'll go back to SDL. But at this point it seems very functional, and changelog for ver 2.0 is promising.

Share this post


Link to post
Share on other sites
Unless you're going to do ragdoll physics on your characters, I don't see a need to use anything. Just code it yourself. You'll understand it better and be able to work faster in the long run.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this