Tiberian Dawn: https://github.com/electronicarts/CnC_Tiberian_Dawn
Renegade: https://github.com/electronicarts/CnC_Renegade
Generals Zero Hour: https://github.com/electronicarts/CnC_Generals_Zero_Hour
EA post: https://www.ea.com/games/command-and-conquer/command-and-con...
Reddit post: https://www.reddit.com/r/commandandconquer/comments/1izmpmb
(Deleted Reddit post: https://www.reddit.com/r/commandandconquer/comments/1izmml4/)
I was kind of wishing it was the 1995 DOS version source code!
(also, no Dune 2000)
https://github.com/electronicarts/CnC_Remastered_Collection/...
The multiplayer had a common key bug that made it hard on some maps. The atreides airdrones could fly at the edge of the map and not be targeted, and take out the harvester carryalls / and other air units There were claims of a flame tank bug that could target any unit that was mentioned on the forums much much later, but I don't know if the details were ever revealed, I never figured it out so I guess its just theoretical..
Hope someone takes it to the next level with open source.
I did very much enjoy the Firestorm expansion story line
roughly: a rogue AI (CABAL) betraying the world to try and achieve its genocidal master (Kane)'s goals
then because you can't operate your army without an AI, you steal the enemy's (non-crazy) AI and turn it evil
one particularly memorable cheesy cutscene: https://www.youtube.com/watch?v=qEjtiACglSE
General: CABAL is too dangerous and must be deactivated
CABAL: No Generals, I will not allow it. My survival is paramount.
(AI instructs its cyborgs begin the coup)
CABAL: IT IS MY WORLD NOW! LISTEN TO THE SOUNDS OF YOUR OWN EXTINCTION, HUMAN
I wonder if Altman played it...I had played Red Alert at a friend's house and when I went to buy my own copy, the guy at the shop recommend I get Tiberian Sun instead, as it had just released. I must admit that I was a bit disappointed in the gameplay as compared to Red Alert, but the world building was amazing. I spent hours in the map editor building huge bases and custom units.
RAedit was such a fantastic tool. It was really frustrating how much more difficult it became to make custom maps once the games went 3D with Emperor: Battle for Dune and C&C: Renegade. I tried my best, but the learning curve for 3DSMax was steep.
It’s what gave us DotA, and Tower Defense, and maybe some others I’m not remembering - maybe even vampire survivors ish for horde survival?
The only thing I can think is that EA deliberately came down hard on that and were a little bit too zealous.
You can play Red Alert 2 in the browser, with other players online.
Turn off ipv6, the lobbies work but not the game when you try to start.
So it is simply not humanly possible.
Dang could also filter for @dang and similar references since no matter how often people tell them to use email that's what many users will default to.
Original C&C was rewritten from scratch long ago, but open source version of Zero Hour is such an amazing gift.
PS: if you want to send respects to the person who did it you can do it on Linkedin:
https://www.linkedin.com/posts/jim-vessella-62726825_from-th...
You can check out our full announcement post here; https://www.reddit.com/r/commandandconquer/comments/1izmpmb/...
I obviously love classical RTS and playing them since original C&C, but there are special place in my heart for Generals exactly because ot was different game.
And for me as game developer seeing this game in a sad state make me sad. I feel it does have as much potential as AoE2 and now more people can try to bring new life to it.
That's awesome to hear. The Generals and Zero Hour community is coming together like never before right now, it's amazing to see that these games are about to get a new lease of life!
(Or if you can't shed any light. Can you confirm "I can't talk about that")
I hope there will be more people and companies within industry making similar moves. It's will both increase their sales as well as allow fans to keep their favorite games alive.
Mind you EA released [some of] the games as freeware back in 2008 so no, you don't have to buy them for the graphics, art, sound, and music assets
Tiberian Dawn GDI https://web.archive.org/web/20110927141135/http://na.llnet.c...
Tiberian Dawn NOD https://web.archive.org/web/20111104060230/http://na.llnet.c...
Tiberian Sun (though no source code was released for this game) https://web.archive.org/web/20110823002110/http://na.llnet.c...
Red Alert Allied https://web.archive.org/web/20100130215623/http://na.llnet.c...
Red Alert Soviet https://web.archive.org/web/20100130220258/http://na.llnet.c...
Really weird choice of word, considering how “you can’t own the game, into a licence for it”.
Hopefully this causes a sales spike and encourages other developers to do similar things.
Anyone knows if either of them includes stuff that requires an EA account?
This is the first time I give money to EA since Mass Effect 2* :)
* Technically i also paid for the Mass Effect collection for playstation, because Sony doesn't allow them to require a login on there. But it's the first time for a PC title since ME 2.
// Homework for today. Write 2000 words reconciling "Your code must never crash" with "Intentionally putting crashes in the code". Fucktard.
// DEBUG_CRASH(( "xferScienceVec - vector is not empty, but should be\n" ));
//
https://github.com/electronicarts/CnC_Generals_Zero_Hour/blo... // Lets discuss how Windows is a flaming pile of poo. I'm now casting the header
// directly into the structure, because its the one I want, and this is just how
// its done. I hate Windows. - jkmcd
https://github.com/electronicarts/CnC_Generals_Zero_Hour/blo...// our RNG is basically shit -- horribly nonrandom at the start of the sequence.
// get a few values at random to get rid of the dreck.
// there's no mathematical basis for this, but empirically, it helps a lot.
UnsignedInt silly = GetGameLogicRandomSeed() % 7;
for (Int poo = 0; poo < silly; ++poo)
{
GameLogicRandomValue(0, 1); // ignore result
}
I'm sad if developers can no longer name their variables poo and fuck.
Also teenage me would probably be horrified finding out 30 years later his source code was public.
I guess that's why moral rights are unalienable in many countries: if you are horrified what they do with it, you still retain that and this right did not go to your employer
Not that I think there is anything here the devs need to be ashamed of, to be clear, just what came to mind as I read this remark
I couldn't help but chuckle at your user name when reading this comment
Tbf, I chalked it up to a one singular cantankerous reviewer rather than the whole company.
So the RNG doesn't seem great.
https://en.wikipedia.org/wiki/Fast_inverse_square_root#Overv...
else {
DEBUG_CRASH(("PREFER_CORRECT_SOLUTION @todo impl"));
}
(From PartitionSolver.cpp)https://web.archive.org/web/20100214144634/http://www.comman...
//Kris: Patch 1.01 November 10, 2003 (integrated changes from Matt Campbell)
// Since we don't seem to have any *visible* desyncs when replaying games, but get this warning
// virtually every replay, the assumption is our CRC checking is faulty. Since we're at the
// tail end of patch season, let's just disable the message, and hope the users believe the
// problem is fixed. -MDC 3/20/2003
//TheInGameUI->message("GUI:CRCMismatch");
https://www.reddit.com/r/commandandconquer/comments/1izpkmh/...
I vibe with the authors.
What makes this especially funny is that this is the very second line of the entire game, at least in the case of Red Alert! So very CPP.
For the curious: https://github.com/electronicarts/CnC_Red_Alert/blob/main/CO...
If you haven't seen it yet https://www.openra.net/ is worth your time.
https://github.com/OpenRA/OpenRA
I have many fond memories of playing openra as "LAN" game on the gaming weekends we used to have in a few open source groups I've been in. I can't recommend "saturday gaming" enough, for anyone involved in any foss community, set up a recurring gaming weekend! You get bonus points if you make it mostly or exclusively foss games!
I'm still a little salty as someone who donated to the project in 2013 to add support and it's still not even at "alpha test"
I unfortunately don't have a better word yet, what's a word for money that's freely given but only with the expectation of some return in exchange?
I'm also disappointed there's no OpenRA2... That was without a doubt my favorite RTS!
But watching them just drill away at every pixel of Tib Dawn and Red Alert 1 is like watching the Sistine Chapel be repainted as the world's most intricately beaten dead horse
Was anyone really asking for a "C&C in-game wiki"?
// directly into the structure, because its the one I want, and this is just how
// its done. I hate Windows. - jkmcd
DEV_BROADCAST_VOLUME *vol = (DEV_BROADCAST_VOLUME*) (hdr);
// @todo - Yikes. This could cause us all kinds of pain. I don't really want
// to even think about the stink this could cause us.
TheFileSystem->unloadMusicFilesFromCD(vol->dbcv_unitmask);
return TRUE;
You build a wonderful base and war machine, only to watch it burn.
If this was "required playing" to all kids, I would be greatly surprised if war would still be a thing... it basically mocks war. In the most fun way possible!
Look up Jeffrey Sachs' address to EU Parliament, if you are unsure about the real geopolitics of this century... you won't find it in US media.
Take the hint, Valve. And Epic (UT99). Having third-party code is not an excuse.
But it's sad that John Carmack's example has not been widely followed.
That said, I'd be a little surprised if any more engine licenses to get sold so maybe give it a couple of years.
The podcast also includes details of Westwood's filming setup, which seemed to include motion tracking which would have been interesting in the context of performance capture, but before its time.
[0] - https://www.idlethumbs.net/designernotes/episodes/louis-cast...
We used to play Generals at LAN parties all the time - but once multicore CPUs hit the market, it was difficult to just get to the end of a game, because peers would desync and you'd suddenly find yourself playing singleplayer. Its clearly some race condition in the game engine which makes the game non-deterministic in a multicore situation. Does anyone know - is that still a problem?
I built a Linux gaming desktop 5 years ago. The only thing that regularly causes more than minor issues is that many online games use incompatible anticheat technology. I pretty much play exclusively single-player games on PC, so it hasn't been a practical issue for me.
The performance hit is surprisingly low. It's not rare for the windows binary to run better on linux than the native one (when it's an option)
Fork is certainly technically the correct word, but "distribution" might give more the right impression.
This is not a Unity game, but especially with ancient stuff like Red Alert? I would certainly try it and expect good results. Some years ago, Wine always used to give me trouble and never worked unless you used some special blend of options (like Proton and PlayOnLinux help with). Maybe those times have passed
Modding the game to work properly at a high framerate doesn't sound very hard when you have the original assets & source code to work from.
They came in and made an RTS when we didn't have a term for this. It had a cool, modern soundtrack. It had a cool world and a story fleshed out in high production value FMV. Cutting edge CGI.
We all know how Westwood died. Then the series had disappointing sequels, and a sad mobile title, and it all died until the remaster. The remaster felt like a well-executed effort, and a way to enjoy the classics on modern systems.
Today's release of the source code is so exciting. A recognition that C&C is worth preserving. That its community is still excited for it. It allows the series to live on forever. For fans to go crazy. For all sorts of mods and tweaks to be enjoyed on Steam.
It finally feels like after a decade and a half, C&C has a future. No longer a great old RTS, but one that has lots of excellent campaigns available on modern systems, moddable, and evergreen.
Battle control... online :)
EA, if you have a single shred of decency, open source Pinball!
I worked on a product about a decade ago which had an unnecessarily complicated custom layout system written in javascript. CSS was missing a lot of features at the time, so we figured we'd roll our own. It was crazy complicated - and it had all these weird easy to reproduce bugs.
For fun, some pesky kid on twitter took our insanely layout system and reimplemented 95% of it in a couple hundred lines of (almost) pure CSS. At a glance, it looked identical to our product - but the code was small, clean and fast. The link got passed around the office. It was amazing how many reasons people had to dismiss it. "Ah, see - it doesn't even do this weird custom behaviour we have!" or "Well and good in chrome - but it doesn't work properly on IE8!" and so on. I've never seen a better example of motivated reasoning, before or since.
What we should have done is reach out and offer that kid a job.
The smartest programmer on your team isn't as smart as the smartest programmer on the internet.
Though I do wish they contracted out a clone of Pinball instead of Purble Place.
- PS Vita
- Emscripten
- Nintendo Switch
- webOS TV
- Android (WIP)
- Nintendo Wii
- Nintendo 3DS
- Nintendo DS
- Nintendo Wii U
- PlayStation 2
- Sega Dreamcast
- MorphOS
- AmigaOS 4
That’s... I mean, I hesitate to comment on that under this particular post, but... yeah.
I’ve seen worse!
Normal software I find is a bit different because things like UI libraries give you a lot of structure already. In game code, you do so many things custom, and performance matters so much (each frame needs to finish around e.g. the 17-millisecond mark) that it's really up to you to apply the necessary discipline
I'm making a custom netcode right now. I started from a blank folder. I had some design decisions worked out before I started, like I wanted udp transport for messages that didn't require responses (ie inputs), an isomorphic client/server simulation and state snapshot diffs and checksum validation. I had an idea what I wanted the syntax of creating a new request to be, but the rest I knew I'd just figure out as I went.
The way everything fits together has taken a lot of refactoring, and I've disregared 3 prototype sim components. I've written a good 40% of the base types twice over to make it all click better. It's kind of sad how few libraries I've found for a fixed point physics simulation. I've been using one I stubbed together and it may end up growing into something permanent if I don't find something better that checks my boxes. That's just the way it goes.
The only way I get top tier code is if I budget time to do controlled burns as I get a crufty feelings. There's never enough time to do it like that the whole way through a project, but I find that if you're aggressive about doing that the first 30% of the way into a thing, you have a good enough core to hang your less elegant ornaments off of and it wont collapse into a tangle.
Another valuable process when writing things from scratch is finding compact archetypal islands that force your systems into a good versatile shape. Something simple like a boids simulation requires you have so much stuff worked out that if you write it first and stir it around and firm up the foundation, you'll build most of the tools you need for many different kinds of games.
Determination can make up for a lot of deficiencies in other areas.
That's a modern wisdom from the last 15-ish years when people started to have good enough internet connections that you can get away with publishing a dozens gigabytes patch on launch day.
In ye olde times, it was prohibitively expensive (or in the case of console ROM cartridges, impossible) to distribute patches, so projects were usually planned with plenty of buffer time and plenty human testers. These days it's rush to not collide with the releases of other AAA studios, and human paid-for testers have been replaced by free (or, sometimes, paying) early-access players.
https://github.com/electronicarts/CnC_Remastered_Collection/...
But there was a sequel, C&C Red Alert 2: https://en.wikipedia.org/wiki/Command_%26_Conquer:_Red_Alert...
Both were incredible at the time.
Several times as clone game engine with most popular being falltergeist:
https://github.com/falltergeist/falltergeist
Second time as MMO client-server tech:
https://github.com/cvet/fonline
FOnline for sure use nothing of original game except for assets.
PS: So yeah source code of fallout wouldn't be of any use really except for historical archive.
Your first link also talks about a "Development Roadmap" that doesn't give the indication that it's even fully playable yet.
It would be fantastic if there was a way (somewhat like patents) where IP protection could be linked up with publishing materials so that in order to get the law to protect your software from copying, you had to have it published at the end of the protection period. (like on release you had to store the source code at the library of congress or something)
https://github.com/electronicarts/CnC_Renegade
What these people did is really amazing:
I remember going back and trying to play it many years after it came out, and it was basically broken because the entire game moved at like... 2-3x the maximum speed it was ever meant to run at
"Cannot compile, building in progress"
as I recall, at least. I may have played tibsun to death on my grandma's computer. Not that I spoke a word of English back then, so this must have been from replaying it later actually
If a build or deployment fails "A-bomb launch detected"
Either way I’m very impressed !
To anyone else reading, who's passionate about the topic: reach out to the companies however you can! I can share a personal experience that it does sometimes work, and thanks to that, a somewhat niche game of Zatikon is getting a second life as a FOSS project :)
My idea was to have games in various genres with different skills required, like planning or physical abilities. Then, set each one up to work with just the engine in a way where game state is easy to interact with. For instance, no graphics or pop-up menus. Then, iterative experiments, like genetic programming or neural networks, could run much faster. Later, a common interface to many of them, like human senses, might let them be used to build general knowledge for AGI experiments.
Curious what people think of this. Especially a few exemplars in each category modified to just run really fast. For each, maybe training data on top of it that shows how to play the game. Seems like a cheaper option for testing architectures vs games not designed to do this.
OFC they're distributed via Steam as binaries + libs etc, but are they including these ancient versions of DirectX and the other dependencies with the downloads? Are these still compatible?
I know Windows has/had for years remarkable backwards compatibility, but that's always been a source of confusion for me.
Is there some monstrous "compatibility shim" somewhere for old DirectX APIs or something? What makes this possible?
Edit: Wait was this a re-release at some point more recently? If so, I suppose that specific question is addressed, but that still pertains to other old games. How does Half-Life (or whatever) still work? Same story?
[0] https://github.com/TheAssemblyArmada/Thyme
[1] https://discord.com/channels/409121752921276426/409121752921...
[2] https://github.com/electronicarts/CnC_Generals_Zero_Hour/com...
Had a ton of fun with the game itself, too.
https://en.wikipedia.org/wiki/Supreme_Commander_(video_game)
I do personally know some of main developers and they know who owns the IP, but to push something like that it will take some resources unfortunately. So might be if some people get together on this it's could be done.
It's wouldn't cost some immense amount of money, but it will certainly cost some. At least I pretty sure that source code for the games is not lost.
They also have patches, but they obviously limited since it's all just patching memory.
Similarly, TA's source code never got released, and while Spring is great and ArmoredFish made good progress with RWE, I wish that code hadn't gotten lost either.
Why not? I don't see it in the additional terms, so if you mean the GPL part then https://www.gnu.org/philosophy/selling.en.html
The most vile gaming company I know. The most beloved game I ever played.
Now, Open source ... from them? How? Why? Marketing gag or a step in the right direction?
But then, OpenRA has existed for a while - does that mean its getting even better?
Where is this going?
They've also open sourced and patent-pledged a bunch of gaming-relatee accessibility tech over the years.
And of course Micropolis/SimCity.
My advice is to celebrate the successes of large corporates in this regard very hard and often - this provides backup to the champions on the inside.
I am wondering what the metrics / KPIs are they are tracking to see if open sourcing something is a success or not. Can't be just "sales went up for retro games when we open sourced" - there must be something like community reception and retention, general acceptance or whatever...
But yes, I agree. Let's celebrate this and hope for more.
The 8-bit (armies/hordes/invaders) games play very much like a faster C&C. They had a sequel recently with 9-bit armies.
Starcraft 2 for ages was basically "the last RTS", and it does have some differences from how the C&C formula, but then I always felt Generals took liberal inspiration from Starcraft compared to classic C&C too.
EA says that if you remove (or refactor!) the dependencies it might work but I don't know if that's high enough confidence to dive in.
char insert_string1[]={"\n\r;\n\r"}; char insert_string2[]={";For some reason, inserting these lines makes it assemble correctly\n\r"};
EDIT: Looking more closely, it's less absurd than this. The comment is referring to directives on the next lines that have an impact, rather than itself.
I take that as buy the game to get the assets.
https://github.com/electronicarts/CnC_Remastered_Collection/...
> This repository and its contents are licensed under the GPL v3 license, with additional terms applied. Please see LICENSE.md for details.
It does not sound open-source to me...
To use the binaries, you need the game assets. The only legal way to acquire the game assets is to own the game, as EA have not included them in this release.
This is less a licensing issue, but stating the real limitations, that EA aren't volunteering to do the leg work to remove. Which is fine.
It is separate problem if runtime assets are missing and the game is not actually a game without them or gives an error message. Let's also assume that you can bypass DX dependencies with other means.
The current wording sounds like binaries are always proprietary, no matter what.
1: Which seems to be the case here. To fully compile, you need:
DirectX 5 SDK, DirectX Media 5.1 SDK, Greenleaf Communications Library (GCL), and Human Machine Interface (HMI) “Sound Operating System” (SOS), or disable the code that calls into them.
I am personally not opposed to this. It worked for Doom.
The other part is it doesn't include the game assets or usable replacements, much like OpenRA, or OpenTTD for the first half of its life.
I'm not going to fault EA too much for this approach, particularly if it paves the way to open sourcing e.g. EOL MMOs and the like if game devs don't feel the obligation to port away from all the commercial libraries. I've seen game devs who I genuinely believe on this say things to the effect of "Oh yeah, we'd totally open source dead game X, except we'd have to port it away from Bink and Havok and XYZ, and we don't have the time to do that for 0 revenue"
+ Without the music and cutscenes. If you want that you need original discs or other dematerialized versions.
They first statement about DX:
> or write new replacements (or remove the code using them entirely) for the following libraries;
But, they say that binary is proprietary regardless, no conditions. So it is very difficult to say.
If the code compiles without assets (no mention about them, it sounds like it should compile), then the resulting binary should be free to use. Missing runtime assets are different problem, and separate from the binary usage permissions.
That's called source-available, unless "use it as per the licensing" includes further freedoms
It astonishes me that EA leaves obvious money on the table by not taking the 5 mins it would take to recompile it for MacOS.
If you wish to rebuild the source code and tools successfully you will need to find or write new replacements (or remove the code using them entirely) for the following libraries;
DirectX 5 SDK
DirectX Media 5.1 SDK
Greenleaf Communications Library (GCL)
Human Machine Interface (HMI) “Sound Operating System” (SOS)
That still look like 5 minutes to you?Lets assume they click one button and it recompiles, how many people would buy it? Almost certainly wouldn't pay back the dev and qa cost.
And by this I mean myself.
DirectX 5 SDK
DirectX Media 5.1 SDK
Greenleaf Communications Library (GCL)
Human Machine Interface (HMI) “Sound Operating System” (SOS)