I don't frequent these forums very often(I mean the Allegro Development forum), but after reading A4 development/support related threads, the lack of answers (or the answers itself) makes me think that A4 is going to be abandoned(or it already was?), so is this official then? I mean is A4 abandoned?
I'm asking this because A4 became part of my 'engine' and before continuing with the development of this 'engine' perhaps I should work in the process of removing A4 and replace it whit something else.
Thanks.
It is not officially abandoned as anybody can write bug fixes for Allegro 4.4 and submit them. But all of the core developers have moved on to Allegro 5.
You could replace your A4 code with Allegro 5.
I still support A4 in my engine but honestly SDL + various sdl libraries is generally a better choice than A4. The only advantage of A4 over SDL is that A4's stretch blit is much faster than anything in SDL (although you could port the A4 stretcher to SDL I guess).
And of course if your graphical effects can be done by opengl/directx then A5 is a good choice too.
You could replace your A4 code with Allegro 5.
That would make not sense, I mean, my 'engine' uses A4 'only' for sound, input, and special file format loading routines, I'm writting the graphic core myself for OGL and D3D, so this is why A4 was useful for me.
I think replacing A4 with A5 only for the afformentioned tasks would be overkill.
How is it overkill? Allegro 4 has more unneeded functionality than Allegro 5 has.
Isn't A5 more modular than A4? It would technically make it less overkill ...
How is it overkill? Allegro 4 has more unneeded functionality than Allegro 5 has.
Yes? so you say using A5 and by-passing the graphic core with my own OGL/D3D code wouldn't be a bad idea? then, perhaps I should give it a try.
You can set the flags ALLEGRO_DIRECT3D or ALLEGRO_OPENGL to require that Allegro give you a valid context/device to work with.
Basically Allegro 5 is a super-charged glut. You get window setup, input, threads, unicode support, file system stuff, and you can use GL/D3D directly, bypassing Allegro's graphical stuff.
It's really a win/win. Especially if you pick OpenGL. You get platform independence for free.
Thomas, your marketing skills are awesome!, as much as I hate to admit it, I knew since the beginning that sooner or later I would end switching to A5
Thomas, your marketing skills are awesome!
I just really like Allegro 5. Allegro 3/4 was great in its day. It helped me learn C. I just can't stand to work on the A4 codebase anymore. I think Elias, Evert and Peter would agree.
We'll still apply patches and fixes, and occasionally new features/ports if people submit them, but for the most part its in maintenance mode.
You can't see it, but right now Edgar is crying... Don't worry my friend A4 it's going to live forever.......................... Inside a Museum of course... hohohohoh...
Don't worry your pretty little head AMCerasoli, I don't cry just because someone stops using Allegro 4. Also, Allegro 4 doesn't stop being useful just because Allegro 5 is useful now.
Furthermore, after I'm done using Allegro 4, I may decide to use the SimpleFastMultimediaLibrary instead of Allegro 5. It looks like it supports everything that Allegro 5 supports except for Direct3D, and also supports capturing audio and basic networking with FTP and HTTP. Furthermore, it's in C++ and you don't have to dick around with create and destroy functions anymore because the objects manage their own memory. So don't cry over me AMCerasoli.
it's in C++ and you don't have to dick around with create and destroy functions anymore because the objects manage their own memory
so that's what it is I'm doing!
Edgar, I was also thinking in SFML as a replacement for A4, I'm really open to suggestions now, why you (like me ) refuse to use A5? why do you think SFML would be a better alternative than A5?
By the way, SDL is not an option for license related stuffs.
I think he doesn't like A5 because you have to link more than 1 library. Using sfml will save dozens of man seconds per millenia.
I think he doesn't like A5 because you have to link more than 1 library. Using sfml will save dozens of man seconds per millenia.
Instead of being one big API, SFML rather contains a lot of small packages, that can be chosen and combined according to the intended usage. You can use only the base package to get input and windowing, as well as the full graphics package with sprites and post-effects. [1]
SFML is modular too. The biggest difference is that it's C++. If you like C++ and like SFML's design, then that's probably sufficient reason to use it.
Ok, then I have no idea. I thought Edgar was fiercly opposed to the modular design of A5.
Thanks for putting words in my mouth Trent. No, I don't like having to link ten different libraries at a time when it should be a single library. SFML is the same way though, they're modular as well.
@Paul
I never said I refuse to use Allegro 5, in fact I've been learning it along with everyone else here, and helping other people learn to use it too. But SFML has been looking like a good alternative to Allegro 5 since I started looking at it. It's something to consider after all.
@Trent
"Fiercely opposed", no. Moderately annoyed, yes. Modularity has it's benefits, but there's also no reason allegro's build system can't support a monolith build for those who appreciate it's convenience. Yes, do it yourself if you want it, blah blah. If I ever get serious about using A5 in a project, I will probably build a static monolith for personal use using ar. The main reason multiple modules bother me is because it makes it harder to work with an SVN version when there are features I want to add / bugs I want to help fix.
Edit
One thing it looks like SFML lacks though is the ability to draw onto an Image object. You can only draw on a RenderWindow and Copy from the Screen onto an Image.
Thanks for putting words in my mouth Trent.
Well, everything you said confirms, so you're welcome I guess.
I've been using "A5" svn since 4.9.0 in commercial games so I'm not sure what the problems are you're referring to.
One thing it looks like SFML lacks though is the ability to draw onto an Image object. You can only draw on a RenderWindow and Copy from the Screen onto an Image.
That's a pretty huge limitation if you ask me.
You enjoy linking 10 different libraries, good for you. Have fun. It's bothersome to have to set the same giant set of dependencies up just for simple test projects, whether it's a Code Blocks project, or a makefile, or compiling on the command line. There's no reason a monolith build can't be provided for those who wish to use it. But the Allegro developers don't care about their users, they only care about how they will use it, which is fine, it's their project, whatever.
That's a pretty huge limitation if you ask me.
Maybe, but all it really means is you have to draw everything over again each frame, and with hwaccel that doesn't mean much. With complex games you pretty much have to do a full redraw anyway. And it may be an easy enough change anyway. All you would have to do is derive Image from RenderTarget and overload the necessary functions.
Does SFML also have a monolith build? If not, it may be worse than A5.
But seriously, worrying about a couple extra libs to link is weird. What does it matter?
Because it makes compiling from the command line a major pain in the ass. With A4 all I have to remember is one library, and with A5 I have to remember 10.
If windows history worked right it wouldn't be a problem.
I make simple test programs and compile them on the command line all the time. Here, I'll type one out now and time myself.
gcc test.cpp -o test -lallegro_primitives -lallegro_image -lallegro -lallegro_main
56 seconds on an ipad. That includes fumbling between apps so more like 50 seconds. If you've never used an ipad, then I'll tell you that's more like 10 seconds on a keyboard will all the keys visible at the same time. But whatever, you're too lazy to type out a short command and would rather use Allegro 4. It's your choice.
ROBOT FIGHT!!!!
I just copy/paste the complete list. I have no real-world reason not to.
But the Allegro developers don't care about their users, they only care about how they will use it, which is fine, it's their project, whatever.
I've spent the majority of my allegro time assembling the pieces into a different API - one that is designed to be as maximally easy to use as possible. I definitely understand that Allegro is not built to be easy to use.
But whatever, you're too lazy to type out a short command and would rather use Allegro 4. It's your choice.
Don't call me lazy when you're the one who's unwilling to provide a useful convenient feature for the users of your library. You are one of the main developers after all.
Yes, for the time being I'm happy with Allegro 4. I've built a large library of code around it, and abandoning it all to use Allegro 5 now seems like it would have been a giant waste of time. When the library is finished, I may consider porting it to A5, or SFML, or whatever else works the best for me.
Don't call me lazy when you're the one who's unwilling to provide a useful convenient feature for the users of your library. You are one of the main developers after all.
You're calling me lazy for not writing a feature I have no use of for you in my spare time for free . Fair enough, I am lazy, but not for that reason.
"Either help out or stop whining" - Evert
Don't call me lazy when you're the one who's unwilling to provide a useful convenient feature for the users of your library.
Don't pluralize unless you find someone other than yourself. Or did I misread the thread?
"Either help out or stop whining" - Evert
Pretty much.
Also, doesn't Allegro have a monolith build? I'm pretty sure I'm linking to it ...
I'll whine as much as I like thanks, especially when some hypocrite calls me lazy for not appreciating the subtle pleasure of doing extra unnecessary work when you shouldn't have to.
Don't pluralize unless you find someone other than yourself. Or did I misread the thread?
Like I'm the only person who would appreciate a simpler way to build allegro projects.
Also, doesn't Allegro have a monolith build? I'm pretty sure I'm linking to it ...
The binaries have one yes, and they are named differently than the libraries you get when you build them yourself. Even more library names to keep straight.
Whatever. You guys like things to be complicated, good for you.
"Keep it simple stupid."
The world doesn't owe you anything man. The only zen you'll find at the top of a mountain is the zen you bring along yourself. Substitute zen as necessary.
Like I'm the only person who would appreciate a simpler way to build allegro projects.
Firstly, I do, that's why I use the monolith. Secondly, there are also people who don't want their programs bloated by unnecessary crap ... which WAS a fairly common complaint IIRC. They're giving the community what the community asked for. Problem? /trollface
Personally, after all the issues I get making different libraries cooperate when making iPad games and watching other programmers spend days trading emails with tech support departments trying to get different technologies syncing up, remembering the name of a library (or really, just looking it up online in ten seconds, which I'm honestly likely to do regardless) is the least of my concerns. Sure, it's less work, technically speaking. And maybe I'll nerdrage the next time I see a i++ used where an ++i should have been. Oh, wait. Any decent programmer will have bigger concerns.
{"name":"604483","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/c\/ac729eb7e283b4fd6bc64e1dbe96ec54.gif","w":360,"h":390,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/c\/ac729eb7e283b4fd6bc64e1dbe96ec54"}
The world doesn't owe you anything man. The only zen you'll find at the top of a mountain is the zen you bring along yourself. Substitute zen as necessary.
When did I say the world owed me anything? It probably does though, since I've helped out more than my fair share of inexperienced programmers here, without any consideration of what I would get in return. I've helped fix bugs in Allegro and the build system as well.
What do I get when I say I wouldn't mind something simpler? I get called a whiner, and lazy. I don't have enough experience with cmake to fix it myself, and their documentation sucks, so I don't really feel like spending time learning something I may never use again.
Firstly, I do, that's why I use the monolith. Secondly, there are also people who don't want their programs bloated by unnecessary crap ... which WAS a fairly common complaint IIRC. They're giving the community what the community asked for. Problem? /trollface
And if someone didn't have the bright idea to make their own build scripts to build that binary for you, then you might be arguing for a monolith build to be added to the regular build system as well. That doesn't bloat anyone's executable, no one is forced to use the monolith if they don't want to. I am part of the community right? I deserve credit for that much at least given all the people I have helped here. So if they're so concerned about the community, then why am I being singled out as a whiner when all I said was that I would appreciate a simpler way to build allegro programs? You have a problem with that? /slays troll
I hacked up an allegro_all.pc.in file that just links in all the addons, regardless of whether they exist or not. In fact I don't have physfs installed so it fails for me, but Edgar might like it.
$ pkg-config allegro_all-5.1 --cflags --libs -I/usr/local/include -L/usr/local/lib -lallegro -lallegro_acodec -lallegro_audio -lallegro_color -lallegro_dialog -lallegro_font -lallegro_image -lallegro_main -lallegro_memfile -lallegro_physfs -lallegro_primitives -lallegro_ttf $ g++ x.cpp `pkg-config allegro_all-5.1 --cflags --libs` /usr/bin/ld: cannot find -lallegro_physfs collect2: ld returned 1 exit status
Anyway here is the patch:
Index: CMakeLists.txt =================================================================== --- CMakeLists.txt (revision 14847) +++ CMakeLists.txt (working copy) @@ -875,6 +875,7 @@ allegro_physfs allegro_primitives allegro_ttf + allegro_all )
And allegro_all.pc.in
prefix=@prefix@ exec_prefix=${prefix} libdir=@libdir@ includedir=@includedir@ version=@ALLEGRO_VERSION@ soversion=@ALLEGRO_SOVERSION@ suffix=@lib_type@@lib_linkage@ Name: allegro Description: Allegro game programming library with all addons Version: ${version} Libs: -L${libdir} -lallegro${suffix} -lallegro_acodec${suffix} -lallegro_audio${suffix} -lallegro_color${suffix} -lallegro_dialog${suffix} -lallegro_font${suffix} -lallegro_image${suffix} -lallegro_main${suffix} -lallegro_memfile${suffix} -lallegro_physfs${suffix} -lallegro_primitives${suffix} -lallegro_ttf${suffix} Libs.private: @link_with@ Cflags: -I${includedir}
It probably does though, since I've helped out more than my fair share of inexperienced programmers here, without any consideration of what I would get in return.
It doesn't. You do what you want to do. Nobody agreed to owe you anything for your help. Many others here help also and don't expect anything in return. That's the best gift: one given with no expectation of anything in return. If you're only here helping because you want something in return (like people to write code for you), then you've got a misconstrued view of how the world works.
Now I could give you a great gift and write this cmake to build a monolith, but 1) I'm busy 2) I'm spread thin on charity and 3) I don't like the idea in the first place. #3 is more about sanctity of the library than personal problems with the idea.
When did I say the world owed me anything? It probably does though
Aaaaand wham.
So if they're so concerned about the community, then why am I being singled out as a whiner when all I said was that I would appreciate a simpler way to build allegro programs?
Because you've singled yourself out. If there was demand, they'd do it. You're part of the community, but you're also only one person, and they can't make everyone happy. If nothing else, you're outvoted in this thread. And yes, saying "you deserve credit" sounds whiny. Nobody likes an attitude of entitlement. If you want it, you do it. Or maybe try to drum up support or something. I've helped tons of people on this board; I don't recall ever pounding my foot and demanding someone put in a feature I want.
Anyway, did what kazzmir post help you out? We can stop hearing about this?
I think it's wrong to discourage Edgar for his suggestion. It's perfectly valid, and I'm of the mind that a single library is preferable to smaller component libraries. That was the case with A4, and in my opinion that simplicity is missed.
The biggest concern I have with Allegro is the complexity. And I think that as a community we should begin to take that seriously, like a web designer considers the usability of a website.
It doesn't. You do what you want to do. Nobody agreed to owe you anything for your help. Many others here help also and don't expect anything in return. That's the best gift: one given with no expectation of anything in return. If you're only here helping because you want something in return (like people to write code for you), then you've got a misconstrued view of how the world works.
The least I could get in return is at least consideration of my opinion. But apparently that's too much to ask. You disagree with me, fine, but I'm not the only person that would benefit from an allegro monolith build and you know it.
Now I could give you a great gift and write this cmake to build a monolith, but 1) I'm busy 2) I'm spread thin on charity and 3) I don't like the idea in the first place. #3 is more about sanctity of the library than personal problems with the idea.
Okay, fine you can't do it, that doesn't bother me. What you can do is stop treating me like an imbecile just because you don't agree with me. As far as 3) goes, it wouldn't affect the integrity of the library one bit. People could still link individual libraries if they wanted to, and they could also use the added convenience of a monolith build when they wanted one.
Because you've singled yourself out. If there was demand, they'd do it.
I didn't single myself out, I didn't even bring this up, Trent did, and then you jumped on his bandwagon. The majority of people who use the binaries just because it has a monolith build is a clear indication that there is demand for a monolith build. If it wasn't for Michal Cichon, they'd all be complaining about it too.
And yes, saying "you deserve credit" sounds whiny. Nobody likes an attitude of entitlement. If you want it, you do it. Or maybe try to drum up support or something. I've helped tons of people on this board; I don't recall ever pounding my foot and demanding someone put in a feature I want.
I never made any demands. Maybe you think suggestions for useful features are somehow demanding, and if you do, you're full of crap. I do deserve acknowledment of my contributions to this community, and that's not whining. All I ask for is a little respect when I have suggestions. I never pounded my foot and I'm not having a tantrum about this either. I wasn't even the one who brought it up!
Somehow, you must be of the opinion that no one should make any suggestions, because everybody should automatically be satisfied with what is being done. I don't agree.
It now appears that I'm not the only one here who finds increasing the simplicity of using the allegro library is a good thing, so thanks for your support.
Repeat Nerd fight!
but Edgar might like it.
I don't think he likes Linux.
I think it's wrong to discourage Edgar for his suggestion.
How is "do it yourself" discouraging him? That is encouraging him to do something about it.
I don't think anybody is against a static, monolithic library being supported by the build system. There is, however, some reservation against building DLLs that are not compatible.
Regarding the binaries on a.cc... They are guaranteed to be compatible by virtue of a single person making them with everything enabled. So that avoids the core problem that some people have.
And their existence also lessens the need for it being officially supported. The same people who hate multiple libraries are almost entirely the same people who would never compile Allegro anyway.
The biggest concern I have with Allegro is the complexity.
Complexity of what? If you mean the documentation is unclear, then clear it up. There's a big advantage to a third person writing documentation: no prior-knowledge assumptions are made. Updating documentation is as simple as using Notepad and "svn diff" or "svn commit".
If you mean Allegro's design itself is too complex, then, well, the only solution now would be to use a different library or write a high level wrapper.
There's advantages to different styles of APIs and there's no point in trying to be everything to everybody, when people can choose other libraries that fit their personalities.
So Edgar, who should improve the build system? Name the person. You say "developers," but surely you have somebody in mind. Otherwise, "developers" might as well mean you or Steve Jobs. I don't know how CMake works, so cross me off the list.
The problem that people have is perpetual complaining about the same topic. Nobody has forgotten that you dislike modular designs. Also, personal attacks against these "developers" are in poor taste. And if somebody trolls you over disliking modular systems, then learn to have thicker skin and just hold your tongue...
I didn't single myself out, I didn't even bring this up, Trent did, and then you jumped on his bandwagon.
If that's how you see it, fine. You still sound whiny, and your first post in the thread sounds downright condescending (how was ANY of it relevant? Just sounds like a hatefest). Yeah, you can make suggestions. Everyone makes suggestions. Some do it with more maturity than others, I suppose.
How is "do it yourself" discouraging him? That is encouraging him to do something about it.
My thoughts exactly.
It now appears that I'm not the only one here who finds increasing the simplicity of using the allegro library is a good thing, so thanks for your support.
Go ahead and increase it. As I said above, it's such a trivial increase in simplicity that efforts by others would be better spend improving the simplicity in areas that will affect work far more often. I link the library once a project. I find it hilarious that this is considered some sort of complex workflow bottleneck. For all the libraries I use at work and at home, Allegro is already one of the simplest to get working.
Who should improve the build system? Someone who has experience with cmake and likely the person who created the cmake build system in the first place, whoever that was. They would be the person best suited to integrating a monolith build.
I don't see what you are saying about compatiblity issues with dlls. How are any of the dlls made in the binary distribution compatible with a program linked using a different compiler and version? If they are compatible, why wouldn't the ones built from scratch be compatible as well? And how is this an issue when no one recommends installing dlls to system folders anymore?
I'm hardly perpetually complaining about this. It has been discussed once before, and this time it wasn't even brought up by me, but as a crude off hand insult by Trent meant to portray me as lazy. I'm not lazy, and I don't mind putting work into useful projects, but I'm far from the ideal person for this job. You don't ask a roofer to do your plumbing do you?
The only personal attack I made was in direct response to one made on me. Don't think I'll shy away from a fight, because I won't and I don't. And it's been long standing knowledge that if you want anything done here you have to do it yourself, so I don't think that really qualifies as a personal attack.
Also, as I said before, I don't mind modular designs. They have their benefits. But there are also benefits to monolithic designs, and they are not mutually exclusive.
Ok, here's my attempt at explaining what I think Allegro should strive to be.
I see as the best solution to the "problem" of game programming a set of independant modules that all serve a fairly narrow purpose. Right now this isn't entirely the case. I'd like to see even more modularization, with input, graphics, file io etc all as separate modules. That may never happen.
In my vision each module would be like what I consider a clean and elegant design. The closest thing to this I think is opengl. And not opengl as in the desktop monstrosity with mixed pipelines and all of that, but something like Opengl es 2 (or opengl 3?). Very few functions in the library but a ton of power in the ones that you have.
This is why I often argue fro. the standpoint of "does it allow for maximum 'output to input ratio'" instead of "does it make things easier to use. But this I mean, if one low level function can be added that works with some of the other low level functions to provide many possible use cases, that's better than adding 5 high lvel functions that don't work together and just do something that could be done with a few calls to the lower level functions.
I realize there is a line somewhere that must be drawn or we have an assembly language versus visual basic war going on. I like the unix philospophy of do one thing and do it well as a guideline of where to draw the line. Which brings us to the monolith vs modules debate.
My gut tells me that Allegro's job is to enable users to do anything and everything possible with their games. It doesn't tell me to "sugar coat" it if you will and the reason is because then where do we stop? Thinking in terms of enabling things to be done, it's easy to see where we should draw the line. Thinking in terms of ease of use doesn't. Everyone and their games and coding styles are different. This will just lead us down the path toward having a twisted hybrid of game enabling library and half baked game engine.
Well this is a pretty big rant for such a small debate but IMO our job is done if we've enabled you (one point I forgot to mention is that one of the main purposes of this enabling technology is to make things cross platform) to make the game exactly how you've envisioned it in your head. And I think it's the game engine designers job to take the enabling technology and make it into something beatiful and easy to use.
Just my 2 cents though.
You don't ask a roofer to do your plumbing do you?
I don't ask my plumber to fix my leaky pipes for free because I gave my neighbor some free advice about how to build a tree house.
No single person created the cmake system. It was a group effort over time. It's likely at the place now that nobody knows exactly how it works. The best way to get something like this done is to take command, gather a group of volunteers to update the system, and go for it.
For example:
I want to add monolithic support to the cmake build system. Can somebody point me in the right direction in how I would accomplish that? Does anybody want to help me out?
You may find that people are quite "eager" to offer suggestions and insight, but that they don't really want to spend their Saturday afternoons working on crap they don't care about.
Complexity of what?
I'm referring to the complexity in general. Docs, Libs, API, etc. Allegro is the low-level library, the docs are low-level, etc. There's nothing wrong with this, but it makes Allegro itself very unapproachable. Trent's response is ideal as explaining Allegro as a "does it allow for maximum 'output to input ratio'" library.
I don't encourage that we go so far as to expand Allegro in the direction as if it were to become a game engine (like trent said). That's the wrong direction. I'm arguing that there are things we can consider that make Allegro more usable.
If you mean Allegro's design itself is too complex, then, well, the only solution now would be to use a different library or write a high level wrapper.
Yes. As far as I gather, I'm not suggesting a change in the existing structure. A great example is cURL. Allegro 5 is thorough in the same way cURL is thorough, but cURL also has The Easy interface with functions like curl_easy_init(), curl_easy_cleanup(), curl_easy_perform(). Features like this should be considered.
Simplification of the documentation (like the third-party example you gave) is another good example. Cichon's builds and the builds on a.cc are also immensely helpful. An "OpenLayer for Allegro 5" would be nice . I can't say much for the build system itself (I have no idea how it works, I just download the binaries), but it's also an area that seems to be reducible in complexity.
In all, I'm not suggesting that we restructure anything. I'm recommending that 1) usability should become a stronger part of the Allegro mythos and 2) a more dominant perspective we take when addressing problems - now that Allegro 5 has reached the mature state that it has.
[edit]
How is "do it yourself" discouraging him?
"Do it yourself" is not conducive to a discussion about improving usability.
I haven't even bothered with trying to install A5, apart from a brief half an hour attempt many moons ago.
When someone who has been using computers for more the 25years finds it a "pain in the butt" to install and set-up (without the hindsight of "knowing how it is done"), then to be honest from my perspective "you have a design and implementation problem".
Of course I suspect in the intervening time things have probably improved, but that first experience left me with a bad impression of A5 as a package. Though I am suspect as a programming library, it probably meets most of its expectations.
In my experience, developers seem to find it hard to "empathise" with the users experience.
"What do you mean you can't use emacs. Fucking moron!"
Anyway this thread doesn't encourage me to try and install and learn A5 anytime in the immediate future, as I would rather be programming and making games, than wasting time installing a package.
Disclaimer: None of the "yous" in this post are directed to any particular person.
usability should become a stronger part of the Allegro mythos
Again, nobody would seriously disagree with that. What people don't agree with is being told what to do with the time they volunteer. Same response I gave to Edgar: head up a usability project. Things don't get done because you have a good idea.
Regarding documentation, good programmers are not necessarily good technical writers. And does somebody with good technical writing skills really want to do the boring task of writing documentation. For what gain? So somebody else can use the library with a little more ease? No thank you, I'd rather sleep in.
That's the fundamental problem here. We need a bunch of communists who believe in laboring for the good of somebody else with nothing in return. Or else we need to turn Allegro into a commercial product with commercial support.
Sample case: I wrote the documentation for the menu system I built. Since I'm the one who took the time to add that functionality, I'm the person who gets to design the interface. So naturally it works like I want it to.
Then I have the chore of writing the minimal amount of documentation needed so that the patch will be accepted. Now, I tried to do a decent job of explaining how to use it, but I'm not going to bust my butt over it just because you want a nice document.
And the OS X implementation is left undone because I don't have a system to work on and I don't have any experience with OS X. However, I don't expect that somebody else should just drop what they are doing and write it just because somebody should, and after all, I put in the time, so somebody else needs to put in equal time.
And am I somehow lazy or selfish because I took the time to implement something but didn't provide an OS X port or documentation to your satisfaction? If so, isn't the laziest and most selfish person the person who does nothing at all?
In terms of the "your time for my time" concept ... well, the core developers are so far ahead of the score, you'd have to really have to spend a lot of time (or money) to catch up...
And if you agree with the idea that whoever can do it the quickest should be the one to do it... well, why don't you just start writing all the newbies' code for them? It would be quicker, for any particular instance, for you to just do what they want, instead of them learning how to do what they want to do.
But it seems silly that I should have to explain any of this to anybody. Surely everybody here grasps the concept that nobody owes anybody anything, and if you want something that nobody else wants to implement, either do it yourself or pay somebody to do it.
If so, isn't the laziest and most selfish person the person who does nothing at all?
However, people frequently jump to the assumption that a suggestion for a change is a selfish request to "fit my needs or waahhhh." More often than not it's just voicing a concern that may not have been addressed or needs support.
Sometimes it's not. In that case the person should be smacked, but even then it doesn't mean their concerns should be dismissed, just their method. Participating in the discussion is doing something, and sometimes it's the most a person can do. But yes, it's the doers who ultimately get to decide what to do.
In short, talk is cheap. When it comes to an open source library, one person doing is more valuable than ten people talking. Most talk is simply conflicting opinions over things that have no "right" answer. i.e., Noise.
In reality, unless you are pointing out a specific bug/typo/mistake or suggesting some novel concept, you are probably not being helpful.
"Allegro needs a network addon."
"Allegro needs a GUI addon."
"Allegro needs audio / video recording functions."
"Allegro needs better documentation."
Thanks for pointing that out! You are a super genius! I'm so glad you thought of that! We totally forgot about that. I'll get right on it!
Often such requests are innocent, but when the person gets all bent out of shape when he's told that nobody wants to do it, then that's when it becomes a problem.
What the Fuck!, I should have never made that "joke".
Damn Trent, you don't think it twice when you have to make a bad reply, I have see with Thomas and now with Edgar... What's your problem, even if you don't want it to do it, you could be more political, and say something like "I'm taking note" or I don't know "We will discuses it in the future". When I also put the problem with fonts you just get mad too, "that is not going to happen" I won't forget that phrase.
If you don't have the time, if you aren't motivated or anything just say it, but not pretend that everybody opinions or suggestions are bad.
It seems like you own this library, and if others want to use it, it's fine, but don't make suggestion because until I need the features for my own projects nothing is going to happen.
I know we could do thing for ourself for that reason this is a free library but damn, take it easy, I bet if someone see ones of the Allegro developers agree with a monolith version, you'll see candidates to make it. But you can't say I don't like that shit, but if you want to do it go ahead this is a free library I don't have the time... That would unmotivate anybody...
Things don't get done because you have a good idea.Regarding documentation, good programmers are not necessarily good technical writers.
Things don't get done because you have a good idea, that's true, but it may with a good answer from the main developers don't you think?.
Why to be so rude with people we're talking almost all days?.
Damn Trent, you don't think it twice when you have to make a bad reply, I have see with Thomas and now with Edgar...
Well, anyone who mentions C++ or SFML in the Allegro Development forum deserves to be called a troll
Anyway, didn't read all of the thread, just had to post here so my signature appears
@Trent and other developers:
Thank you very much for creating a great library in your spare time!
By the way, I do think the documentation is quite good, as are the examples. Plus, you can always refer to the sources if something might still be unclear.
While I think that considering reasonable, polite feedback from users is not a bad thing, I do think that the "totally unendurable labour" of linking some more files is no reason to redesign.
Personally, I find A5 extremely well designed. In the scale 0 to 100, A5 gets a 95. The documentation is excellent, the API is excellent...so, thank you A5 developers for giving us such a great API.
I don't see how the build system is a problem, since monolithic libraries are available anyway.
Because it makes compiling from the command line a major pain in the ass. With A4 all I have to remember is one library, and with A5 I have to remember 10.
SFML is modular too. So I don't think that'll be an option for you.
Also Allegro 4 is NOT a single library. The png, ogg, OpenAL and OpenGL support are all in separate libraries, the same as Allegro 5. And Allegro 4 doesn't even have D3D support.
"Keep it simple"?
Allegro 5 is keeping it simple, it is still a low level library right?
Using a shovel, axe and wheelbarrow is keeping it simple. Making a big machine would make the end users experience of digging holes easier, but it's not keeping it simple.
I just can't stand to work on the A4 codebase anymore. I think Elias, Evert and Peter would agree.
Hell yes.
I'll go a step further: I prefer upgrading my projects to A5 to continuing to use A4. Not saying I didn't have a great deal of fun with A4 back in the day, and likewise not saying that I'm so at home with A5's API that I don't have the documentation and examples open in the background when I'm writing my game, but when I look at the end result the organisation of the code and the flow of the program is just much cleaner.
I think a large part of that is the event system.
And the OS X implementation is left undone because I don't have a system to work on and I don't have any experience with OS X. However, I don't expect that somebody else should just drop what they are doing and write it just because somebody should, and after all, I put in the time, so somebody else needs to put in equal time.
And am I somehow lazy or selfish because I took the time to implement something but didn't provide an OS X port or documentation to your satisfaction?
To add on to that, we did discuss on the mailing list what would be required for the OS X implementation and how it could be done. That should be enough for me (or anyone else, really) to get it to work, if and when I/someone gets round to doing it.
The documentation is excellent
Thanks for saying so, I don't personally know that I really agree. I think the documentation is passable but could be a lot better.
Of course, I don't actually have time to do much about it so I don't complain too much.
One thing I wish was a feature is a way to load a sample, and wait until it is done playing, or at least wait for an event. I had the same issue with A4 as well. Something to put on 5.1's back burner for now.
I could swear there was supposed to be an event to tell when a sample/stream was finished. Looks like no though.
Yea, only thing I found was a stream needed it's buffer to be filled so it can play smoothly.
I could swear there was supposed to be an event to tell when a sample/stream was finished. Looks like no though.
For streams created with al_load_audio_stream there is ALLEGRO_EVENT_AUDIO_STREAM_FINISHED.
Thing is, does the event get triggered when the buffer needs to be filled (meaning for a long enough file, it can be triggered almost 100 times, if not more) or is it just once?
Well, anyone who mentions C++ or SFML in the Allegro Development forum deserves to be called a troll
Maybe the developers should take that as a hint that there is more than one way to do the same thing and if people get tired of developers who don't give a shit about their users then maybe they'll start looking somewhere else. For quite some time now, the Allegro Development forum has been a place where most concerns are ignored or brushed off. If you all feel offended by people considering using a different library due to the major lack of consideration for user issues then I feel sorry for you.
I don't think he meant it seriously, Edgar.
I took it more as a light-hearted "sacrilege!! " joke.
Maybe the developers should take that as a hint that there is more than one way to do the same thing and if people get tired of developers who don't give a shit about their users then maybe they'll start looking somewhere else. For quite some time now, the Allegro Development forum has been a place where most concerns are ignored or brushed off. If you all feel offended by people considering using a different library due to the major lack of consideration for user issues then I feel sorry for you.
Wait, wait, you're pluralizing again ...
Maybe the developers should take that as a hint that there is more than one way to do the same thing and if I get tired of developers who don't give a shit about me then maybe I'll start looking somewhere else. For quite some time now, the Allegro Development forum has been a place where my concerns are ignored or brushed off. If you all feel offended by me considering using a different library due to the major lack of consideration for my issues then I feel sorry for you.
Edited for accuracy. Not to sound like a broken record, but features flow from demand. If there's no feature, chances are there's not much demand. To pretend otherwise is highly dishonest.
Wait, wait, you're pluralizing again ...
Really?
http://www.allegro.cc/forums/thread/607851 0 replies
http://www.allegro.cc/forums/thread/607728 0 replies
http://www.allegro.cc/forums/thread/607518 0 replies
http://www.allegro.cc/forums/thread/607523 0 replies
That's just in the last two months. It really takes that much effort to say "we don't have time for this", or "that's not a priority", or "if you want it fixed do it yourself"?
Thomas Harte gave up on Allegro and switched to SDL for pretty much the same reasons I'm considering using something else, and losing him was a bad loss to the Allegro community. Now consider all the people who have left Allegro silently because their issues weren't addressed or even considered, and you have 'plural' amounts of people with the same considerations.
Edited for accuracy. Not to sound like a broken record, but features flow from demand. If there's no feature, chances are there's not much demand. To pretend otherwise is highly dishonest.
The more accurate statement there is if there's no feature it's because the devs didn't want it themselves, not necessarily because there's no demand for it. Get your head out of the sand.
I vote for changing the license to zlib with no Edgar Reynaldo exception. He obviously doesn't appreciate the hard work some people put into Allegro. And he hurt my feelings .
That's just in the last two months. It really takes that much effort to say "we don't have time for this", or "that's not a priority", or "if you want it fixed do it yourself"?
What does this have to do with you be alone in your request for this thing? Besides, the devs are not tech support. Some questions go unanswered. This is still one of the liveliest forums for a given programming library that I know of, with the exception of Microsoft's stuff. Don't see your point here.
REVISION: All of those people also appear to be singular in their requests, if that's what they are. If 90% of the user base saw value in a feature, it would be in there. Either because a current developer did it, or someone who wanted it enough to man up did it.
The more accurate statement there is if there's no feature it's because the devs didn't want it themselves, not necessarily because there's no demand for it.
If the devs wanted a feature for themselves, I imagine they'd code it ... for themselves. I have a whole ton of classes and code for features and helper functions to extend Allegro or make it more to my liking. I don't submit it for use in the main library. Why would they? Maybe they just feel this is the best design given the options? Did that ever occur to you, especially when some of those reasons seem to have already been given?
Get your head out of the sand.
Your head is in something too; might want to get it out before it smells ...
Edgar, you never cease to make me chuckle. And I'm suffering from acute tonsillitis at the moment, so that's much appreciated.
Edgar, you mentioned somewhere in this thread that you've contributed to the Allegro library. Guess what? That makes you an Allegro developer! There's no membership. There's no club card. There's just people submitting code.
So I am very ashamed and disappointed that you, as one of the developers, did not take the time to respond to any of those posts you linked. You are letting your users down.
I vote for changing the license to zlib with no Edgar Reynaldo exception. He obviously doesn't appreciate the hard work some people put into Allegro. And he hurt my feelings
I hurt your feelings? You're the one who singled me out as a lazy whiner when I never even brought up a monolith build in the first place. And is it really that untrue that many peoples concerns in the Allegro Development forum go unnoticed?
What does this have to do with you be alone in your request for this thing?
I didn't even request it here! All it ever was was a suggestion to make things easier anyway. It's amazing how much people will have a hissy fit over something as small and innocent as a suggestion.
If the devs wanted a feature for themselves, I imagine they'd code it ... for themselves.
Thank you Captain Obvious! That's what I said anyway.
Does it really make sense to completely ignore and alienate your users? If no one uses your library, then all the time you put into writing it was for nothing.
I have a whole ton of classes and code for features and helper functions to extend Allegro or make it more to my liking. I don't submit it for use in the main library.
Why not submit it if it really is that useful?
Your head is in something too; might want to get it out before it smells ...
Check again. You were looking in a mirror and confused me for yourself. I didn't even bring this shit up! I never made any demands, all I ever did was defend my opinion, but you have to go and have a hissy sissy fit over it.
@Matthew
I'd hardly consider myself an Allegro developer. I'm a contributor sure, but I don't have write access to the repo and everything I submit has to be accepted first. If it was to do with A5, no I didn't reply to it, because I don't have time to work on my projects, tweak A4, and familiarize myself with the A5 codebase at the same time. My understanding of the A4 system is basic at best so I can't help everyone who needs it, but I usually do if I can.
Peter Wang was right!
{"name":"604486","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/a\/6a563431284eb8365a5a835e8158b1d7.gif","w":313,"h":274,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/a\/6a563431284eb8365a5a835e8158b1d7"}
I didn't even request it here!
Who said you did?
Does it really make sense to completely ignore and alienate your users? If no one uses your library, then all the time you put into writing it was for nothing.
Stop pluralizing; it's dishonest. And some users will always go unsatisfied, partly because you can't please everyone, partly because some ideas are either dumb or not worth the effort/tradeoff and partly because some things are higher priority. The nature of software development.
Why not submit it if it really is that useful?
Because it goes against the spirit of the library, or is only useful to me because I designed it for myself.
I never made any demands, all I ever did was defend my opinion, but you have to go and have a hissy sissy fit over it.
I honestly don't even have a dog in this fight; the time it's taken me to participate in this discussion is several time how long I will spent typing out the library to link to when I make a new project over the course of my entire life. I said this was hilarious, and I meant it. And yes, you sound demanding, even if you can't say you explicitly demanded it in exactly those words. Honestly, if you want to use the SFML, go nuts. No one will care that you switched to it any more than anyone there would care if someone switched to Allegro.
Who said you did?
You did. You're the one going on about how I'm making demands when I never made any. Take your delusions somewhere else.
Stop pluralizing; it's dishonest.
If I'm not the only one affected by it, then it's not dishonest to speak plurally.
And yes, you sound demanding, even if you can't say you explicitly demanded it in exactly those words.
Okay, so I'm not demanding, but I am. That makes a lot of sense buddy.
I honestly don't even have a dog in this fight; the time it's taken me to participate in this discussion is several time how long I will spent typing out the library to link to when I make a new project over the course of my entire life.
The more projects you make, the more time and effort it takes to set up each one. I tend to make frequent test projects and so it takes more effort for me. I can do without it, and all I ever said was that it would be a nice thing to have. So when you're done having your period, let me know, and then maybe this could be a real discussion again.
Okay, so I'm not demanding, but I am. That makes a lot of sense buddy.
You don't have to use the word "demand" to be demanding.
You did. You're the one going on about how I'm making demands when I never made any.
Dude, I'm not going to copy and paste everywhere in this thread alone where you sound like a entitled child, or we'll be here all day.
If I'm not the only one affected by it, then it's not dishonest to speak plurally.
And since you are, then it is. Not one of those threads was about your particular request. And not all requests can be granted (which should be obvious).
Okay, so I'm not demanding, but I am. That makes a lot of sense buddy.
Comments like "When did I say the world owed me anything? It probably does though". Make sense yourself; you ain't owed squat. No one here is.
So when you're done having your period, let me know, and then maybe this could be a real discussion again.
Discussion's over. Devs prefer the current setup, everyone else either agrees or doesn't care. Can't be that important.
I'm making demands
Okay, so let's see, a suggestion I made in an entirely different thread was brought up here as a point to mock me, and somehow I'm making demands. I see how that logic is clear now.
Dude, I'm not going to copy and paste everywhere in this thread alone where you sound like a entitled child, or we'll be here all day.
You're the one who sounds like a spoiled brat. Putting so much effort into shooting down an innocent suggestion to make things easier that was made in an entirely different thread.
Discussion's over. Devs prefer the current setup, everyone else either agrees or doesn't care. Can't be that important.
One developer is against a monolith build, none of the others stated their opinion here one way or the other. Stop pluralizing, it's dishonest.
Edgar, why don't you take the time to add the feature yourself? Cmake really isn't that hard. I agree with you that its a useful thing to have which is why I made the patch for linux.
If I get some time I can attempt something in windows but I rarely ever use it so I don't know how likely that is. But really this discussion is sort of pointless, either accept that no one will do it or do it yourself.
Putting so much effort into shooting down an innocent suggestion to make things easier that was made in an entirely different thread.
I don't care about the suggestion; it's a non-issue for me. I'm here for the lulz. Gotta be the fourth time I've said it now.
One developer is against a monolith build, none of the others stated their opinion here one way or the other. Stop pluralizing, it's dishonest.
As a software developer who works on a team, I'm going to presume that suggestions are discussed and approved/rejected as a team. If the library doesn't have the feature, and isn't getting it, then I can reasonably guess the majority vote. Maybe I'm wrong, maybe someone's working on it right now. We'll see? Another thing I'll repeat; if the demand was there, the feature would be in. kazzmir did it for Linux, and now it's done. There. See how easy that is? Much more mature.
@Kazzmir
To actually get it done, you would need a consolidated list of all the source files in the build, and a way to make sure that all of the addons are (going to be) built first. I'm not sure how to aggregate the different lists of source files together when they are probably separated into different modules. Also, I have pretty much zero experience with cmake, and their documentation is pretty sketchy as well, so I'm not very enthusiastic about learning it.
@23yrold3yrold
I was fine with the fact that there was no monolith build. Someone else brought it up, and all I did was defend my opinion that it would be useful. If you don't have anything useful to add, go crawl back under your bridge, troll.
To actually get it done, you would need a consolidated list of all the source files in the build, and a way to make sure that all of the addons are (going to be) built first. I'm not sure how to aggregate the different lists of source files together when they are probably separated into different modules. Also, I have pretty much zero experience with cmake, and their documentation is pretty sketchy as well, so I'm not very enthusiastic about learning it.
That is a very nice summary of why nobody wants to do it.
You trolled by bringing up SFML and Trent called you on your bullshit. Cue you sounding butthurt for the rest of the thread. I get the sense there's a history there, and I'm tempted to go find out about it, but I'm not that desperate for entertainment.
Don't start nuthin', won't be nuthin. Troll.
I get the sense there's a history there
It's just that both Trent and Edgar can get upset very easily when there's any hint of disagreement. And they tend to infer things that were never implied. So they make quite the pair.
Sorry dudes, just Dr. Leverton making his rounds.
It's just that both Trent and Edgar can get upset very easily when there's any hint of disagreement.
{"name":"popcorn_yes.gif","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/d\/fda44bdf61fd9fdb37246b1f0e47a260.gif","w":301,"h":250,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/f\/d\/fda44bdf61fd9fdb37246b1f0e47a260"}
@23yrold3yrold
So simply mentioning that I'm considering another library is trolling then? In the very same paragraph, I did mention that I considered both A4 and A5 useful, but no one mentions that. If none of you care about what library I use, then why did you all have such a giant hissy fit about it? Furthermore, the only one trolling in this thread was you 23yrold3yrold. Making claims I was making demands when I didn't even bring up the subject in the first place. Desperately arguing that no one else thought it was a good idea, even though Mark Oates said he would like it if it got implemented, even though Kazzmir liked the idea enough to modify the package config script to link all the libraries together on Linux / OSX. So who's the one wasting peoples time here? You are. So take your ass fetish somewhere else gaywad.
So simply mentioning that I'm considering another library is trolling then?
Depending on how it's mentioned ... yes.
I did mention that I considered both A4 and A5 useful, but no one mentions that.
Because the thread isn't about if A4 or A5 are useful. Of course they're useful; why would you get any credit for pointing out the obvious? It's about whether A4 or A5 would be suitable for Paul whoknows, given his personal requirements.
why did you all have such a giant hissy fit about it?
Actually, I gotta admit something; I didn't even notice AMCerasoli prompted you to post until just now. And it was apparently about you crying. So I was right; there is a history and it is amusing! Otherwise, who would bring you up out of the blue, and why would you bite so fast after Trent's post?
So who's the one wasting peoples time here? You are.
Yeah, turns out I trolled you and I wasn't even trying. Does this mean I trolled myself? Damn I'm good. And I even got you to call me a gaywad.
Yow. Double post. You da man 23.
FUCKIN EH
REVISION: Nuts it corrected. Oh well ... going to bed, post more lulz.
Bah, it got BALLEETED.
To summarize:
Allegro 4 is not abandoned and never will be in the sense that anybody, at any time, can volunteer to work on it, and nobody will get in his way.
Allegro 4 is abandoned in the sense that very few people will do that.
If you want to continue discussing monolothic builds, alternative libraries, and any other nonsense, then take it to the off-topic board.