This isn’t my usual rant, even tho it’s titled like one. But it’s not a video and it’s more of a travelogue.
We had a local talent show so, to be different, I decided to bring a video game. Set up my laptop and put on “Rover Wars“, a personal favorite of mine. Getting someone to play to play your game really makes you realize how bad a job you did the first time in making your game playable. But I got a few kids into it and they played it the whole time. Loved it. They even had some suggestions. Together with some idea of my own for making it more playable, I decided it was time to update Rover Wars.
The problem is my poor old laptop had been reformatted and reinstalled since I made any game in Allegro. A couple of times, actually. So of course I haven’t reloaded allegro yet. Hit the allegro website and… oh wait, they’ve changed things. The old install instructions don’t work. Now I need CMake. Well, I’ve got CMake, but the instructions on the allegro wiki aren’t very clear about making Allegro work with MinGW and Code::Blocks. No problem, I’m a professional, I can handle this. Setting up CMake and building the libraries only took me a weekend, hampered somewhat because it relies specific DirectX binaries that you can only get off their website but for some reason aren’t included in the download. This seems like an odd choice, but I persist because it’ll be worth it in the end.
While CMake and mingw32-make were running I perused the SDL documentation and noticed that lazyfoo’s instructions which are super clear, super easy, broken down for whatever IDE you prefer, still work for the current version of SDL. I’ve actually already installed SDL a few months back so I could work on ASCIIpOrtal a bit and it went like butter. Way different than the trouble I’m going through now. Still, I reason, allegro is easier to use. Then again, what’s the point of being easier to use if you’re behind a wall that no one can get to?
Oh, the compile is done. I’m finally I’m able to edit my own game. But it’s late so I’ll take care of it another time.
That other time never came. A nasty bit of malware sneaked past Microsoft Security Essentials and the process of removing it somehow broke my network drivers. I was incapable of finding any wireless networks at home, work, or school. I had no choice. I have to reformat and reinstall again (poor old laptop). The good news? The reformat and reinstall worked and I have a functional, if barren, poor old laptop again. The bad news? I have decided I’m not going through that Allegro install ever again. I’m so upset I can’t even bring myself to link to them. Allegro is dead to me which is a shame because I have a number of games on the site that use it. But it is just not worth it to me.
The allegro team has made some nerdy, elitest choices lately that took their easy-for-beginners library and ruined it. I am not going back and if I want to make an edit to any of my allegro games I’m just going to have to rewrite them. I hate that that’s the case, but there it is.


November 18th, 2011 - 8:39 pm
Well, sucky or not, Allegro is liberally open source. If you do want to stick to SDL (though I personally would try Allegro again, maybe with CMake’s Code::Blocks project generator), you can dig out parts of Allegro that you found useful (or are necessary to your games) and port them to SDL.
Either way, you’ll be sure to have similar growing pains with SDL 1.3 (2.0 when released officially). To enable convenient hardware acceleration, the SDL API has to change too.
February 21st, 2012 - 12:49 am
Okay, I couldn’t really respond to this earlier, but now that I’m using Allegro 5, I can. Frankly, I really like it. It truly seems to be a well thought-out library, and it has some really neat features that save me tons of work (and let me use native dialogs if I so desire). Built-in configuration file loading, parsing, modifying, and saving will no doubt prove a highly valuable help as I continue. They may have made some odd choices, but I must say that I do like the end result.