I'm getting into game programming, I would like to create a game like trivial pursuit (in 2D) and then start working on a multiplayer top-down shooter or something like that. I have been reading and I'm taking three libraries into consideration. I have selected them from a lot of other libraries that I also checked, but even when they're just three it's difficult to make a decision: Allegro 5, SDL or SFML.
I know SFML is object oriented and Allegro 5 and SDL are not. I guess I'm just looking for personal experiences: What do you thing about Allegro 5, SDL or SFML? Thanks.
Well if he could come up with his own then he wouldn't be asking the question about Allegro/SDL/SFML. I'm partial to Allegro as I started learning Allegro back before SDL or SFML even existed. Though I've dabbled with all of them at one point. Made a semi-working Pong Clone recently after updating to Allegro 5.1.3 though I've not done much with SDL or SFML lately.
Allegro 5 is the best for beginners so i would suggest that. There is video tutorials to help you get started on youtube. I watche this one guys and they helped me, his channel is called CodingMadeEasy.
Or, if you want the easy way to do things and don't care about terrible image quality, you could simply write the game with iostream and make ASCII images
(see the post by samrux here: http://www.cplusplus.com/forum/beginner/77350/). His are admittedly the best I've ever seen, but you could use them in a pinch.
Not that it would be anywhere as cool as if you made real graphics, but...
ASCII? How is that answering his question about what we think about Allegro/SFML/SDL? :-/
I've seen a lot of users on here say to avoid Allegro and it is surprising to see Ch1156 recommend it. I've been here for a few years now and honestly don't recall any time where a member had used Allegro. Seems the forum favorites are SFML and SDL, but in all honesty I've only done a few SDL tuts from Lazyfoo and I've done only a few from the SFML tutorials on their page for 1.6 and not touched 2.0 at all. I'm really partial to Allegro despite my going back and forth on loving it and hating it, but I do need to be fair and give the other libraries a chance.
I will strongly advice not to reinvent the wheel , just learn Allegro or OpenGl for real and stand graphic has me i am using OpenGL library for games and graphic application but still a learn, it is a strong and nice library if u can understand and us it well . you can download the library at the glprogramming.com or the Opengl site or ask google and start programmig , i know how to use it will DEVC++ because i am correctly using DEV
before u start learning this make sure u can program windows GUI anyway openGL provides u with API to handle that call GLUT, but if u want large games u need to learn WINDOW GUI like me i learn GUI and still learning them dont want to rush.
If he was doing a project for a company or small team I would agree completely. This saying goes out the window if he wants to develop a library or anything else for a learning experience.
As for the OpenGL book, while I like Andre LaMothe, my trust in the writers of the books he signs his name to is less than my trust in him as I've had several of those books and found numerous errors and misquotes. Not to mention the Game Scripting Mastery only came about from the author telling LaMothe to write it and LaMothe telling him to instead. I'm willing to bed a lot of the books came around because of that.
You are still using that ancient beast? Use something that is (a) opensource, (b) still bug-checked and reissued daily, and (c) has a painless interface. Code::Blocks is a god example, but I won't shove it down your throat. Just look through the forums for people who are more than happy to do so.
I must point out that Dev-C++ has been picked up and being updated by a new guy (Orwell, think that is the name of his page). If it is Bloodshed's then yes it is ancient, otherwise Orwell just released an updated version with some fixes and such just a while back.
http://orwelldevcpp.blogspot.com/ is the new Dev-C++ releases.
As for linking, I'd really recommend Code::Blocks ( http://www.codeblocks.org/ ) and is cross platform and extremely easy to use depending on the OS you are using. Not to mention the Allegro wiki covers how to use C::B with A5 I believe, for example A5 binaries under Windows with C::B http://wiki.allegro.cc/index.php?title=Build/Using_allegro5.org_precompiled_binaries/MinGW .