Allegro.cc - Online Community
Post Reply

Allegro.cc Forums » Off-Topic Ordeals » It's like people isn't programming videogames anymore, right?

rss feed Print
 1   2 
It's like people isn't programming videogames anymore, right?
AMCerasoli
Member #11,955
May 2010
avatar

Man like two years without posting anything... Internet forums are so cold.

Specter Phoenix
Member #1,425
July 2001
avatar

A lot of the users have moved onto Unity and Unreal. Even the great Johan Pietz told me on Twitter that he hasn't used Allegro in a long time and moved on to Unity when everyone else did.

With me, I just still have confidence issues and don't publish anything I do. I'm currently working on my TINS2017 entry even though I dropped out. I simply called it Dr. Health, but since I've never made a game outside a single level I had to spend majority of my time searching state machines and game states because I got side tracked reading all the different ways to do them.

"Can't a man even talk to himself without being interrupted?" -Krull(1983)
"Through vengence I was born. Through war I was trained. Through love I was found. Through death I was released. Through release I was given a purpose." -- Specter Phoenix
"Programming == AWESOME the rest is just tools to accomplish it."
END OF LINE

Chris Katko
Member #1,881
January 2002
avatar

I've just been busy with work and health stuff. I'm still planning on releasing a game and I've been brushing up on skills and building framework tools here and there.

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

beoran
Member #12,636
March 2011

Well, for those who just want to make a game, it is easier to use a prebuilt game engine. For that crowd, something like Unity, or for 2D, Godot, is fine.

But for people like us who like to program a game, Allegro is better because it gives much more fine level of control.

I am still programming a game with Allegro but I have not much time, and for my
own projects I keep changing my mind on what I want. And I like to investigate many side paths. And then I also play quite a lot of games myself. So progress on the game is very slow. But I am enjoying the trip.

Chris Katko
Member #1,881
January 2002
avatar

Allegro is better suited for games with massive simulations with tons of calculations/units/gigantic worlds. Factorio, for example, would be slow as poop in Unity.

I've heard good things about Corona SDK (John Romero himself, uses and recommends it) which is cross-platform, well-tested, and uses Lua for all scripts. Kind of interesting halfway between Unity and Allegro.

I do not think it would be suited for high power games like I'm working on with tens of thousands of units and many exotic features.

But there are certainly options out there these days. Bare metal programming experience is no longer required for smaller-simulation games, like say, an adventure game where there are a max of 10 objects ever really moving around and almost no collision detection.

If I build a 3-D game in the long future though, I'd definitely consider Unreal (or Unity) since there's no way I could compete with the amount of specialized programmers and systems in those packages. There's no way I could build a better animation system, for example, without spending a year or more of my time learning "what" a better system would be and then building and testing it.

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

relpatseht
Member #5,034
September 2004
avatar

Mike Acton moved over to Unity today, and they've been sucking up a lot of talent in graphics for awhile. I'm curious to see where Unity is in two to three years. I might have to stop dumping on it.

We just released WWII on Friday, but I'm sorry to say there isn't a drop of Allegro in there.

Chris Katko
Member #1,881
January 2002
avatar

Mike Acton... really? That's really impressive considering his previous talks.

WW2? What's the link? Are you working for a commercial AAA now?

[edit] Wait, did he USE Unity or is actually JOINING the Unity company to help fix their crap?

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

relpatseht
Member #5,034
September 2004
avatar

Joined Unity, along with Fredrikson (another high level Insomniac dev). Unity has been pulling a lot of talent lately.

WWII. I've only been doing the Activision thing for a bit over a year. before that was Nintendo and before that Blizzard.

CoD catches a lot of flak by default, but I thought the campaign on this one was quite good. I don't do multiplayer though, so I can't comment.

beoran
Member #12,636
March 2011

Well, our main competitor is SDL, not Unity. I think Allegro5 has the better, easier to use API, but SDL is sometimes more robust and supports more platforms. Of course, since the license allows it, we can port SDL internal code over to Allegro as well., Like I did myself before.

amarillion
Member #940
January 2001
avatar

I haven't made anything with Unity yet. I've been meaning to try it out, just to compare it. I don't think allegro needs to "beat" Unity. But at game development meetup I went to, I was asked about the differences, and I would like to be able to answer that question honestly. I suspect that there are plenty of niche areas where the choice for Allegro still makes some sense.

I have used a high level framework at one point - Phasar.io - for html5/JavaScript. Although Phaser isn't bad per se, it doesn't take long before you start to see restrictions in the high level API. In JavaScript it's always possible to hack the internals, so it wasn't a big problem in this case.

--
Martijn van Iersel | My Blog | Sin & Cos | Tegel tilemap editor | TINS 2017

Specter Phoenix
Member #1,425
July 2001
avatar

One thing I've noticed is that even when people use Allegro they don't have a clue what they are using. Watched a video several hours ago where the guy claimed A4 was coded in C, but A5 was coded in C++.

"Can't a man even talk to himself without being interrupted?" -Krull(1983)
"Through vengence I was born. Through war I was trained. Through love I was found. Through death I was released. Through release I was given a purpose." -- Specter Phoenix
"Programming == AWESOME the rest is just tools to accomplish it."
END OF LINE

amarillion
Member #940
January 2001
avatar

I guess he thought he was using Allegro "4++"

--
Martijn van Iersel | My Blog | Sin & Cos | Tegel tilemap editor | TINS 2017

beoran
Member #12,636
March 2011

Well, Allegro5 is written partially in C++ for some Windows drivers...

I was a clueless newbie too when I started with Allegro 3 on DOS/DJGPP... Let's not be too harsh on them...

Mark Oates
Member #1,146
March 2001
avatar

beoran said:

But for people like us who like to program a game, Allegro is better because it gives much more fine level of control.

I would fall under this category. I garner a lot more enjoyment from programming than playing.

Mike Acton moved over to Unity today

:o He's like, Mr. Performance!!

I was asked about the differences, and I would like to be able to answer that question honestly. I suspect that there are plenty of niche areas where the choice for Allegro still makes some sense.

For me, it's mostly the appeal fine-grain control, more so than making games.

Chris Katko
Member #1,881
January 2002
avatar

For one, making an real game, requires creating a tool chain. Programming on the raw level means your tool chain easily integrates directly in no matter what kind of niche game you make. As long as you're forward thinking with your code (ala unit testing/modular architecture), adding something like a "in game renderer" to any of your tools (so your artists see exactly what it'll look like in real game), will take a single work day or less.

But if you're just making a game that looks/feels like 99% of what's out there (omg another platformer on steam!) then you can often save time by going with a third-party framework. However, there are the classic negatives of not being able to know if a problem is your fault, or a bug in the engine, and if there is a bug can you get the devs to fix it in time (or are you stuck working around it through insane means).

But again, in real 3-D games, the pendulum swings the other way and you gain WAY more by using Unreal/Unity than trying to roll your own. You can get 80% of the performance and quality of the best programmers with their dedicated, custom 3-D engines, and instead of investing 3 man-years of your life to make ONE ENGINE you could you know... be working on a game instead. GTA V (custom engine) runs on TONS more computers than PUBG (Unreal). But GTA V had >$100 million dollar budget, and PUBG started with a team of like 5 people.

But when it's 2-D games, there's still tons of room for either using a small framework that allows you fine control, or, making your own engine. Factorio would be nearly impossible (or slow as hell) without an engine that can take advantage of specific game similarities/assumptions appropriate only for Factorio.

The main game I've been working toward is going to be an ultra-lean networked game. The entire game is on the server with only blind, dumb clients. The clients merely send their keyboard/mouse input (which is verified server-side). You can't hack data that you're never given. (Like off-screen players positions.) Likewise, there's tons of optimizations related to my specific game universe / game mechanics. I've been looking into basically multi-threading... a single-threaded game. The game is mostly in space with space stations. Groups of rooms connected by long walkways. One natural optimization is treating every group-of-rooms as a single entity with its own memory space in RAM and CPU core. Any data that needs to "sync" across these groups of rooms (a bullet passing through, or a chat message) is synced, but otherwise, they're separate "simulations." The goal is at least 100 (possibly 200) players per server with very very low lag and a high simulation tick rate while running on normal internet connections. When you're doing fluid simulations on gigantic grid "worlds", being able to split the workloads into multi-threads is a big deal.

Tons of other things too. User mods are a strong part of the game and community.

I'm also using a D backend with a Lua front end for scripting with TONS of scripts (almost every object in the game is scripted with common cases off-loaded to the D binary.)

Probably plenty of other stuff but the point is, anything a computer can do (even off-loading physics calculations into CUDA cores to utilize your GPU to simulate my simple 2-D graphics game) I can do. I've even considered off-loading logic to those 200 connected peers with majority rules voting to reduce the burden on the server. The more players there are (normally slowing down the server), the more total distributed computing is available in the "network".

Many of those optimizations, I probably won't even need. I'm basically re-implementing a decade old, super-complex game, that runs on a piece-of-crap single-threaded interpreted-language "game system" that was never designed to implemented the physics (finite element/finite difference method) that was built into the game. So merely re-writing it in a real langauge like C++/D will almost guarantee a real 100x speed-up. And since I'm directly controlling the packet structure, I can optimize them to reduce spurious wastes of bandwidth generated by a "generic" engine written by a couple of dudes who may have no idea what they're doing (and never planned for their engine to be used for a game like this).

Basically, I'm re-writing my own Space Station 13 if anyone knows what that is.

{"name":"maxresdefault.jpg","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/d\/c\/dce5203deab4b00f4f7d6f72fb02f06f.jpg","w":1280,"h":720,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/d\/c\/dce5203deab4b00f4f7d6f72fb02f06f"}maxresdefault.jpg

And BYOND (the engine) is written in a Java VM (remember how slow Minecraft was?), that is then an interpreter for their custom language, that is all single-threaded and server-side. The "best" servers top out at around 100 players because after that (and also some in-game events) destroy the performance down to 1 FPS or less. The engine has almost NO support for multiple graphics layers, no easy support for animations or blending/coloring. The sound is super basic and has no support for "3-D" (well 2-D in this case) sound based on propagation rules. (I'm a big sound nut so my version will definitely improve the sound big time.) The game engine, which is Java, running a custom intrepretted language, is then used (read: abused) into running 2-D finite element physics calculations. The entire game was originally a 4chaner's physics engine built in the BYOND engine for fun during his grad school. Then people bolted on an entire game onto that. But fundamentally, BYOND is the WRONG TOOL for doing physics and the entire game (as someone with extensive playing and modding experience in the engine) is a "bad fit" for the engine.

They also have horrible encapsulation issues where BYOND supports Linux, but, certain "games" written in BYOND... like SS13.. don't actually work. Ugggghhhh...

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

Ariesnl
Member #2,902
November 2002
avatar

Unity is PROPRIETARY software...
And I like Allegro better.

@ Chris Katko: That looks nice !
Do you have a website ?

- Wisdom is the art of using knowledge
- String theory: There's music in everything

GullRaDriel
Member #3,861
September 2003
avatar

I pee on Unity and still use Allegro the Almighty.

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

Chris Katko
Member #1,881
January 2002
avatar

My website is currently down. I do own www.Katko.us though (for whenever I get it back online).

Here's a screenshot from my game awhile back.

{"name":"LAoUSPH.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/b\/3\/b34c3b969a94fb9988b200603edf564e.png","w":1904,"h":968,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/b\/3\/b34c3b969a94fb9988b200603edf564e"}LAoUSPH.png

(Using FTL asset for the ship background.)

In the pic I was experimenting with:
- Fire spreading
- Animated sprites (fire)
- Allowing multiple "maps" that can actually rotate and offset from each other and still "dock" with each other. (BYOND has only one map. You can't have a ship fly around on a map.) I've considered letting you "ram" structures to collide "maps" together so a ship can ram into a space station.
- Playing around with "shields"
- Doors/airlocks are in there too.
- FPS measurements. (It was off-the-chart just using Allegro5 and OpenGL :) )

I've actually thought about testing using CUDA cores for FEA fluid physics updates. Huge grids with small calculations, seems like a candidate for a GPU.

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

relpatseht
Member #5,034
September 2004
avatar

Using CUDA is a great way to lock out about half the user base. Stick with simple compute shaders. Perf isn't quite as good, but they work with nVida and AMD.

Unless you meant server side only, in which case, not the best idea to assume you'll have a GPU at all.

Chris Katko
Member #1,881
January 2002
avatar

I understand CUDA is nVidia only. Well, I think I forgot about it during the discussion but yeah.

It'd be server-side only. Many users host their own servers. It wouldn't be required, it'd be optional. As in, "if you've got a videocard, use it."

But yeah, it'll be setup for "plugins" so you can use the CUDA module, software module, or etc.

But either way, good point. I sometimes forget AMD can't run CUDA. (Although nVidia has >80% of the market. :P :P) Compute shaders would work too.

I'm a big AMD CPU fan but I'm straight nVidia when it comes to GPU's these days.

So all those poorly connected sentences lead to: CUDA isn't actually required to run a server or client. It'd just use it if available... and I actually bother to write it.

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

beoran
Member #12,636
March 2011

Why not open CL, that's more portable, at least.

relpatseht
Member #5,034
September 2004
avatar

OpenCL has pretty bad nVidia support. It's getting reasonable now, but nowhere near CUDA.

Both manufacturers are good with graphics though. If you can put your problem in terms of pixel/vertex shaders, neither will disappoint you. For most problems, this isn't actually too difficult.

Neil Roy
Member #2,229
April 2002
avatar

Allegro or SDL2 are the only real options for me. Both are excellent libraries, both have no strings attached so you can sell what you create without paying someone else.

If I were to go with an engine, I would probably go with Unreal as you can actually sell what you make to a certain amount without paying them which I thought was reasonable, and they have much more experience with engines than Unity.

But, if I create something, I want to actually code it, that's part of the enjoyment and a certain level of pride as well.

I try to use as much free software in development as possible, just to show people you don't have to spend a dime to get into it. You can use Code::Blocks to compile (with MinGW). Yes, Visual Studio is free now, but there are still strings attached if you wish to sell anything you make with it. Allegro or SDL2 as both are totally free, Audacity for my sound creation, Blender for my graphics etc.

And I still insist on using C, not C++. :P

bamccaig
Member #7,536
July 2006
avatar

CoD catches a lot of flak by default, but I thought the campaign on this one was quite good.

The reviews on it are mixed. Sounds like the enemy AI has "aimbots" (something I've noticed in past CoD titles), and a lot of people are complaining that it's completely historically inaccurate: locations, weapons, ... apparently there are black female Nazi soldiers... :-X It's $80 for me on Steam which seems extreme even if it was an amazing experience with no issues..

piccolo
Member #3,163
January 2003
avatar

I am programing using allegro 5

wow
-------------------------------
i am who you are not am i

Post Reply
 1   2 


Go to: