Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » This Place Just Doesn't Die

This thread is locked; no one can reply to it. rss feed Print
This Place Just Doesn't Die
Chris Katko
Member #1,881
January 2002
avatar

Have you guys heard about our lord and savior, the Devil?

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs
"Political Correctness is fascism disguised as manners" --George Carlin

Specter Phoenix
Member #1,425
July 2001
avatar

Neil Roy said:

There's a really good talk on SDL here...

https://www.allegro.cc/forums/thread/616950/1031370#target

Neil Roy
Member #2,229
April 2002
avatar

Ah, okay, sorry Specter Phoenix, I didn't notice you posted it. Funny how Edgar didn't feel the need to attack you when you posted a link to it. Not a peep from him until I did.

Edgar can't even make up his mind what he likes and doesn't like...

Neil Roy said:

I'll never use a library written with C++, I want speed and C is the closest one can get to machine code without using machine code. C is also more portable. C++ is not.

Clearly I was talking about coding a library... then later on in Edgar's reply to me he says...

For a library maybe, but for an app, no.

Duh? Clearly he cannot read. He's still figuring out that a static library shouldn't need DLLs after all so... this is no surprise.

Sorry, perhaps I "over reacted" a little, but I was having a normal conversation in here when I was insulted. Because my views differ doesn't make me an "old timer".

Naturally bamccaig and Chris Katko want to start religious insults. It's no wonder people don't stay around these forums.

The sooner this place dies the better.

---
“I love you too.” - last words of Wanda Roy

Samuel Henderson
Member #3,757
August 2003
avatar

At work we are porting a legacy Windows XP Embedded point-of-sale application written in C++ with MFC and DirectDraw to a Linux platform (turns out not many vendors offer Windows based POS devices at competitive costs these days). We are very seriously considering using SDL2 for the graphics, audio, input and network components. (It's a touch screen point-of-sale system that also drives a customer facing screen with videos and animations). The original developer (this dates back to the late 90's) was a pascal programmer who didn't really understand C++, or how to use the Win32 api ... so he resorted to making his own GUI using DirectDraw. Now we are at the point where the hardware needed to keep these devices running is starting to become scarce. Apparently some analysts have done the math and by 2019 the hardware will be failing at a rate faster than we'll be able to replace so we need to port what we have to a new hardware platform (which also means a new OS).

I thought of suggesting allegro5, but I knew it would be much easier to get support from upper management by suggesting SDL2. As already pointed out there a quite a few high profile titles that have been made using SDL.

One of our architects wants to do the whole thing in Python. I don't like that architect anymore.

=================================================
Paul whoknows: Why is this thread still open?
Onewing: Because it is a pthread: a thread for me to pee on.

Specter Phoenix
Member #1,425
July 2001
avatar

Yeah, a few former A.cc guys I still email or talk to via social media have left here for SDL. Thinking the guy that used to run Loomsoft even uses SDL now. The problem with Allegro is PR. There was one book written about Allegro (11 years ago), but that author says it's too much of a niche library and his publisher isn't getting enough demand to make new editions of it. You have Steam pushing SDL, 5 or so books for SFML game development, Unity, Unreal, GameMaker, etc. It's really understandable why Allegro is falling behind, little to no promotion. Can't remember if it was DreamInCode or cplusplus.com, but a few thought Allegro had already died years ago during the Allegro 3.9.X WIP. The perception that some members may be volatile doesn't improve the matters either.

Chris Katko
Member #1,881
January 2002
avatar

The perception that some members may be volatile doesn't improve the matters either.

1. Shit talking doesn't enter into the programming forum, only the off-topic.

2. Volatile? Have you ever been to Reddit? Twitter? Hell, Stack Overflow mods will ban your post for being "off-topic" as fast as it can. I can't even count the amount of times I've heard the n-word the second I joined a game with a voice chat. Have you EVER HEARD ANYONE HERE use a racial slur against one of the forum members? (Hell no, they'd be banned.)

Neil Roy said:

Naturally bamccaig and Chris Katko want to start religious insults. It's no wonder people don't stay around these forums.

I think it's funny how quickly a Christian and an Atheist can be lopped together. :P Just because I'm secure in my spirituality that I can joke about it, I must be some sicko.

On of my favorite jokes growing up was asking "Is hell really that bad? I mean, all the cool people you know are going there. All the good comedians and musicians. Elevator and train to hell? They've got infrastructure. What's heaven got? Stairs and pearly gates. Do you really want to live in a gated community? And one that doesn't have wheelchair access for handicapped people? Trumpet music. Yeah, that won't get old after 300 centuries. Give me wherever Van Halen and Freddy Mercury end up. Imagine a century long rock concert with all of Hell's pyro technics."

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs
"Political Correctness is fascism disguised as manners" --George Carlin

Edgar Reynaldo
Major Reynaldo
May 2007
avatar

It's not my fault cmake wants to link everything dynamically. ;P

You get offended way too easy.

Also I know you were talking about a library, and naturally I got it offended because I've spent the last 6-7 years writing g a GUI library in C++. Clearly I should put a disclaimer in the license that warns 'old timers' to stay away. It was a joke. Laugh. Haha. Funny.

Also, being called a Sunday Christian and a Roman Catholic conspirer doesn't exactly win you points in my book.

And let's not forget, you can't even compile Allegro yourself, but you're more than willing to use my binaries.

Pot meet kettle. Now go and stew.

Eric Johnson
Member #14,841
January 2013
avatar

Lots of topics in this thread. I'll do my best to address each one.

I started with Allegro 4 sometime in 2011 or 2012, but didn't make an account here until 2013. I was in high school then. I only spent about two months with Allegro 4 before moving onto Allegro 5. I remember learning Allegro 5 being difficult compared to Allegro 4. Maybe it was due to just how different the two APIs were/are. But anyway, I've stuck with Allegro 5 ever since, and think it has more to offer than Allegro 4, but I do sometimes miss the simplicity of Allegro 4. I also tried SDL for a short time, but didn't like the API too much.

Lately I've lost interest in writing games in C++ and have become interested in writing games for the Web in JavaScript using the canvas API. I enjoy that I don't have to make binaries of games for multiple platforms; I just write games in JavaScript and modern Web browsers handle the rest. There are some limitations of JavaScript and of the Web as a whole compared to compiled languages for desktop though, of course. I even wrote (and am still working on) a small library that wraps around the canvas API to simplify some tasks. It's called "Momo" and is on GitHub under the MIT license. ;)

I think that libraries still have a place in this engine-dominated world, but they aren't as popular as before. This is mostly due to fancy engines becoming easily accessible and affordable (many are free to use). It's kind of sad how many people new to game programming miss out on better understanding how things work closer to the metal, as engines tend to handle most of that for you.

I was talking to a classmate of mine a semester or so back about the topic of engines. He was pursuing some game design degree at the time. He had an idea for a game, and I suggested he write his own game engine to get some experience and just for the fun of it (I even suggested Allegro 5 ;) ). The gist of his reply was that no one writes their own engines anymore; you don't have to because tried-and-tested engines handle all of that for you. :( I understood where he was coming from, but felt he would be missing out if he didn't at least explore boilerplate code and writing his own simple engines before abandoning all of that for using an engine written by someone else. Point is, to this guy, libraries and DIY stuff is old fashioned. Engines are the way of the future, man... :-/

I certainly think engines are good, whether you write your own or use one built by someone else, but I personally prefer the freedom and flexibility of a good library. As for Allegro, it does everything I want it to and then some. I can't think of any design flaws or features that I'd need right now. I think Allegro as a community could grow by improving PR efforts. Mention Allegro in your games, share links to events/contests centered around Allegro, etc. Every little bit helps.

Specter Phoenix
Member #1,425
July 2001
avatar

Chris, what was your point? I said the perception of volatile members doesn't help, but then you listed sites that proved my point. Reddit is constantly compared to 4chan/8chan. Twitter is tanking due to how they are overreacting to volatile characters. SO is so strict that most programmers I know say to use it as a search utility and ask questions somewhere else due to the bans for off-topic questions and constant closing of questions as being duplicate questions.

It all boils down to PR. Allegro is just too self contained. Allegro has had some great games made with it, but they aren't known outside the site and community. I found out about Allegro because I had stumbled upon Johan Pietz's Operation Spacehog DOS game, emailed him asking how to get into game development. That is when he recommended DJGPP/Rhide and Allegro. Johan has made a lot of great quality games with Allegro. As has Sirocco with his Fenix Blade and other games. Trent and MonsterRPG 1 & 2. The problem is that the games are, for the most part, only known to the people on this site. MonsterRPG and Icy Tower are the only two games I can think of that have gained any popularity outside this site, but even then I don't think they promote Allegro anywhere in their load screens or text.

[Append]: I noticed that SDL's page, every time I refresh it, it shows what AAA and indie games are made with it. After the fifth time I stopped refreshing:
{"name":"610955","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/7\/57c0cd91157709dff5cf3b9991ddb909.png","w":467,"h":553,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/7\/57c0cd91157709dff5cf3b9991ddb909"}610955
{"name":"610956","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/b\/0bf268b819a3bae35638d935f8254db1.png","w":510,"h":564,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/b\/0bf268b819a3bae35638d935f8254db1"}610956
{"name":"610957","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/9\/b\/9b74e95d937a4556e18d4387de9f42cf.png","w":415,"h":516,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/9\/b\/9b74e95d937a4556e18d4387de9f42cf"}610957
{"name":"610958","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/2\/a26e2dd9132541f51d3ac61967090df5.png","w":406,"h":490,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/2\/a26e2dd9132541f51d3ac61967090df5"}610958
{"name":"610959","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/8\/181599bb6e32e16279fb78dc05586618.png","w":419,"h":489,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/8\/181599bb6e32e16279fb78dc05586618"}610959

Neil Roy
Member #2,229
April 2002
avatar

And let's not forget, you can't even compile Allegro yourself, but you're more than willing to use my binaries.

Actually, the only thing I have compiled with your binaries, is my game in order to figure out where you went wrong with your build. I haven't actually coded anything with it nor released anything with the last build you did. At all. I am switching to SDL2, so don't worry, I won't be bothering you with bug reports on any of your builds again.

As for me not compiling it, that's the problem. I doubt you will find very many people in here that have or can compile the convoluted mess that is Allegro 5. And why bother when SDL2 has a bot that automatically compiles nightly builds I can download anytime I wish.

Anyhow, my original comment still stands, and that is that SDL2, Allegro etc... are all built with C code for good reason. It wasn't an attack on you (though you seem to take it that way), it wasn't even a reply to anything you said.

As for religion... this is a programming forum, I am leaving my beliefs out of this from now on. Period. So, believe what you wish. I believe in C. C++ is evil. :)

P.S: That video I linked to, which you thought didn't have code examples, does. He provides several, like where he compares the recommended way DirectX has to open a window and how to do it with SDL2, or the code examples he gives for using SDL2 with OpenGL (see screenshot below from video). Forgetting our disagreements, you really should check it out, he does a nice job covering what they have done with that library and it is truly impressive, I like how they think and the direction they are going with it.

{"name":"610960","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/a\/5a36d6bdea146e8e79b30840bde30d40.png","w":1920,"h":1080,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/a\/5a36d6bdea146e8e79b30840bde30d40"}610960

---
“I love you too.” - last words of Wanda Roy

Chris Katko
Member #1,881
January 2002
avatar

Neil Roy said:

I doubt you will find very many people in here that have or can compile the convoluted mess that is Allegro 5.

IIRC, on Linux its like:

$ ./configure
$ cd build
$ cmake ..

done.

I regularly run the newest Github branch. Why wait for bugfixes to hit binaries!

And nothing you've posted or I've seen with SDL has actually shown a feature that Allegro doesn't already have... they're even comparable in lines of code... so what are we arguing about here? Some sort of epic debate that boils down to CamelCase verses under_scored?

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs
"Political Correctness is fascism disguised as manners" --George Carlin

Edgar Reynaldo
Major Reynaldo
May 2007
avatar

Polybios
Member #12,293
October 2010

Omg guys :-/

Eric Johnson
Member #14,841
January 2013
avatar

Neil Roy said:

I doubt you will find very many people in here that have or can compile the convoluted mess that is Allegro 5.

It's a breeze on Linux. :)

Edgar Reynaldo
Major Reynaldo
May 2007
avatar

Polybios said:

Omg guys :-/

Oh Your God? Here we go again. ;P

Neil Roy said:

I am switching to SDL2

Well, too bad. Your loss.

Neil Roy said:

As for me not compiling it, that's the problem.

It's actually not that hard. It's just that if you want any features, then you need all the dependencies. Luckily there are still people out there who don't mind going to all the trouble of doing it all for you. <wink wink>. It's even easier to install on VS now with Nuget and all.

It's actually three steps on windows with some version of mingw :

cmake -OPTION ..
(mingw32-)make
(mingw32-)make install

But that's too hard. :/

Neil Roy said:

I doubt you will find very many people in here that have or can compile the convoluted mess that is Allegro 5.

SDL is even more convoluted if you ask me. They have just as many different addon libraries as allegro does. The fact you can get a single monolithic binary for allegro beats sdl in that department.

SRSLY though, Allegro and SDL are not that different. You can do pretty much exactly the same damn things in one you can do in the other. Allegro comes with a shit tonne of examples, and three full demo games. What does SDL come with? It hurts allegro a little bit that the example programs aren't distributed with the binaries like they are with mine. You shouldn't have to compile allegro to test the example programs.

Browsing through some SDL and OpenGL code and came across this gem :

Quote:

if (!mainwindow) /* Die if creation failed */
        sdldie("Unable to create window");

I'd like to call that function from my code too...(The actual function is SDL_Quit())...

Neil Roy said:

And why bother when SDL2 has a bot that automatically compiles nightly builds I can download anytime I wish.

Kindly point out where that is....

Specter Phoenix
Member #1,425
July 2001
avatar

And nothing you've posted or I've seen with SDL has actually shown a feature that Allegro doesn't already have...

https://www.libsdl.org/projects/SDL_net/ :P

Eric Johnson
Member #14,841
January 2013
avatar

Hey guys, let's start a new library to fight over. It should be written in C and be called orgellA. :P

Polybios
Member #12,293
October 2010

IIRC, Allegro5 has some more or less significant features SDL hasn't, something to do with primitives and transformations. The API is also much more readable for my tastes. I don't have much SDL experience though, merely ported something over to Allegro for private use.

Calling any of them "a convoluted mess" probably says more about the poster than the library though.

Chris Katko
Member #1,881
January 2002
avatar

That is the most horrific example of a "benefit" SDL has over Allegro. There's a reason people use professionally-supported 3rd party network libraries, or, write their own. API coupling, and performance. Adding a pre-canned networking layer is the opposite of what Allegro is--unobtrusive.

Moreover, SDL_NET appears to a thin layer over the already portable berkeley sockets... they even use global error codes. :o :o :o

https://www.libsdl.org/projects/SDL_net/docs/SDL_net.html

Quote:

This is the same as SDL_GetError, which returns the last error set as a string which you may use to tell the user what happened when an error status has been returned from an SDLNet_function.

Pray to God you never want to multi-thread your program...

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs
"Political Correctness is fascism disguised as manners" --George Carlin

bamccaig
Member #7,536
July 2006
avatar

On of my favorite jokes growing up was asking "Is hell really that bad? I mean, all the cool people you know are going there. All the good comedians and musicians. Elevator and train to hell? They've got infrastructure. What's heaven got? Stairs and pearly gates. Do you really want to live in a gated community? And one that doesn't have wheelchair access for handicapped people? Trumpet music. Yeah, that won't get old after 300 centuries. Give me wherever Van Halen and Freddy Mercury end up. Imagine a century long rock concert with all of Hell's pyro technics."

:D

Specter Phoenix
Member #1,425
July 2001
avatar

That is the most horrific example of a "benefit" SDL has over Allegro.

You didn't say it had to be a benefit. You said:

And nothing you've posted or I've seen with SDL has actually shown a feature that Allegro doesn't already have...

SDL_Net is something Allegro does not already have, hence the " :P "

bamccaig
Member #7,536
July 2006
avatar

Honestly, a networking addon could certainly be a useful addition to the library. You won't be able to solve the problem for everybody, but if you solve the problem for the average beginner that could make Allegro much more useful out of the box. It can be difficult to get networking right, and learning a fully-fledged second library is another hurdle to getting work done. Providing a simplified interface to network Allegro games or servers together could be useful (I think it would be best if it wasn't dependent on liballegro_5 so that you could use it on an X-less, headless server without having to install all of those graphical dependencies for Allegro). It's certainly not necessary for Allegro's niche, but it could provide value to users of Allegro.

Edgar Reynaldo
Major Reynaldo
May 2007
avatar

Neil Roy
Member #2,229
April 2002
avatar

In Allegro's favour, PhysFS works well where as there is no such thing (that I know of) for SDL, not that there's much of of a difference between storing in a plain, unsecured ZIP and an ordinary folder.

As for compiling Allegro... compiling it on Linux is useless if I am using Windows, so saying it compiles fine on Linux is just a stupid statement. You have people with different platforms and if this is the attitude towards everyone non-Linux, that may be part of the problem.
I don't care what anyone says, tracking down the dependencies and compiling under Windows is a pain in the buttocks.

As for SDL builds... it has a buildbot which updates and rebuilds automatically. In fact, there were several builds made at the time of this writing, July 7th here...

https://buildbot.libsdl.org/one_line_per_build

I don't know exzctly how that works though, I honestly get mine here...

https://www.libsdl.org/download-2.0.php

Too easy and usually stable (so far anyhow).

It doesn't get much better than that. But... I have yet to write a fully functioning game with SDL2 yet, so maybe I'll find it worse. I do like Allegro, but...

---
“I love you too.” - last words of Wanda Roy

bamccaig
Member #7,536
July 2006
avatar

Allegro doesn't make tracking down dependencies on Linux easy (well, aside from wiki articles that offer package manager command lines for some distros, but that isn't generally possible in Windows). It's Linux distro developers that make this easy. It's the effort of thousands of people unrelated to Allegro. Windows does not have good package managers for most of this stuff (though perhaps MSYS2 is getting close?). That's not Allegro's fault. That's Microsoft's fault. It's definitely frustrating, but taking it out on Allegro's developers just isn't fair.



Go to: