Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
OpenRA: Open-source RTS game engine for games such as Command and Conquer (github.com/openra)
377 points by trymas on April 28, 2022 | hide | past | favorite | 80 comments


For more of an open source Age of Empire like experience - 0ad is quite good and moddable.

https://play0ad.com/

For modders - while the 0ad Pyrogenesis engine is C++ based - its interesting to note that the mods are javascript/XML based and somewhat grokkable - everything from the animation descriptors to economics/AI. You can even mod the UI menu elements using JS/XML.

https://wildfiregames.com https://trac.wildfiregames.com/wiki/Modding_Guide


I tried playing 0AD a few times over the years. It's a beautiful game, or at least by standards at the time that I last played it, and if you compare to nearly any available open source free game, it really blows the competition out of the water. Also I don't remember seeing bugs and I think it's also multiplayer. All in all extremely impressive.

The problem for me is that I don't understand it. It has been too long now to say what I've tried or where my confusion came from, but while the general concept of building a base to build an army is clear (because that's how AoE works), I think I was confused by the win condition, or something about being nearby enemy entities to convert them automatically iirc. I didn't know anyone else that played it so I'd have to explain it to friends to play it together, so instead I guess I moved on.

Does anyone know a good site or video that explains the most important rules and mechanics from start to finish? I'd still be interested in playing this with friends if I can understand how it works. Or maybe I should just give it another stab now that I'm not a teen anymore.


I can't say I've actually played the game itself much as I'm mostly casually looking to add an economic mod to make it more similar to Anno1800/Settlers. :) I do recall you can win easier by taking over competiting towns. The nice part is that there's less risk for your friends since they don't have to buy anything. Just be be sure you're on the same version.

There are some Youtube videos by Nookrium and Tom 0ad

https://www.youtube.com/channel/UCS-SFei6NFRuGN8CKtAsYrA

Interestingly the base game itself is implemented as a huge mod and is mostly JS, so if you're willing to go spelunking.

https://github.com/0ad/0ad/blob/master/binaries/data/mods/pu...

https://github.com/0ad/0ad/blob/master/binaries/data/mods/pu...


I agree it's kind of confusing. It's been awhile since I played and I never understood it 100%, but anyways there are certain kinds of buildings that expand your territory, and their range of control goes up with tech level. If an enemy building is inside your territory, it gradually becomes yours. You can also surround an enemy building with your units to capture it.


You can also put your units inside the building to prevent it from being taken. For example a tower/turret that is empty can easily be claimed by your opponent. But if you put 5 people in there, it shoots more arrows and is much harder to capture.


Why is the top comment on an open source game always about 0ad :(


Probably because 0AD is one of the best around in its category. I may not have understood it fully however as it's too hard for me to play; I always get crushed by enemies before I can grow to a significant level. One of my favorites among FOSS RTS has been Glest, then Megaglest: https://megaglest.org/


that's like every post about ruby somebody comments about Crystal..


It should be noted that "Red Alert: Remastered" is open source (but not free as in beer, probably not free as in freedom either).

If you buy "Red Alert: Remastered" on Steam, there's a directory that lists the entire source code of Red Alert: Remastered.

-------

They probably did that because OpenRA was so popular, and that people would be curious how the original was also coded. The "Remastered" edition only came out in 2020.

Warning: Red Alert: Remastered includes a bunch of x86 assembly files for 64-bit MMX SIMD. Some ugly, 90s-era assembly language there for pathfinding...


They licensed it under the GPL3 so it's free software. You can also get it also from EA's GitHub:

https://github.com/electronicarts/CnC_Remastered_Collection

They only released the source to the game logic, not the full engine.

And of course, the game data is not free.


See also https://github.com/TheAssemblyArmada/Vanilla-Conquer made by former modders based off that release.


Open source means people could redistribute the code, is that the case? Or do you only mean the code is available to view, but you are not free to redistribute (which would not meet the definition of open source)?

Tales of Maj'eyal is open source, you can redistribute or sell the source code of the engine, but the assets that comprise the game are not free.


Open source generally means people can read the source.

Anything past that gets to some specific license


Most people call that "source available" which has a very different meaning.


"Most" would depend of the bubble you live in. In mine, it's wrong.


I'm pretty sure "Open source" is a legally protected phrase owned by OSI with a precise definition.


I'm pretty sure "Open source" is a legally protected phrase owned by OSI with a precise definition.

It does have a precise definition (the OSD[1]), but OSI does not own the phrase in the sense of owning a (registered) trademark on it. They applied for such a trademark decades ago, but ultimately abandoned the application IIRC. That said, registered trademark or no, the OSD is by far and away the most widely accepted and used definition of what it means to be "open source". I'd argue that it is a de-facto standard, albeit not a de jure standard.

[1]: https://opensource.org/osd


This is far from the first time I see this discussion. If anything, it makes me even more heavily dislike the confusion created by using the word "open", which already carries a definition, to describe this concept that's actually more than "open". Free or libre software at least means what it says.


Right. At this point there's an established playbook:

1. Someone who doesn't understand open source claims that open source means source available

2. Someone who does understand open source points to the OSI definition and points out that availability of source is nowhere near enough

3. Bickering about legal matters as if trademark law is the best way to handle terminology

4. Accusations that it's essentially tyranny for the OSI and FSF to try to establish standard definitions for open source and free software, or for the rest of us to insist upon proper use of these terms

Examples:

https://news.ycombinator.com/item?id=25367131

https://news.ycombinator.com/item?id=25834067

https://news.ycombinator.com/item?id=26079067

https://news.ycombinator.com/item?id=27267367

https://news.ycombinator.com/item?id=25364878

https://news.ycombinator.com/item?id=26017500

https://news.ycombinator.com/item?id=31084823


Normal people get really confused by the word "free" to the degree that I think it might actually be worse than "open." Libre is really perfect but no one wants to call it that because it sounds silly.


> Libre is really perfect but no one wants to call it that because it sounds silly.

Maybe I'm biased cause the word exists in French, but I'm not sure how "libre" sounds silly.

We really have to stop letting engineers name things...


While bubbles do exist, "open source" means readable and redistributable in both Wikipedia and Merriam-Webster, so I'd agree that mostly it means that.

https://en.wikipedia.org/wiki/Open_source

https://www.merriam-webster.com/dictionary/open-source


Another interesting project is Chrono Divide: https://chronodivide.com/

It's Red Alert 2 reimplemented in Typescript.

Unfortunately no source available but the dev does say he plans to release it once he feels comfortable with it.


We used to have RA2 lan parties and now half of use grew up in to software engineers. Will be watching for this source to drop like a harrier.


This project is so impressive. It doesn't feel "off" at all like so many recreations. It really is Red Alert 2 in a browser, right down to the menu animations. So much attention to detail.

Sadly, while you don't notice at first, it's missing a great many critical features, which render it much less fun to play.


My friends and I stumbled on OpenRA some years ago when it kicked off, and like many here played the original as kids. The OpenRA remake is well done, and gameplay is much more interesting because of unit modifications. I recommend "Five Aces" youtube channel, where he regularly casts game replays if you want to take a look before hand.


I have some ideas for RTS games that are somewhat different from the usual norm. I've been thinking about doing something with Spring RTS and old Total Annihilation assets. Wondering if this engine might be more amenable to conceptual experimentation?


If your idea involves ballistic physics, then it will be better to use Spring RTS. You can try making a prototype of your idea using the map editors from Warcraft 3 or Starcraft 2, as they let you do a ton of customization.


A new Total Annihilation could be pretty awesome. Especially if you could zoom in and control a unit first person



I'm one of the devs for that, thanks for mentioning it!


This looks really similar to Zero-K (https://zero-k.info/), would you mind giving a quick list of key differentiators?


ZK deviates far further from Total Annihilation, while BAR is much more of a successor.

2 factions with tiered factories instead of the "flat" balancing, and instead of using the local energy grid for Overdrive you build Metal Makers that convert energy to metal for you.


I like Zero-K but the maps the game takes place on seem to be very small. (And the music is awful)

That said the enemy AI seems to have a bunch of neat tricks up its sleeve. And it feels like TA-in-3D.

Also, I wish the developers would spend some time making the UI feel a little more lively.


Been playing BAR for a few months now. So far I think its one of the best TA inspired games Ive come across. Great work! Any plans to allow third party unit mods or AI mods similar to TA?


Interseting - I had not heard of this one!


And if you like Supreme Commander there's https://www.sanctuary-rts.com/


Not TA but there is an old Unreal Engine mod that brings is essentially C&C Renegade. Called Renegade X (https://www.moddb.com/games/renegade-x)


Thanks for all the tips in thread. Big fan OpenRA / TA.


Voila: https://zero-k.info/ Even available through Steam, gratis.


cool!


There is at least one other RTS in development using the OpenRA engine: Dorf RTS. https://twitter.com/dorfrts



Its funny, that almost seems a bit more troublesome than it was to do with the original game.


In the vein of recreating old games, but open sourced: OpenTTD is a remake of transport tycoon delux, and is a great logistics sim. https://www.openttd.org/


If you’d like to watch some games, the scene streams quite frequently: https://www.twitch.tv/directory/game/OpenRA


Quickly installable via AppImage for Linux users:

https://www.openra.net/download/

The Red Alert Multiplayer section is quite alive.


I have a personal story with OpenRA.... I learnt my first lesson on open source contributions from them: Talk to the maintainers before you submit stuff.

I did not like the var keyword in C#. They did.

I understood them 1 year later ;) Since then I am using var and I am MUCH faster adopting new styles. Thanks!!!

Does Spock AI still exists?


They did a great job. I have enjoyed their port of Dune 2000 very much.


I've been playing Red Alert on this for a few years, and it's sooooo good. I used to play RA as a kid, and I love having it back.


A friend of mine lived "long-distance" to me, phone wise. We'd split the phone bill we'd accrue when we'd dial each other's modem to play multiplayer. $0.10/min wasn't cheap to middle-schoolers, ha.


Shoulda got into phreaking!

It’s fun to think about it now since 0% of the tricks still work but you could have called him for free fairly easily.


> It’s fun to think about it now since 0% of the tricks still work but you could have called him for free fairly easily.

Ironically the tricks don't work anymore, but today you can call anywhere virtually for free.


Love it


I just added a finicky 3d perspective to my own hobby fork of OpenRA:

https://youtu.be/d_ElMUB5De0

https://youtu.be/ql0sugFjlv8

the goal is to make the engine (whih is surprisingly versatile - and trait based) into a 3d lego game engine. it already successfully loads gltf models exported from blender!

https://github.com/bjorn-ali-goransson


Check out Veloren - open source Breath of the Wild / Minecraft inspired game - amazing quality for such a new project.

https://veloren.net/


And other open-source clones of popular games: https://osgameclones.com


Interesting. I wonder if this could be a good candidate to build a real time w/ pause RPG, ala Baldur's Gate/Icewind Dale.


You can just use an engine specially built for that

https://gemrb.org/Features.html


My understanding is that it is built #1 for running Infinity Engine games. While it can also be used for a new game, I think one may be limited to dealing with BG-type game data, such as 2DA.


My assumption is that the engine was built with a narrow goal of compatibility and execution of classic titles, with some modability/customizability of those. I'd be surprised if it's a good choice for net-new endevours.


This is stunning, I remember playing c&c with a crossover cable with my downstairs neighbour for days on end, so nice to have the code for it now.


I wonder how RTS game on mobile could look like, since it requires a lot of GUI buttons to control

perhaps simplified version could work, like MOBA on mobile


The best RTS I ever played on a phone was on a Palm Treo 650. I don't remember the name but I had some much fun with it.

edit: Found it. https://www.youtube.com/watch?v=bdlJBw2GKFQ

Looks like it's on Android! Downloading it now.

https://play.google.com/store/apps/details?id=com.spiffcode....


That is a fantastic game. Supposedly it's open source, though I haven't got it to compile and run that way.

https://github.com/spiffcode/hostile-takeover


Is it the same code used in the original RA, or did the OS community write OpenRA from scratch?

Also, anything similar for RA2?


Looks like a clean-room implementation [1]

[1] https://github.com/OpenRA/OpenRA/wiki/FAQ#is-that-legal


Sounds like hard work, lots of respect to the makers.

Would be incredible if EA released the source code like Id did for doom.


Tiberian Sun and RA2 have been "in development" since 2013

Unfortunately it requires overhauling OpenRA in its entirety, so progress has been glacial


It's heartening to hear, it's no surprise it's a monumental workload. Huge props to those making it happen.


Romanov's Revenge


I've been using this with the kids for awhile. It is fun. They've made a few small changes. We added an aircraft that can attack ships and subs and spot subs underwater. We gave up on changing the artwork for this new unit.


The description is misleading: this is a greenfield engine that just can reuses the original assets. The actual engine is now also open source.


This is a very nice project. I had the change to test it a few months ago using a raspberry pi and it was great to remember old times.


I will one day use this engine to make some fun games, already some ideas in my head, good job guys!


love this open sourcing of classic pc games.

now i only wish somebody turned Total War series into open source, especially the map campaign mode


The beauty of open source: be empowered to be the change you wish to see!

I'd offer to collaborate but I have neither the skills nor know the game beyond having heard of the name before.


the problem is funding. not all of us can dedicate time working for free. this is a problem in general for open source.


It doesn't have to be full time of course, I wouldn't have the time for that either. I don't know the exact details but from my understanding, OpenRCT2 basically took a machine-decompiled version of the game and started replacing things with proper code as they went along, fixing bugs, adding things they liked... and just keep the dependency on original game files to avoid copyright issues: if you don't have the original you simply can't play. That might work here as well?


Nitpicking, but I don't think you should remove ": Red Alert" part in the title, considering it's literally called "openRA".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: