|
|
| Which branch of Allegro should I use? |
|
Gideon Weems
Member #3,925
October 2003
|
|
beoran
Member #12,636
March 2011
|
I'd say use the latest from the 5.1.x branch in all cases. 4.x is not actively maintained and 5.0.x gets bugfixes but lacks many useful features. Allegro 5 in general is better for the beginning C programmer because Allegro 5 demonstrates a clean yet easy to use contemporary C API. But there is no such thing as C/C++. You should choose either and stick to it. I'd recommend beginners to learn C and only C. That's already hard enough to learn by itself, never mind the mess of over 900 features that C++ adds on top of C, badly. If you're an experienced C programmer shopping around for an API I'd say, give Allegro 5 and SDL 2 a try and see which one of the two you find easiest to use. Chances are that you will find Allegro is far more convenient and featureful than it's competitor. If you're an old user of A4, A5 gives you a modern, rich API that runs on contemporary systems with hardware acceleration, something A4 doesn't offer. While it might take some adjusting to the new API, the same spirit of ease of use that breathed A4, is present in A5. Come join us in the 21st century. |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
beoran said: I'd say use the latest from the 5.1.x branch in all cases. 4.x is not actively maintained and 5.0.x gets bugfixes but lacks many useful features. I pretty much agree with this, but would like to add that the only way to get HW accelerated DOS programs is to use Allegro 4.2 and AllegroGL [Edit [1]]. In that case it makes sense to use Allegro 4 if you're specifically targeting DOS. In all other cases I would say to use the 5.1.X branch due to it's additional features over 5.0.X such as shader support. As far as the 'stable' version goes, 5.1.X is pretty stable too, and the differences are mainly API additions and not changes, so it is fairly trivial to port 5.0.X programs to 5.1.X. As well, the more 5.1.X is used, the more useful feedback we get for continuing to develop Allegro. References
My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Thomas Fjellstrom
Member #476
June 2000
|
Edgar Reynaldo said: I pretty much agree with this, but would like to add that the only way to get HW accelerated DOS programs is to use Allegro 4.2 and AllegroGL. How many DOS systems have an opengl driver available? -- |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
I thought you could get HW acceleration with AllegroGL and DOS? I'm wrong? I could swear I read that somewhere. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Thomas Fjellstrom
Member #476
June 2000
|
Edgar Reynaldo said: I thought you could get HW acceleration with AllegroGL and DOS? I'm wrong? I could swear I read that somewhere. it is theoretically possible, but I doubt its very common. Have to ask someone with more knowledge about DOS though. -- |
|
jmasterx
Member #11,410
October 2009
|
5.1.x branch for all. If you know how to use A5, then learning SDL and SFML and others is easy. And 5.1.x because it has more features and it is the most stable unstable branch I have ever seen Agui GUI API -> https://github.com/jmasterx/Agui |
|
beoran
Member #12,636
March 2011
|
I agree that Allegro 4 may be useful for people who are forced to use DOS for some reason. However, for newbies it should be made very clear: there's no point in developing for DOS anymore. Develop with Allegro 5 on a modern system. You can get all the open source software you need to do this for free. |
|
Polybios
Member #12,293
October 2010
|
|
|
Elias
Member #358
May 2000
|
Allegro had 2D HW acceleration for DOS, but only if you had a video card with the right drivers: https://github.com/liballeg/allegro5/blob/v3-9-32/src/misc/vbeaf.c -- |
|
William Labbett
Member #4,486
March 2004
|
Allegro 4, has two functions for drawing a bitmap with a mask. draw_trans_sprite() or I found it challenging to learn to use A5 but worthwhile. I'd go for A5 because it's not crude like allegro 4.
|
|
Gideon Weems
Member #3,925
October 2003
|
Thanks for the replies. Given the lack of 5.0 nominations, I kind of have to ask now: For what usage cases would you explicitly recommend 5.0? Polybios said: Should start with any version of A5 that is easy to set-up. A5.1/5.0 doesn't really matter IMHO. This is an important point for beginners. Thank you. |
|
SiegeLord
Member #7,827
October 2006
|
5.1 is typically not packaged, so if you've trouble compiling it yourself or allegro.cc doesn't provide binaries, then you might legitimately use 5.0. "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18 |
|
Neil Roy
Member #2,229
April 2002
|
1. I personally still prefer C. It's not outdated as there was a new standard in 2011. Every time I start to program with C++, I switch back to C. 2. Try them all out. Mainly SDL 2 and Allegro 5 and see which you prefer. I haven't really programmed with SDL at all, but there are many that do and like it. It's certainly well supported. I love Allegro 5 and I didn't find it took me long to get used to it. Mainly just understand it's more about events than Allegro 4, which is friendlier way to operate in modern systems. What I don't like about Allegro 5, is the lack of a GUI, which isn't too bad, I was forced to roll my own for my game and the result was much better than I would have got with a built in GUI, so perhaps this is a blessing in disguise. I also do not like how the Allegro 5 sound system is done. Grant it I can play sound effects and music okay, but if I want to adjust the volume of one sample while it plays, I have to set up quite a bit more, I understand the reasoning behind it, but for my own projects I only needed one feature for one sample, it was a lot to set up extra just to get that feature (I ended up compromising and not bothering) in Allegro 4, this was no problem at all. 3. I still like Allegro 4, even though I rarely use it anymore. In one of my few attempts to program something with Allegro and C++, I created a simple pong game. I had too many troubles programming it with Allegro 5 (I forget why now) but had no problems with Allegro 4, and seeing as how my main objective was to make SOMETHING simple with C++ and any Allegro, I used 4. It turned out rather well and I remember posting the source code on here. I still think Allegro 4 is a fine choice to use, it just depends on what you want to do with it. For most 2D games I don't see a problem with using Allegro 4. My Deluxe Pacman game (available on the Depot here) uses Allegro 4 and still gets over 2000 downloads a week (from a Portuguese site anyhow). No complaints about it running yet. I won't port it to Allegro 5, no how, no way! Heheh... I did create Deluxe Pacman 2 though with Allegro 5 from scratch and it runs fine. Did I mention I am really sick of working on Pacman type games?! Oh yes, there absolutely NEEDS to be a better solution for building Allegro 5. Perhaps supply some prebuild dependancies we can use to build Allegro itself would be nice (if that is possible), or maybe reduce the dependencies if possible. That is probably the main stumbling block for most people. Having a new version of Allegro (like 5.1.9) is fine, but useless if I can't compile it and there are no premade binaries for me. Also, the 5.1.X WIP is more stable than the 5.0.X "Stable" branch... ummm... WTF?! Is someone on crack? In short, use what you are comfortable with. But at least TRY and make a simple pong game or something with other APIs first before you decide to reject it totally. --- |
|
Thomas Fjellstrom
Member #476
June 2000
|
NiteHackr said: Also, the 5.1.X WIP is more stable than the 5.0.X "Stable" branch... ummm... WTF?! Is someone on crack? The parts of the WIP API that aren't in flux are generally as stable, or more stable than the non WIP branch. Why? Because bug fixes go into WIP first. WIP is the dev branch where fixes and new development go into. Things are then backported to non WIP. -- |
|
William Labbett
Member #4,486
March 2004
|
In case it isn't obvious : Compiling A5 is not an issue and even if it was, with the CMake way of compiling and The dll's .a files (or lib for linux), headers and docs are all provided. As far as I can see, and saying this from experience, the only things you need at the beginning of the game development process, are the monolith dlls (normal and debug), the associatted *.a files plus the allegro 5 headers and the docs which explain how to use the API. Until your game is finished, you can't be sure which *.a files to link with and individual dll's you need to include with the executable unless you have planned it very well from the outset. So, programmming with A5 in this way (monolith dll plus headers) isn't complicated at all. You can concentrate your learning efforts on how to use A5 well.
|
|
Neil Roy
Member #2,229
April 2002
|
William Labbett said: compiling it is easy Sure it is, I don't argue that. But that is very deceptive. Because tracking down and successfully compiling all the dependencies is where the headache lies. I doubt very much that you ever compiled Allegro 5 from scratch to be honest. No offence. --- |
|
Edgar Reynaldo
Major Reynaldo
May 2007
|
NiteHackr - My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
|
Neil Roy
Member #2,229
April 2002
|
Thanks, I'll check it out. --- |
|
#00JMP00
Member #14,740
November 2012
|
Though, I do not know if this topic is still alive, I continue it anyway. Quite some time ago, I started off with Java, trying to put some grafics onto the screen. Installation and coding itself worked ok, but doing grafics felt quite odd and the performance was too. Then I tried to use some advanced basic dialects. They turned out to be not free or caused bugs. With one of these languages, there where problems with scopes further nested than 3. :-((( Then I happened to come to DEV++. It was an IDE with C++ ready and setup. Furthermore, there was the possibility to download "allegro", which claimed to do multimedia stuff. Quite some time later I skipped from version 4.2 to 4.4 and it still worked fine, besides the facts, that I now use codeblocks, which works fine too. |
|
|