
Video Game Preservation – An archive of commercial video game source code - groundlogic
https://github.com/videogamepreservation
======
ggambetta
As every time this comes up, and in the hopes of someone reading HN knows
someone who knows someone... I'd love to get my hands on the source code of
Dark Sun: Shattered Lands and Dark Sun: Wake of the Ravager (SSI Gold Box
RPGs), and to a lesser extent Twilight: 2000 (Paragon Software), and Little
Big Adventure / Twinsen's Adventure and Twinsen's Oddysey. I'd love to port
them to modern systems and/or remaster the art to the extent that is possible.
These are games with incredible gameplay but whose art hasn't aged that well.

Also periodic beg to Splash Damage / whoever owns the rights to the content
for Enemy Territory to release them, so they can be modded (not the source,
but the maps and models). Again, perfect gameplay, would love to see it with
modern 3D capabilities.

~~~
IntelMiner
There's few things I wouldn't give for the source code to the old Westwood
games. Particularly Tiberian Sun/Red Alert 2

Word around the internet though is that EA lost the source code to all the
pre-Generals (2004) C&C games

~~~
DCoder
I can't comment for sure if they still have the source, but I know that EA
made changes to those games when they released The First Decade [0] to make
their CD-checks accept the new DVD. Most of the games were recompiled (so
source was available) for that.

\---

But the RA2: Yuri's Revenge binary was just patched where needed. This
distinction was made because at the time YR already had some hardcore fans
decompiling it and enhancing it, EA's community manager heard about this and
made sure that community effort was not destroyed. I was one of those fans,
and taking it apart was one hell of an adventure. We didn't decompile all of
it, but we figured out many details, and added a lot of bugfixes and
enhancements. It's not the same thing as the real source code, but you can see
what we got in [1]/[2]/[3] (unfortunately those haven't been updated in a
while).

[0]:
[https://en.wikipedia.org/wiki/Command_%26_Conquer:_The_First...](https://en.wikipedia.org/wiki/Command_%26_Conquer:_The_First_Decade)

[1]: [https://github.com/Ares-Developers/YRpp](https://github.com/Ares-
Developers/YRpp)

[2]: [https://github.com/Ares-Developers/Ares](https://github.com/Ares-
Developers/Ares)

[3]:
[https://www.modenc.renegadeprojects.com/Contributing_to_Ares](https://www.modenc.renegadeprojects.com/Contributing_to_Ares)

------
tmikaeld
The Descent readme was interesting:

Mike: ... At first all I cared about was writing technically good code.

Matt: Then we ran out of money and all we cared about was finishing our game.

Mike: Right. Our code got ugly, but our game got done.

[1]
[https://github.com/videogamepreservation/descent](https://github.com/videogamepreservation/descent)

~~~
lostgame
Looking at the source for Descent would be rather fascinating - it was
certainly one of the earliest examples of a 'true' 3D engine, with 3DoF, where
DOOM was still locked to flat surfaces.

(ZDoom, and the beyond-incredible Sonic fan game SRB2, based on the DOOM II
source, both support slopes in their engine, at this point).

I'm not gonna lie, Descent blew my mind when I was like 11 and fiddling with
the DOOM II source.

~~~
justin66
The code for Descent has been available for a long time and if you're going to
look, you should probably check out some of the links and info here:
[http://icculus.org/d2x/](http://icculus.org/d2x/)

------
Infernal
Tangentially related, I have a dozen or so of my favorite games from the mid
90's through early 00's on CD-ROM that I would like to preserve. Unfortunately
they seem to almost all have some DRM that prevents me ripping an image from
them, but I'd much rather keep a few hundred meg ISOs on my media server than
a stack of jewel cases in my closet.

Has anyone else solved this issue?

~~~
groundlogic
I guess, if all else fails, mail them to the Internet Archive Physical Archive
in Richmond California:

[https://help.archive.org/hc/en-
us/articles/360017876312-How-...](https://help.archive.org/hc/en-
us/articles/360017876312-How-do-I-make-a-physical-donation-to-the-Internet-
Archive-)

It should be a matter of time until someone figures out the DRM, and this is
the right place for these historical artefacts to be.

(And if you do manage to rip them yourself, please upload the images to their
cdrom collection ([https://archive.org/details/cd-
roms](https://archive.org/details/cd-roms))!)

~~~
Aeolun
Scrolling through the CD-ROM collection is such a hit of nostalgia.

------
git-pull
Commercial games are shipped on a quick schedule, so this doesn't always apply
unless its a project that's maintained/cleaned up.

What I'd like to see (2D games): Permissively licensed, widget / sprite
tooling, handling of rotation, blitter, canvas resizing, scaling.

Anecdote: I made a request for a Zelda clone to make their code available via
a commercial-friendly license here: [https://github.com/solarus-
games/solarus/issues/826](https://github.com/solarus-games/solarus/issues/826)

Look at this, well-maintained C++ bits and pieces wrapping around SDL2, that
could easily apply _to more than just this game_ :

[https://github.com/solarus-
games/solarus/tree/dev/src/core](https://github.com/solarus-
games/solarus/tree/dev/src/core)

[https://github.com/solarus-
games/solarus/tree/dev/src/graphi...](https://github.com/solarus-
games/solarus/tree/dev/src/graphics)

If something is open sourced, I highly prefer it if generic parts are
available for everyone to use on their own projects. Keep the creative work
proprietary / GPL / etc.

One reason we do open source is we don't want to perpetually reinvent the
wheel. Projects last longer when they have users. And in this case of a
library, your stuff is directly used by developers, further increasing the
likelihood of reciprocal contributions / sharing the burden of maintenance.

~~~
ekc
The GPL is a commercial-friendly license, and in fact, that's one of the
freedoms it explicitly protects.

~~~
brooksidetiger
Its disingenuous to call it commercially-friendly. The vast majority of
commercial users don't want to be subject to the terms of sharing their own
code or modified versions of the GPL'd code, regardless of how 'fair' one
thinks such an agreement is. Permissively licensed code allows commercial
usage without the restrictions that commercial users actively avoid.

~~~
ekc
The GPL is no less commercially friendly than the MIT, given it allows
commercial usage, and explicitly protects commercial usage.

~~~
a_t48
Funny that every company I've worked at is ok with MIT and won't touch GPL
with a 10 foot pole.

------
RotsiserMho
There's a fascinating write-up by John Carmack in there about porting the
original Wolfenstein 3D to the iPhone. Crazy to think that was over 10 years
ago.

[https://github.com/videogamepreservation/wolf3dios/blob/mast...](https://github.com/videogamepreservation/wolf3dios/blob/master/Carmack_iPhone_development.doc)

------
groundlogic
Note: This collection is the work of Simon Morgan,
[https://sjm.io/](https://sjm.io/).

~~~
badpenny
That's me. Thanks for the credit. I've had some help with people pointing me
to some things that I don't already have archived so if anybody's aware of
anything that I'm not, please tell.

~~~
groundlogic
Thanks for the work, dude. It's an awesome collection.

Edit: a suggestion: you should have an index somewhere with a year-by-year
list of the games. Maybe create an index github repo with some static
HTML/markdown?

~~~
badpenny
Good idea. I should probably knock up some kind of website for that kind of
thing.

------
groundlogic
I just did some busywork picking out what I think were the impact-wise most
important games out of these (roughly half of them - super subjective :)), and
then sorted them by release year, for your browsing pleasure!:

Robotron: 2084 (1986) by Vid Kidz for the Atari 7800

[https://github.com/videogamepreservation/robotron-7800](https://github.com/videogamepreservation/robotron-7800)

Galaga (1987) by Namco Limited for the Atari 7800

[https://github.com/videogamepreservation/galaga-7800](https://github.com/videogamepreservation/galaga-7800)

Dig Dug (1987) by Namco Limited for the Atari 7800

[https://github.com/videogamepreservation/digdug-7800](https://github.com/videogamepreservation/digdug-7800)

Centipede (1987) by Atari, Inc. for the Atari 7800

[https://github.com/videogamepreservation/centipede-7800](https://github.com/videogamepreservation/centipede-7800)

Asteroids (1987) by Atari, Inc. for the Atari 7800

[https://github.com/videogamepreservation/asteroids-7800](https://github.com/videogamepreservation/asteroids-7800)

Ms. Pac-Man (1987) by General Computer Corporation for the Atari 7800

[https://github.com/videogamepreservation/mspacman-7800](https://github.com/videogamepreservation/mspacman-7800)

Commando (1989) by Capcom Co., Ltd. for the Atari 7800

[https://github.com/videogamepreservation/commando-7800](https://github.com/videogamepreservation/commando-7800)

Prince of Persia (1989) by Jordan Mechner for the Apple II

[https://github.com/videogamepreservation/princeofpersia](https://github.com/videogamepreservation/princeofpersia)

Hovertank One (1991) by id Software, Inc.

[https://github.com/videogamepreservation/hovertank3d](https://github.com/videogamepreservation/hovertank3d)

Wolfenstein 3D (1992) by id Software, Inc. for DOS

[https://github.com/videogamepreservation/wolf3d](https://github.com/videogamepreservation/wolf3d)

DOOM (1993) by id Software, Inc.

[https://github.com/videogamepreservation/doom](https://github.com/videogamepreservation/doom)

Rise of the Triad: Dark War (1994) by Apogee Software, Ltd.:

[https://github.com/videogamepreservation/rott](https://github.com/videogamepreservation/rott)

Beneath a Steel Sky (1994) by Revolution Software.

[https://github.com/videogamepreservation/bass](https://github.com/videogamepreservation/bass)

Heretic (1994) by Raven Software

[https://github.com/videogamepreservation/heretic](https://github.com/videogamepreservation/heretic)

Gravity Force 2 (1994) by Bits Productions

[https://github.com/videogamepreservation/gravityforce2](https://github.com/videogamepreservation/gravityforce2)

Descent (1995) by Parallax Software Corp.

[https://github.com/videogamepreservation/descent](https://github.com/videogamepreservation/descent)

Hexen: Beyond Heretic (1995) by Raven Software

[https://github.com/videogamepreservation/hexen](https://github.com/videogamepreservation/hexen)

Abuse (1995) by Crack dot Com

[https://github.com/videogamepreservation/abuse](https://github.com/videogamepreservation/abuse)

Duke Nukem 3D (1996) by 3D Realms Entertainment, Inc.

[https://github.com/videogamepreservation/dukenukem3d](https://github.com/videogamepreservation/dukenukem3d)

Descent II (1996) by Parallax Software Corp.

[https://github.com/videogamepreservation/descent2](https://github.com/videogamepreservation/descent2)

Quake (1996) by id Software, Inc

[https://github.com/videogamepreservation/quake](https://github.com/videogamepreservation/quake)

Quake II (1997) by id Software, Inc.

[https://github.com/videogamepreservation/quake2](https://github.com/videogamepreservation/quake2)

Postal (1997) by Running With Scissors

[https://github.com/videogamepreservation/postal](https://github.com/videogamepreservation/postal)

FreeSpace 2 (1999) by Volition, Inc.

[https://github.com/videogamepreservation/freespace2](https://github.com/videogamepreservation/freespace2)

Homeworld (1999) by Relic Entertainment

[https://github.com/videogamepreservation/homeworld](https://github.com/videogamepreservation/homeworld)

Aliens versus Predator (1999) by Rebellion Developments Ltd.

[https://github.com/videogamepreservation/avp](https://github.com/videogamepreservation/avp)

MechCommander 2 (2001) by FASA Studio

[https://github.com/videogamepreservation/mechcommander2](https://github.com/videogamepreservation/mechcommander2)

DOOM³ (2004) by id Software, Inc.

[https://github.com/videogamepreservation/doom3](https://github.com/videogamepreservation/doom3)

~~~
jki275
Wow - this is an amazing list.

------
dbish
This is really cool! Video game preservation has been something on my mind
recently, but I was interested in preserving the game play experience for some
older and more esoteric games that haven't been recorded on youtube or twitch,
along with some notes on the core mechanics so information about them isn't
lost.

------
jdmoreira
I'm going to drop this on HN hoping that the internet works its magic...

If you worked on microprose and for some reason still have the source code for
Mtg Shandalar, please do us all a favor and leak it!

------
big_chungus
Can any one recommend an old engine to go through? I'm working on learning
graphics programming, and would appreciate a few examples. I've poked through
godot a little, but modern graphics engines are seriously complex beasts and I
figure an old one will be a bit simpler. I'd appreciate advice here; thank
you.

~~~
ru999gol
check out fabian sanglad's blog:

[http://fabiensanglard.net/quakeSource/index.php](http://fabiensanglard.net/quakeSource/index.php)

~~~
big_chungus
That looks like a great resource; much appreciated!

------
trilila
This totally awesome! Installing dosbox to play them!

