|
Allegro's relevance makes me happy |
Bruce Perry
Member #270
April 2000
|
BackgroundI clearly remember my journey into the world of Allegro. Up until 1999, I was using QuickBASIC with a few assembly language routines for key state detection, sprite plotting and a few other things. I'd tried C once but couldn't do anything except a boring console app, but I think I started to hit QuickBASIC's real-mode memory limits and thought it might be worth looking into C again. I found DJGPP and, with that (via the zip picker), Allegro. My first version of Allegro was version 3.11, and it had all my assembly language routines, and much, much more, already implemented. I wasn't sure whether to be happy or sad about this. Nevertheless, I used it to make some fully-fledged games such as Line Wars and Rock 'n' Spin. I joined the Allegro mailing lists and was able to contribute some fixes and improvements of my own; there was something to do with off-by-one polygon rendering, and something else to do with colour maps, I seem to recall. While looking for somewhere to put my games, I came across the emerging Allegro Games Depot, which soon became Allegro.cc, and posted a rather embarrassing advert for Rock 'n' Spin in the main news column. (I was trying to sell it as Shareware at the time with no knowledge of marketing; no one bought it or probably even found it.) After a while, Matthew put the current forum discussions in the left-hand column, and I met more fun people like Sp0oN and Nicholle. Thanks to Allegro, I even started writing a Portal-based 3D engine, complete with editor. I had tried Half-Life once on someone else's computer and knew I could create better input controls. My engine went on to be a very popular game. OK, maybe not. Actually I ran into serious performance problems, possibly as a result of my decision to build everything up from tetrahedra and treat every single tetrahedron face as a portal, with no optimisations for adjacent tetrahedra. I could probably do a better job these days, if such a style of engine were still relevant! (Actually I don't even know - maybe it still is?) I notice Steve++ had quite a similar experience. The point of this postI just wanted to say I still occasionally find time to work on a game at home, and I absolutely use Allegro to do it. While Allegro 4 (and perhaps the software-rendered, 256-colour days in general) had a certain charm that I sometimes miss (who remembers the grabber?), I do think Allegro 5 is a good modern-day equivalent, in the sense that it makes it really easy to develop for traditional PC-shaped things without neglecting any minority groups (you know - the ones with X's in their names), at a low enough level that you can really be creative with the implementation and make your game look distinctive. (Case in point: I wonder how many of these quick game-making frameworks people talk about could have led to Braid.) Allegro is great, and it continues to make progress. It may not be very well known, but they say it's all about marketing. When people come to the forums and see a thread about "Allegro's irrelevance", they think, "Oh, is that what people think? Maybe it's true." But now they'll see a thread about "Allegro's relevance" instead, and they'll think Allegro is worth talking about. So, whoever said it's all about marketing but didn't post this thread (instead of me), you have my permission to kick yourself. By the way, the fact that I can write my code in D these days (having now used Java a lot and realised just how much time C and C++ waste) makes Allegro even better. Go Allegro! -- |
Thomas Fjellstrom
Member #476
June 2000
|
TL;DR[1] References
-- |
RickyLee
Member #11,573
December 2009
|
I see what you did there |
Erin Maus
Member #7,537
July 2006
|
I'm porting my game over to D using SiegeLord's DAllegro5 wrapper. So pretty; I cry tears of joy . --- |
Karadoc ~~
Member #2,749
September 2002
|
Bruce Perry said: When people come to the forums and see a thread about "Allegro's irrelevance", they think, "Oh, is that what people think? Maybe it's true." But now they'll see a thread about "Allegro's relevance" instead, and they'll think Allegro is worth talking about. I think this is one of the fundamental weaknesses of forums as a form of communication. Chatter is what puts threads at the top of the page; and the relative strengths of threads is not taken into account. When someone posts something controversial, it tends to start a long running argument which stays at the top of the forum for a long time, gaining a lot of publicity. This can happen even if there is only one person supporting one side of the argument against the rest of the forum memebers. That one person's voice is made unproportionally loud. When someone posts something that most people agree on, it can be held up for a little while by people posting trivial things like "I agree", but ultimately it will gain less air-time than the controversial posts. And when someone posts a complex argument that not many people have the time or skills to respond to - not many people will respond, and so again the thread falls off the top of the forum. (I suppose reddit is pretty popular because it solves the problem I'm describing - but reddit has different problems instead.) ----------- |
furinkan
Member #10,271
October 2008
|
Used A5 and C on my programming final, which had to be presented. Didn't run very well on Win64 come to find out (due to MingW32 nuances), but the very concept and the fact that it DID run was enough to blow most other projects out of the water. Also, I've been lurking throughout the entire other thread, and I think Allegro is very relevant. Its relevant to me, and that's what matters. Who cares about SDL? Haters gonna hate! Working hard designing a top-down-action-RPG engine, which Allegro 5.X will be the base for. I plan to work on the ^Allegro^ wiki a smidgen, if I ever get internet at home. Thanks for the intuitive, fast library! |
Johan Halmén
Member #1,550
September 2001
|
Bruce Perry said: who remembers the grabber? Grabber and the built-in GUI are two reasons why I still use A4. Though I don't code very much anymore. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Years of thorough research have revealed that what people find beautiful about the Mandelbrot set is not the set itself, but all the rest. |
Peter Wang
Member #23
April 2000
|
furinkan said: Who cares about SDL? SDL is not the enemy. (I know that was in jest) Bruce, I'm quite glad to hear you've tried A5!
|
beoran
Member #12,636
March 2011
|
Well, I'll also join in with the chorus: Allegro , and certainly Allegro 5 are great libraries. Well fleshed out, clean, and easy to use for people who know their C. I, for one, am very grateful for Allegro. Furinkan, as I said in the other thread, if plain C and mruby are fine with you, we could cooperate on such an RPG engine. And Chipmunk is ideal for good collision handling and physics for action based games. |
Bruce Perry
Member #270
April 2000
|
Peter Wang said: SDL is not the enemy. Yes they are! Their licence doesn't allow us to steal their code without attribution. That makes them the enemy. And yes, please do pick up the framework planning here - it'll look better for Allegro to have this thread survive instead of the other one -- |
weapon_S
Member #7,859
October 2006
|
furinkan said: but the very concept and the fact that it DID run was enough
You made me laugh >_< There is one kind of "framework" I'm occasionally daydreaming about. It's actually a programming environment for kids. It's supposed to use a "least context semantics" programming language I've doodled a bunch of. The language would have named return values, ECMA like classes, and knowledge of the call stack (I think that has some fancy name). The environment would feature a text output, and a graphics output that supports some primitives. I don't think I would expose Allegro, in favor of a system that uses "viewports". (Maybe I'm too influenced by QBasic.) And that's all I have on paper
Everybody |
Matthew Leverton
Supreme Loser
January 1999
|
I task Mr. Perry with playing us a happy song to boost morale. |
Kris Asick
Member #1,424
July 2001
|
Over the next three years, provided I don't suffer an untimely fate and the Vogons don't decide to start building their hyperspace bypass through our solar system, I'll be making and adding FOUR commercial products to the roster of Allegro 5 games. I did indeed try to build a game engine for Allegro 4 at one point. My thinking was that having a game engine would simplify the process of game making immensely. I got about half-way done when I realized that, even if I finished this engine, it would only cut down development time of my projects slightly. Instead, what I do now is: When I develop something that's generic enough to benefit more than just the game I'm working on, like a new timing system or an extremely useful mathematical function, I stuff it into its own independent code file which I can then copy and paste into any project I work on. At present, I have five such cpp/h file pairs: g-rand.cpp/h -> My own pseudo-random number generator I also had a g-idle2.cpp/h pair for awhile for doing accurate idling in Allegro 4, but since Allegro 5 doesn't have to worry about busy waits it's been rendered obsolete. --- Kris Asick (Gemini) |
Johan Halmén
Member #1,550
September 2001
|
Bruce Perry said: it'll look better for Allegro to have this thread survive instead of the other one Ok. Who will win the 2014 FIFA World Cup in Brazil? What is it with atheists? Why do people still insist on using C++ instead of just plain C? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Years of thorough research have revealed that what people find beautiful about the Mandelbrot set is not the set itself, but all the rest. |
Matthew Leverton
Supreme Loser
January 1999
|
Women. Guns. |
Kris Asick
Member #1,424
July 2001
|
Johan Halmén said: Why do people still insist on using C++ instead of just plain C? I use both in tandem; What does that make me? --- Kris Asick (Gemini) |
Neil Roy
Member #2,229
April 2002
|
Wow, your experience sounds almost identical to mine. I was using QuickBASIC and started to run into it's limits. Then I found DJGPP and a book called "QBASIC TO C" which helped me convert over (even though the book got bad reviews, it helped me immensely). I started to write my own library for C with various VGA graphics functions etc until I found Allegro (I think Allegro 2). Like you, I was sort of saddened, because my little library was starting to take shape. But that went away fast when I started programming with Allegro. Looking back at where Allegro started and now with some of the stuff we can do with Allegro 5, it's come a long ways thanks to the dedication of some gifted programmers. Johan Halmén said: Why do people still insist on using C++ instead of just plain C? I still program in C. Specifically, C99, although I recently learned about the C 2011 standard and may start using it. I am not a fan of C++, I think it's a lot of bloat. P.S: I still love programming using Allegro 5 for the PC. I have had a friend bugging me to make games for Android for $$$. I enjoy programming for the PC, using Allegro. I am working on something right now with it. The only thing that has been slowing me down with development is age I think. My enthusiasm isn't the same it used to be + various other life issues. --- |
bamccaig
Member #7,536
July 2006
|
I think that Allegro is one of the best kept secrets. It is a very simple and capable library. Thanks to a relatively small active community I think that Allegro has developed one of the most friendly and helpful communities that there are (and I'm not the only one to think so; over the years I have seen several people remark the same). Honestly if there was suddenly a hoard of iOS or Android developers flooding the forums here I imagine the community would suffer. It's not possible to keep up with thousands of people at once. There's no time for that. As it is I sometimes get overwhelmed and can't keep up with interesting threads. As for thread influence, anybody making a decision based on thread titles is judging a book by its cover and we all know the wisdom there. Unless you follow a thread you really don't know what it's about or what is being discussed (we're infamous for finishing with one topic and spiraling into branch topics). I think those super threads are also a part of what makes our community so strong. We spend so much time arguing with one another that we get to know each other pretty well. It allows us to identify and recognize each other more easily. "Relevance" is irrelevant. Allegro exists because of the Allegro community, which will remain strong indefinitely as long as we all stick around to participate. -- acc.js | al4anim - Allegro 4 Animation library | Allegro 5 VS/NuGet Guide | Allegro.cc Mockup | Allegro.cc <code> Tag | Allegro 4 Timer Example (w/ Semaphores) | Allegro 5 "Winpkg" (MSVC readme) | Bambot | Blog | C++ STL Container Flowchart | Castopulence Software | Check Return Values | Derail? | Is This A Discussion? Flow Chart | Filesystem Hierarchy Standard | Clean Code Talks - Global State and Singletons | How To Use Header Files | GNU/Linux (Debian, Fedora, Gentoo) | rot (rot13, rot47, rotN) | Streaming |
Thomas Fjellstrom
Member #476
June 2000
|
Kris Asick said: I stuff it into its own independent code file which I can then copy and paste into any project I work on I'd personally turn it into a static library. And share the library between projects, so you don't have to maintain several different copies. -- |
RickyLee
Member #11,573
December 2009
|
bamccaig said: Thanks to a relatively small active community I think that Allegro has developed one of the most friendly and helpful communities that there are (and I'm not the only one to think so; over the years I have seen several people remark the same) People say the same thing over at Leadwerks. Quote: I think that Allegro is one of the best kept secrets. It's like a small hole in the wall coffee shop that you may find. Some people just like being in the minority, like fighting against the "man". When that coffee shop grows and starts gaining popularity those people all of a sudden don't like it anymore, even if the core of the coffee shop is the same. |
furinkan
Member #10,271
October 2008
|
Quote: Women. Guns.
Johan Halmén said: Ok. Who will win the 2014 FIFA World Cup in Brazil? What is it with atheists? Why do people still insist on using C++ instead of just plain C? This thread is sure to become quite the lulzbucket here soon. This forum is oddly like an internet coffee shop! But that's part of its charm, there isn't thousands of squabbling masses and we don't have to divide the forum into sections and assign moderators to keep the sheeple in check. Its a small, friendly community, which is why I've just hung around for the past 4-5 years. I even miss people when I don't see their posts for a while! (*cough* Mark O, Amarillion, verthex, type568, piccolo, et al. cough) beoran said: Furinkan, as I said in the other thread, if plain C and mruby are fine with you, we could cooperate on such an RPG engine. And Chipmunk is ideal for good collision handling and physics for action based games.
@beoran: I explained mine as an RPG, but in reality that was just to explain it better without blabbering about details. I'm actually planning a LOZ: Four Swords type engine. I wasn't even going to consider a single player "campaign". Currently, I'm writing a program to rip unique tiles out of screenshots, compensating for flipping. I could just go to The Spriters Resource, but the tiles are never in a format usable by a program.
|
Dizzy Egg
Member #10,824
March 2009
|
Allegro 5 makes me sexually aroused; I'm not sure if that helps anyone.
---------------------------------------------------- |
beoran
Member #12,636
March 2011
|
Furinkan: If you're not "bamf enough" for C, then I fear C++, which is far more complex, will be a disaster. And there you have one good reason to use C. Apart from the fact that you have to be a bit more explicit in C, and do a bit more manual work, it's a much simpler and straightforward language. Single or multiplayer isn't that much different I think, the engine I have could become useful to other people too as it develops. |
Dizzy Egg
Member #10,824
March 2009
|
I dunno....C++ is more helpful after a couple of weeks solid practice...I say if you're good in C go C++, it's 2013.
---------------------------------------------------- |
furinkan
Member #10,271
October 2008
|
@beoran: |
|
|