Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » If it's true, you don't believ in the afterlife.

This thread is locked; no one can reply to it. rss feed Print
If it's true, you don't believ in the afterlife.
Polybios
Member #12,293
October 2010

@Trent: That's really good news about 5.2.

but I don't have time to do everything everyone wants

Preserving the 'essence' is quite important. / One Unity is enough. ;D

@jmasterx: Agree 100%.

Trent Gamblin
Member #261
April 2000
avatar

I took a look at what I said I was going to in the other thread - building Android examples. To my surprise, it's already there. Guess I ignored it all this time. Just needed a few small modifications to get it to work on Windows host. So I'll move on to the next thing on the list. :P

Yodhe23
Member #8,726
June 2007

I still use Allegro5 to write games, I like the fact I can port a game between Android/Windows and Linux in a less than a day.

I like the fact that I could update a 50,000+ line code game from Allegro4 -> 5 in only a couple of days.

I like the fact that I could port that game from Linux to Android in less than a week.

I like the fact it is free, and made in the best spirit of doing stuff, because I remember the days when you had to pay for graphics libraries and compilers, and how difficult it was to make indie games back in the 90's.

It will be nice to see 5.2+, but for the next year or two I will still be making games with it.

www.justanotherturn.com

Erethar
Member #15,753
October 2014

jmasterx said:

Things like sprite sheet animation, events, etc should be done for you

I feel like these kinds of things belong in some sort of extension library rather than Allegro itself.
When you first get started, having too many features available can be overwhelming.

I remember spending a lot of time in XNA wondering what the hell a 'SpriteBatch' was and why I had to use it for all my drawing.

When I started using allegro, drawing things to the screen actually felt simpler -- it was just a single function and the arguments I was passing felt pretty self explanatory. As I got more experienced, I started struggling with meticulous manual ordering of draw calls and use of al_hold_bitmap_drawing. Finally I decided to write a module that would handle sorting bitmaps by a 'depth' value and batching for efficiency. About halfway through developing it, I finally went 'OH! I bet THAT's what a SpriteBatch is' (this was around a year after I had stopped using XNA).

jmasterx said:

That's sort of a problem too with having your first game programming experience with Unity. You do not understand fundamentally how to program. Unity uses very advanced OOP mechanisms and to use it effectively you should know OOP and design patterns.

Just got out of a University where most classes teach OOP as THE programming paradigm. After writing terrible, terrible OOP code in Java, C#, and C++, I finally started to program in pure, raw C. C taught me more about how to write good OOP code than any OOP language had, because for the first time, I actually understood that OOP isn't a necessity or requirement. OOP is a tool that can be extremely useful, but so easy to abuse.

I remember assignments that had me building inheritance hierarchies just for the sake of demonstrating what inheritance IS. Turns out that the best way to understand inheritance is to try working without it.

Edgar Reynaldo
Major Reynaldo
May 2007
avatar

Sirocco said:

The logical response is: A5 is dead; time to start on A6 and not F it up this time.

I'm not quite sure why you feel this way - I feel myself A5 is a definite improvement over A4 (except maybe in the sound dept, but I digress). Why do you think we need to start over? What does A5 do wrong in your opinion? I do agree that our user base is at an all time low, and we are running out of regular time developers, and both of those need to be remedied.

Do you feel A5 is still too low level? That is one of the reasons I created my Eagle library, to provide a higher level abstraction over the low level code. My library does advanced input handling and simplifies setup to the point where it is only a few simple lines now. Basic facilities like an event queue and system timer are provided. Most objects are members of an Object class that tracks all the memory allocated by any of those objects. There is a GUI engine on top of it all to go with it. Some thing I would like to include in my lib is an image atlas manager.But there doesn't seem to be much demand for a higher level library, despite allegro's low level routines.

Polybios said:

I wholeheartedly disagree with the general sentiment. Allegro is better than ever.
Problems with A5: It's late, not advertised, crucial features (shaders, Android) are marked as 'unstable', building binaries could be easier.

This means: More and more people learn to use SDL/... instead. Those will hardly ever become A5 users, even if we know it's better. Everyone learning SDL now is probably lost for Allegro.

I agree with this completely, but I want to add that there is an aura of misinformation about Allegro 5 due to its predecessor's legacy. I think we need a campaign to educate potential users about the differences between them.

But I think we need to do something to stimulate Allegro, before Allegro falls totally out of use. There are other websites out there where we could spread the word about Allegro 5, especially like GameDev.net and there must be others that you know of. I'm not a social butteerfly anymore so I'm kind of out of touch.

pkrcel
Member #14,001
February 2012

Well, I am absolutely new and can't program a game to save my life, but I KNOW that deploying allegro for Windows both with MSVC and Mingw64 is easy.

And I mean that, you only have to know some VERY basic concepts about building the damn stuff.

Might be because for work (oh so long ago) I had to jump through fiery hoops to get my code to work on embedded platforms so in comparison this feels easy, but I doubt it.

Allegro 5 is instuitive and complete, I can't do much for comparison (having dabbled only a tiny bit with SDL) but it's no doubt a VERY good lib.

The real problem to me is that there seems to be no regular devs besides Trent and SiegeLord (as per Trent's words) and so there's a definitive slowdown in release pace....this might have shrunk the community interest and thus the community itself ...in projects like this the community drive is of paramount importance.

I'd LOVE to contribute, but as a matter of fact I'd just love to BE ABLE to...I'm simply not enuff skilled, and can't dedicate myself to improve such skill.

Biggest concern out there I think should be (after the prioritires for 5.2) tidy up the Android port deployment, I guess. I don't care for it particularly but it clearly the hot topic in gaming and might attract more users, and in and of itself the mobile marketplace is a powerful showcase.

Allegro is not done, but unfortunately it surely suffers.

It is unlikely that Google shares your distaste for capitalism. - Derezo
If one had the eternity of time, one would do things later. - Johan Halmén

beoran
Member #12,636
March 2011

Allegro isn't dead until we give up on it and I'm not going to do so. Allegro is a great library that I use for my own game development and that works fantastically.

However, with my newborn son and young daughter I hardly have any time left for myself these day. I contributed to Allegro this summer and I'd love to be able to do more but as of yet I feel unable to do so. I hope it gets better but I don't know when I will get there... :p

I've been making a lot of suggestions in other threads before to promote Allegro, but they sort of went nowhere due to bike shedding. Maybe we need to give someone able and willing the role of "PR tzar" to edit the web site, logo and other promotional channels as that person thinks best.

Maybe one suggestion I'd like to make is to change the development mode of Allegro from the current way, which is appropriate for a widely used lib where stability matters the most, to a more dynamic approach. Move main development to Github, and it's pull requests and issue tracker and use that to allow more rapid development. Communicate over the forum and IRC, but abandon the mailing list since it is barely used. Make regular releases, and increase the version number once per year. There are still many features we could add, and still many bugs to be fixed, and for now I feel we need a more agile approach.

And to all who still work on Allegro: thanks and keep up the good work!

Sirocco
Member #88
April 2000
avatar

Allegro 5 on Windows has never been ignored and has always easily compiled. It was the FIRST branch of A5 to ever exist actually. If you can't compile it, look elsewhere for the blame.

Allegro 5 isn't, never will be and shouldn't be for everyone. For what it is it's actually very very good. I don't care one bit if it's not popular.

The denial in this thread is nigh legendary.

-->
Graphic file formats used to fascinate me, but now I find them rather satanic.

Trent Gamblin
Member #261
April 2000
avatar

The denial that you're not good at building a simple library?

EDIT: By the way, anybody who thinks Allegro 4 was at any time better than 5 is a complete and total NOOB.

Fishcake
Member #8,704
June 2007
avatar

I like Allegro for what it is, and especially the community. I don't think it's important for Allegro to be popular. For me, I feel that Allegro is like that odd coffee shop hidden at one corner of a town that people rarely go to. Every time you pass by, you'll see the same bunch of people hanging out. Every year. As time passes, so did those people. Some got married. Others have girlfriends. But they'll still come back to that coffee shop to meet up. And that's cool. I like that coffee shop.

Reminds me of this xkcd comic: http://xkcd.com/1305/

Or maybe I'm just too sentimental. ;D

Ultio
Member #1,336
April 2001

There's a lot of hearsay in this thread regarding the popularity of Allegro. Let me try to coax this thread back into reality...

Instead of just making conjecture, let's look at the actual download numbers:

http://sourceforge.net/projects/alleg/files/stats/timeline?dates=2000-01-01+to+2014-12-07

Other than the peak in 2002 and valley in 2003, it appears Allegro's popularity (at least based off download rate) is actually quite consistent (at least compared to itself).

Perhaps Matthew (does he still run this place?) could provide download stats for a.cc.

It may also be worth comparing this to download stats for other similar libraries.

:]

---
"It's nice knowing that someday, the software I write will just be pirated by millions of people." :-/
http://loomsoft.net | Zep's Dreamland | Allegro Newbie Tutorials

Sirocco
Member #88
April 2000
avatar

Ultio said:

Instead of just making conjecture, let's look at the actual download numbers:

Good. Exactly what this thread needs. With those numbers, and the ones I'm working on from actual developers, we'll have a (hopefully) good idea of whether anyone is actually using the lib they are downloading, because that's what actually matters.

-->
Graphic file formats used to fascinate me, but now I find them rather satanic.

Thomas Fjellstrom
Member #476
June 2000
avatar

Sirocco said:

Uh huh. You don't see where that leads, do you? People don't work on it because SDL et alia already exist and are easier to get started with. People come here, download A5, see what it has to offer, and walk away. It's time to stop ignoring that.

Are you sure you're up to date? Not sure you are.

Again, why force yourself to do something you don't enjoy doing? I don't enjoy working in windows at all, and currently have no need for it. Maybe someday, I'll work on a serious game and make sure to port it to windows. But today is not that day.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

PoVRAZOR
Member #3,083
January 2003
avatar

I like to occasionally appear, though usually it's when friends remind me Allegro is still a thing.

So a decade ago, I had a need Allegro could have filled: General purpose raster graphics library. No, not cross platform, but general purpose. Give it a chunk of memory, and here are a library of function for doing anything you could ever want (sprite wise) in that RAM. Hey maybe even some simple 3D too. I would have loved to have it as a fallback renderer, when a GPU wasn't available. I still think there's a distinct lack of a good (or any) general purpose fast raster graphics library. And heck, if there was an API variation you could feed a single triangle/quad render function too, it could be forward compatible as well. Would have been great for PC/Console/Obscure porting. Alas.

When I was a wee-lad using Allegro for my gamedev on DOS and Windows 95 machines, it was the raster graphics performance and features that made me use it. Before Allegro I was a big user of a Turbo Pascal library I think was called SPX. It was capable of rendering full-screen 2D graphics at 60 FPS on my 486 DX computer. I didn't understand what or how it was so capable (I didn't understand Assembly yet), but it was easy to make, load, and display sprite graphics. It came bundled with a tool SPXMaker, and that was my workflow (edit sprites, export, load, draw in game). It felt good.

When I eventually moved to C, Allegro filled the same niche. I paired it with a similarly useful sprite and package editor, the name of which I can't remember (I never found anyone else that heard of it or used it). I believe I had a Pentium 90, which was like infinite CPU power back then. I would dabble with other libraries and tools, but Allegro is the one that performed best (at least on my teenage budget of $0). Screw Direct X, I had DJGPP and this monster.

To me, Allegro was a complete C workflow for making, packaging, loading and displaying sprite graphics on screen fast.

Eventually I start doing Nintendo GameBoy homebrew. Lo and behold, the community has an amazing sprite and map editor freely available. My workflow stays intact (make assets, load assets, display assets). Before I know it, I'm making commercial GameBoy games.

A friend starts Ludum Dare. I champion Allegro as a viable tool for rapid development, because my workflow. Easy to make, load, and display assets. I use it for years, most of the early years of LD. It's me and my workflow.

At some point I stop using Allegro. I had worked on nearly a dozen console games, 4 of those in assembly, and I was always the tech lead (doing the low level shite nobody else wanted to). It just doesn't feel right anymore. I'm thinking of high resolutions and bit-depths, file format conversions, PNG files, and whatnot. The Paletted BMP and PCX formats just don't cut it anymore. SDL becomes my new home.

The thing I lost moving to SDL: Fast Raster Performance, and the workflow. The workflow was already gone. I think my mystery Sprite Editor was a DOS DJGPP program, and I was a "Paint Shop Pro" user now. Switching to a fullscreen DOS app really felt clumsy (though it had basic animation support, or rather, a button I could push to toggle frames). It's the mid 2000's, and nobody runs DOS apps anymore.

SDL quickly solved its inadequacies by having native OpenGL support. Suddenly I could do stuff again, faster than ever, with free scaling and rotating support. I still lacked a great workflow for making assets. I had an okay one, painting large images and inputting numbers (regions), but nothing so clean and optimal ever again.

Basically: If Allegro did something with that heritage of being a great sprite library (or even a full workflow), it would still be useful. I don't know what A5 is trying to be. Nostalgic? Newstalgic?

--
Sig's are for suckers

Dennis
Member #1,090
July 2003
avatar

Most of the reasons for me to dislike Allegro5(the library) seem to be purely cosmetic and in some cases exist due to outdated memories of problems with the API and WIP versions.

If I look at the latest docs ( http://alleg.sourceforge.net/a5docs/refman/index.html ) I get the impression that most if not everything I would need in simple games and utilities (except some barebones GUI building/running routines) is already there.

Whether the API is optimal and as easily and straightforwardly usable as in A4 is certainly debatable but ignoring cosmetics for a moment, functionality in A5 (just by looking at the docs) does in fact seem very much superior.

What I haven't tested is how much A5 is going to get in the way when I combine it with other stuff. Last time I tried to use OpenGL directly while using only a few of A5s convenience rendering functions (that was a couple of years ago) I remember A5 changing OpenGL settings behind my back (and by that I mean, the docs did not mention any changes to OpenGL rendering behaviour leading to some hard to track rendering bugs).

I think those rendering problems could be history though as I saw some functions in the A5 docs which seem to be capable of re/storing render states so it should be fairly easy now to combine A5 drawing functions with custom OpenGL code/shaders.

It appears to me as if many of the decisions in how to structure the (convoluted looking) API of Allegro5 were based on how the APIs of its dependencies were/are structured and Allegro5 trying to provide an abstraction layer over them which would in extreme cases be usable almost exactly like the API of the respective dependency (that does raise the question though as to where the benefit in using A5 lies in those use-cases, if one could instead just use the crossplatform dependencies directly).

So... it's hard to describe this potential issue, probably it is best describes as a vague "fear/uncertainty" about how much using A5 does impose/force it upon me to stay within the A5 API and use only A5 API calls to do stuff and how much it can be freely combined with more direct access to underlying systems like input/graphics/sound/filesystem/etc or whether straying away from using A5 data structures and functions everywhere is likely to break things as in causing issues with how A5 uses those underlying systems without being specific about certain state changes (as in them being undocumented)...

...so well, there is only one way to find out and that is to go ahead and use A5 in a project.

OICW
Member #4,069
November 2003
avatar

bamccaig said:

The aged design of the library combined with the fact that most of our members "grew up" and "got a life" means that we have basically nobody left in the community.

Few weeks ago there was this thread where we tried to remember people from the old days. Sure, lots of people have moved on but some are still here and are working on Allegro because it's their hobby. Nevertheless, the reason why I'm still lurking around and using Allegro library is the community.

I remember few years back when asked why I chose Allegro over SDL for my project. I answered that it's a matter of taste. I've used SDL for some school assignments because the boilerplate code was using it. It seemed reminiscent but I'm familiar with Allegro. Allegro was the first graphics library that I was introduced to so if it hadn't been this way I would have been now posting on some SDL forum probably. Thanks to this I've found a way into this wonderfull community.

Another reason why I'm still using it is the fact that I like the engineering part of game programming - getting the engine together and on top of that the gameplay mechanics. Right now I'd like to embark on creating small turn based strategy. I was thinking about Unity and then I realised that I'd get full blown game engine I'd need to learn and just use it, not to tamper with it. I like to get my hands dirty, I want to learn something. Not just to use some complicated technology of which 70% I won't even utilise. Not to mention that lots of recent Unity games sometimes suffer from occasional performance drops. I mean, I'd rather not finish the game but learn something new in the process.

Sirocco said:

The denial in this thread is nigh legendary.

:) Anyway, to sort of back up your position. Back in the days of Allegro 4 when I was still using Windows I can't remember ever trying to build Allegro because of the dependencies, instead I was using prebuilt binaries. Fast forward, nowdays I'm using Linux and Windows fills the role of a gaming console. When I was porting my projects to Windows I chose again prebuilt binaries of Allegro 5 because I couldn't be bothered with building the damn thing from sources. But I wouldn't blame Allegro for that. Thanks to the cmake the build is super easy, the hard part is setting up the development environment on Windows, setting up cmake and obtaining and building the dependencies.

Edit:

Dennis said:

What I haven't tested is how much A5 is going to get in the way when I combine it with other stuff. Last time I tried to use OpenGL directly while using only a few of A5s convenience rendering functions (that was a couple of years ago) I remember A5 changing OpenGL settings behind my back (and by that I mean, the docs did not mention any changes to OpenGL rendering behaviour leading to some hard to track rendering bugs).

As far as I can remember from my last project - procedural world generator library with demonstration application - it worked nicely. I used Allegro for loading bitmaps and converting them to OpenGL textures and then for setting up the window and handling inputs. I managed all the rendering by myself using Allegro only for rendering fonts and GUI (using Guichan). I never came across problems on this part.

-- end of edit --

Oh and by the way:

bamccaing said:

Even I have a girlfriend, for fucks sake. It's just a matter of time before Hell freezes over and the universe is sucked down a drain. :o

I thought much the same in 2012 :D congratulations, as someone mentioned, we haven't thought it would be possible 8-)

[My website][CppReference][Pixelate][Allegators worldwide][Who's online]
"Final Fantasy XIV, I feel that anything I could say will be repeating myself, so I'm just gonna express my feelings with a strangled noise from the back of my throat. Graaarghhhh..." - Yahtzee
"Uhm... this is a.cc. Did you honestly think this thread WOULDN'T be derailed and ruined?" - BAF
"You can discuss it, you can dislike it, you can disagree with it, but that's all what you can do with it"

Thomas Fjellstrom
Member #476
June 2000
avatar

If you use allegro 5's 2d stuff, it does expect to have control of the OpenGL state. The only thing you need to care about is storing current state before changing it, and return the state to how it was before using allegro drawing routines.

I posted a link to some code that I wrote for my minecraft map viewer that I wrote in C++. I save the allegro state (ie: ALLEGRO_STATE) including OpenGL stuff, set up my custom projection transform, draw with GL directly, then restore the old state, and use things like al_draw_bitmap (to show the current texture sheet for debugging), and al_draw_textf (to display current location). It works great. this is the entire contents of my main drawing (not including the direct gl stuff that uses shaders and vbos that assume they have control).

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

OICW
Member #4,069
November 2003
avatar

Tomasu: I believe I have similar code in my project as well :) the only problem I've ever ran into was trying to be smart when accessing private BITMAP data to construct OpenGL cubemap texture :)

[My website][CppReference][Pixelate][Allegators worldwide][Who's online]
"Final Fantasy XIV, I feel that anything I could say will be repeating myself, so I'm just gonna express my feelings with a strangled noise from the back of my throat. Graaarghhhh..." - Yahtzee
"Uhm... this is a.cc. Did you honestly think this thread WOULDN'T be derailed and ruined?" - BAF
"You can discuss it, you can dislike it, you can disagree with it, but that's all what you can do with it"

Polybios
Member #12,293
October 2010

PoVRAZOR said:

I don't know what A5 is trying to be. Nostalgic? Newstalgic?

Just curious: Did you ever look at / actually use A5?

Dennis said:

there is only one way to find out and that is to go ahead and use A5 in a project.

I'd call this the essence of your post. :P

About OpenGL and A5, as far as I understand it, there are three possibilities: You either leave drawing to A5 or you manage drawing yourself and use A5 only for display creation, input, image/texture loading etc. Or, when you mix the two, you save/restore state for Allegro. That seems rather logical to me.

beoran
Member #12,636
March 2011

PoVRAZOR: Allegro 5 allows you to get the psed of OpenGL for 2d games without needing to learn the complex API. But it works well in concert with opengl as well. Allegro 5 is in essence allegro for the OpenGL age. And yes we support PNG and JPEg now as well. Which goes to show that the reputation of Allegro4 as a dDOS library still haunts us. Maybe we should rename the library after all? Allegretto perhaps :p

As of the popularity of Allegro, 5000 downloads per month isn't bad, but I see a slow but undeniable downwards trend from 2011. I think the lack of recent updates may be responsible for that.

Dennis
Member #1,090
July 2003
avatar

The number of downloads per time unit are of fairly insignificant relevance in estimating the popularity of Allegro5 here since there is an undeniable and pretty obvious lack of active projects using it. Or... maybe it's just that the user base decided to develop their stuff in secret or has another community somewhere away from here where they hang out and share all their A5 related stuff but I doubt that as everyone knows, the nicest Allegro community was always here.

Trent Gamblin
Member #261
April 2000
avatar

FWIW I hear about people using Allegro 5 fairly frequently that do not visit this site.

Polybios
Member #12,293
October 2010

Truth must be that people are actually getting work done on their many amazing A5 projects instead of spamming on the forums. 8-)

Dennis
Member #1,090
July 2003
avatar

FWIW I hear about people using Allegro 5 fairly frequently that do not visit this site.

Try to convince them to come here to talk about their projects. It would bring some life to this (half)dead community and might inspire more people to give A5 a fair chance instead of simply not using it because it seems dead, unused and frowned upon in the light of more popular alternatives... well, I know you said you don't give a damn about popularity, but more users could mean more potential devs for the library as well as they find more bugs and could implement more features, so you would not have to stay grumpy over having to do everything yourself.

Sirocco
Member #88
April 2000
avatar

Cross-posting; sorta.

Quote:

I don't have proper stats (not yet), but you can get rough numbers. Here is August's event (too early for this one, we're only 24 hours in). If you scroll down a little, there's a poorly placed search box. Type a platform/tool name in there, and you'll roughly see how many people are using it. Be warned, it's just a search, so anyone mention a word will also match.

http://ludumdare.com/compo/ludum-dare-30/?action=preview

Not very scientific, but here's rough numbers using that searchbox.

2 - Allegro
4 - Emscripten (C/C++ to JavaScript+HTML)
4 - OpenFL (Haxe with Flash-like API)
11 - PyGame (Python)
16 - Unreal Engine
22 - Python
23 - SDL
27 - OpenGL
24 - Twine (text games, outputs html)
30 - Construct 2 (drag+drop gamedev, outputs HTML)
35 - Haxe (Flash-like, exports to flash, replacing flash)
36 - C++
42 - LibGDX (Java Library, popularized by Notch)
77 - Flash
141 - Java
297 - Unity (Engine with C# scripting)
357 - Web (various)
778 - HTML (various)

The site isn't really set up for that data at the moment, but I had PoV (the guy running Ludum Dare, and former Allegrite) pull some rough-ish stats. Ludum Dare is a pretty damn big phenomenon now and routinely gets upwards of 2K projects each compo. It gives you a large swath of indie and even some pro developers. Allegro isn't making much of a showing, or the developers have taken a vow of silence, etc.

There's no evidence of activity: no one coming to a.cc, hardly anyone asking questions about the lib (even on other forums), and no widely covered or hugely popular A5 projects. I think the lib gets plenty of eyeballs on it, but there are better fits out there for most people.

I'm done here. You can continue doing things the same way and continue sliding into irrelevance, or you can make a change.

-->
Graphic file formats used to fascinate me, but now I find them rather satanic.



Go to: