   A Bit of Beginner Advice
Hi all, I'm after a bit of beginner advice. I've wanted to make my own game for sometime now, and have flirted with learning languages and researching libraries/IDEs/etc. I've gotten a basic grasp of both Java and C++. I think I'm ready now to take the plunge and start making little games to contribute towards my desired project. Whilst researching Java I came across libgdk and lwjgl and they both seemed like they would be very helpful. However, I think I want to go the C++ route for the lower level memory stuff, I don't quite understand it all yet but it seems like it would be useful. I researched gaming libraries for C++ and discovered Allegro, SFML (simple fast media library) and SDML (simple direct media library). I like that all three are cross-platform as I use both Windows and Linux personally. The game I'd like to make would be visually quite similar to the Final Fantasy tactic's series, 2d sprites with an isometric camera. The best way to describe the gameplay would be FF Tactics but with a smaller team roster, open world (like a lot of people TES has heavily inspired me since Morrowind) and more RPG elements (like Fallout's conversation system with options based on skills/attributes, or perhaps like a heavily dumbed down Planescape: Torment) and some minor base-building (like the Assassin's Creed village/manor system). So the final product is quite ambitious, but I'd start by making little games based on individual features and reduced content first. I'm ready to go, I just need a little advice as to where to start. Does anybody have any advice about which library to pick, based on ease of use, end product efficiency and documentation. I've found a myriad of tutorials for all three, but if something goes wrong or I get something unusual, I'd prefer to try and figure it out myself through good documentation to help my learning before I try a forum/community. Or is there another library I haven't come across that suit my needs even better? tl:dr which is best for newb who needs lots of documentation for a 2d isometric game - Allegro, SFML or SDML?
Personally, after 12 years of using Allegro, I consider it to be the worse of the three. SFML and SDL are good in my opinion.;Does anybody have any advice about which library to pick, based on ease of use, end product efficiency and documentation. I've found a myriad of tutorials for all three, but if something goes wrong or I get something unusual, I'd prefer to try and figure it out myself through good documentation to help my learning before I try a forum/community. Or is there another library I haven't come across that suit my needs even better? My advice to you based on ease of use is definitely SFML. SFML is a framework which do really a lot for you! SDL is also good BUT SDL is such "low" level library it's only do the minimum to abstract from the OS but this is also in my eyes SDL's power. You as programmer would had a lot of work still to do extra. SFML done all the things SDL not yet done for you! But should you still want use SDL try out SDL2. ;I like SDL2 because it's ported to some pretty obscure systems, but I get jealous when I see SFML code, it looks so much nicer to work with.;SDL2 and SFML2 are really the only two choices. I left the Allegro community earlier this year, after 12 years like I said, and let me tell you what I know about it...yes the library is still worked on, but almost all the veteran members don't even use Allegro anymore, but rather use SDL, SFML, or have even moved away from game programming. Last time I talked to Mr. Harbour that wrote the game dev book that covers Allegro in one version said he won't touch it anymore because it is a niche library. SDL2 and SFML2 are more modern and make it easier to move from 2D game to 3D games from what I've read.  So at this point I would say to just make a simple program with SDL and SFML and see which framework you like better.;I'm actually surprised and happy to see people recommending SFML. Seems like everyone of these threads I see people just recommend SDL, which is literally using a C style library with C++. They're both very viable frameworks though, and abstract a way a lot of the redundant code you end up writing for every single game.;Great, thanks for all the info guys. I think I'm going to write Allegro off immediately. From the sounds of it SDL is the 'stanard' and SFML has lots of recommendations but is not quite so common. I'll follow the advice given above and write a very basic roguelike in each, movement in a basic structure and basic environmental interaction (open/close/bash doors and maybe a mine/dig). Cheers.;I think I'm going to write Allegro off immediately.maybe you hurry, simple example Isometric Tile engine, Isometric 2D Game Engine with real time Dynamic Lighting; on allegro.cc site you can download and test many games   ; I think I'm going to write Allegro off immediately.maybe you hurry, simple example Isometric Tile engine, Isometric 2D Game Engine with real time Dynamic Lighting; on allegro.cc site you can download and test many games I don't know about that. Allegro was great back during the DOS and Win95/98/XP days. Concepts are universal so I try to avoid too much library specific code when learning something because then I'm stuck googling for equivalent code when I'm trying to convert it from say Allegro to SDL or vice versa. Allegro is a niche library for those interested in making 2D console (terminal) games. I guess it really depends on what you are wanting to do, but keep in mind, like I said most of the guys on A.cc that help people have admitted to not using Allegro in a few years and have been using SDL/SFML. A friend, and one of the few A.cc success stories is Johan Pietz who started FreeLunchDesign.com and last I talked to him he left behind Allegro because of its restraints for making games. Lastly, it wasn't officially called a game programming library until Allegro 4 or so I believe, before that it was Allegro Multimedia Library as it was designed to do more than games.;Allegro was great back...Now this is also good game library. Someone leaves, someone comes up - development continues.   