Jump to content

Dethrace - Carmageddon 1 Reverse Engineer

Recommended Posts

I've been a lurker/watcher of the Game Dungeon channel over the years, and I've noticed Ross slip some Carmageddon 2 clips in here and there.  So I figured I'd post this here since it kind of has to do with that.  It's not Carmageddon 2 specifically, but for fans of the series overall this would still be great news.

 

Carmageddon 1 is being actively reverse engineered into open source code.

 

Links For Learning More:

GitHub project: https://github.com/dethrace-labs/dethrace

 

Twitter account for the project: https://mobile.twitter.com/dethrace_labs

 

This Week In Retro covering it: https://m.youtube.com/watch?v=jTanVXr2yEo

 

Disclaimer: This is NOT my project, I am not one of the devs, I just knew about this for a while and I'm spreading the word a bit.

 

Why/How This Happened:

A more complete story can be found on the GitHub repo, but here's a quick summary.

 

Basically, on the Splat Pak expansion disk, one of the devs left the debugging symbols for the game on the disk.  To someone who knows what they're doing, these symbols are a great help in reverse engineering the game engine code.  It's not like getting a flat out full dump of the actual source, it's more of getting a map of all of the functions in the program, their expected inputs, and their expected outputs.  You as the developer still have to write new code to actually make things happen, but you know where to start and know where to stop.

 

I believe a very similar thing happened with the original Diablo, where the devs left the debug symbols on the PS1 copy, which was used to make devilutionX.

 

Why This is Legal:

Well firstly, it's not our fault that a developer left those debug symbols on the disk.  All we (as in the community/public) did was find them there and utilize them.

 

Secondly, this is clean room reverse engineering.  The original source code was NOT leaked or stolen.  The guys doing the reverse engineering still have to write their own completely unique and original code to make this all work.  All they know are expected input and output data types for each function.

 

Thirdly, there is no game data in the source code.  Even with the Dethrace reverse-engineer you still have to buy Carmageddon 1 to play the actual game.  Think of this like Doom source ports.  Just because you have GZDoom doesn't mean you have Doom, you still have to purchase the latter to play it in source ports.

 

Basically, nothing going on here is illegal, so there's no threat of this being shut down unless the current IP holders REALLY want to be dicks about it.

 

What This Can/May Eventually Entail:

--Buildable source code on modern systems: not needing ancient compilers, etc.

--Cross platform: PC, Mac, Linux, Android, iOS, Console Homebrew (C1 on Wii anyone?)

--Related to above: will run natively on modern systems, no DOSBOX needed

--Bug fixes, like that fast timer glitch

--WAY easier to mod

--Working multiplayer: no more IPX wrappers

--Preserving an important piece of gaming history (speaking specifically to GaaS Ross)

 

Current State:

Again, check the GitHub and Twitter for the most up to date news regarding the progress... But as of writing this post I know that car driving and physics work, opponents seem to mostly work, and the menus work.  It's not totally done yet, but it is actively being worked on my multiple people (I am NOT one of them).

 

Getting Involved:

I don't want to speak on behalf of the devs, but I'm sure they would appreciate any help they can get from anyone out there experienced in reverse engineering and/or programming.  Check the GitHub for the current state of the code, or join the Carmageddon Discord server and stop in the #dethrace channel to speak to the devs.  They're pretty active and responsive for the most part.

 

https://discord.gg/W5bcGzCn

Edited by sirarthurhipoint
Adding disclaimer I should have added at first but forgot to (see edit history)

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in the community.

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

This website uses cookies, as do most websites since the 90s. By using this site, you consent to cookies. We have to say this or we get in trouble. Learn more.