Hacker News new | past | comments | ask | show | jobs | submit login

I really wish game companies would publish their old source for really out of date games. I really wish I could see what went into making the games I love like Fallout 1/2.

Rather than attributing this to typical corporate behavior, I think there's a simpler explanation: the source code simply doesn't exist anymore. Source control wasn't especially distributed, pervasive, or reliable in the 90s (at least compared to modern standards). And it's unlikely that anyone official had the foresight to keep a copy around for the sake of digital preservation twenty years in the future, especially given the licensing/copyright issues that would probably prevent legal dissemination anyway. And even if a rogue developer had the foresight to take a copy home and stuff it in a box in the attic, that media has probably degraded to unreadability by now unless they've been actively backing it up for the past few decades.

Even if it hasn't degraded, or got meticulously backed up: Who wants to deal with the potential legal ramifications? For many now-defunct gaming shops, "who owns the assets" might be an interesting question for a JD thesis, but not something many people would like to spend time on.

That's the real issue. I'd be very surprised if much of the source code didn't still exist, but the entities owning it have been sold, bankrupted, chopped into pieces, and resold so often that it's impossible to legally release.

If it's so difficult to determine ownership, shouldn't it be easier to release? Throw it up on a free service somewhere and respond to DMCA takedowns in the rare event the owner shows up out of the woodwork.

I suppose one difficulty is that DOS games were released before the DMCA, or before the DMCA's process was clear. And the old system wasn't so forgiving.

> If it's so difficult to determine ownership, shouldn't it be easier to release? Throw it up on a free service somewhere and respond to DMCA takedowns in the rare event the owner shows up out of the woodwork.

You just described archive.org ;)

Actually, archive.org has a copyright exemption from the Library of Congress for certain stuff (of which I think this falls into). http://archive.org/about/dmca.php

The problem is asymmetry along two axes.

The first, information asymmetry. The person holding the code (the lone developer with an old floppy disk stored in the attic) has no idea who the owner might be. The actual owner is well aware of what they own.

That could be resolved by a DMCA takedown notice, yes.

Alas, there's usually also financial asymmetry. And as an individual, the potential costs of a copyright lawsuit are not something you want to face. As a larger company, it's just part of your normal expenses - especially if your business model is "accumulate IP"

> If it's so difficult to determine ownership, shouldn't it be easier to release?

No, because while it may be difficult for you to determine ownership, the actual owners may be well aware of their IP.

>Throw it up on a free service somewhere and respond to DMCA takedowns in the rare event the owner shows up out of the woodwork.

The DMCA protects the free service, it doesn't protect you.

How is the DMCA more forgiving than the original system?

Under the DMCA the hosting company is free from liability if they respond to takedown requests properly.

Prior to that their liability wasn't a clear legal question so there was alway lawsuit potential.

Archive.org could still end up in more trouble under the DMCA because lawyers could argue that there's a pattern of violations and it's not a neutral carrier.

To add to that, it would be quite a headache if source was found to have been copied from elsewhere (e.g., a developer copy & pasted code). Even if it was merely "similar looking code" independently developed, the risk of a lawsuit seems like it would not be worth it, especially given that there's not really much/any direct benefit for the publisher by publishing the code.

No, nonsense. Publishers keep everything, certainly the publishers I've worked for. Sierra is one of the oldies that, to my slightly out of date knowledge, still curates an archive of almost every asset for every game they've released. I'm certain the source for some of the earliest titles have been lost due to their hobbyist nature, but I've personally seen a raw list of the available archive that included games released from 1980 onward.

I personally know of games well into the late 90's where all or parts of the source code has been lost by the very major recognizable companies who built them. AAA titles even at the time.

A few of these games have been re-released later, and in some of those cases old engineers had to be tracked down who still had the source code laying around in their personal archives.

I imagine this is very common, considering some of the titles I've witnessed this happen to. If games will those types of budgets and followings were lost, I can't imagine the vast long-tail of the industry being any better. Plus there were far more independent studios at the time who later "made it big" only to flame out. I expect the vast majority of content created during this timeframe is permanently lost.

These days with the advance of business types understanding the long-term value of IP, I expect this is much better controlled by whomever is underwriting the cost of development. I believe this likely to be a bad thing - as you'll see more lawsuits over old games in the future.

This may be true of publisher in-house development teams, but I've seen and worked at third party studios that do little to nothing about post-release archival, a fact connected to having minimal IT controls and the end of a project often resulting in a massive layoff. Things get lost in the dust-up; dev kits get lent out from a publisher for one project and then aren't returned. The build server gets "reused". The same version control repo is used to ship two different games sharing the same engine. One coder stays behind after the rest of the team has been let go or moved to something else, in order to fix bugs, so he's the only one with the most up-to-date build. What is left over is a mishmash of project artifacts but no guarantee that "project K at point in time T" can be reconstructed in full.

And with some of those Sierra projects, their archival might have all the assets they could find; that doesn't mean they have all the assets.

Sierra only had a hand full of devs who worked in-house.

Counter to this; I work at one of the biggest game publishers in the world, and the assets and source for one of it's most famous games from the mid-90s simply doesn't exist anymore.

I'm not going to say it doesn't happen, discs always seemed to get lost under piles of paper and eventually wind up sitting in a drawer somewhere, only to be thrown out when that persons office is vacated.


Edit: Hmmm... You probably should neither confirm nor deny.

I'm happy to hear it, then. Do they also keep copies of the toolchains needed to build all of them? What is their storage infrastructure like, and what do they do to ensure it survives employee turnover and corporate reorganization?

I can't speak for Sierra as I don't know how they store their archive, but I've always found it interesting that some publishers (mostly music and movie really) use facilities such as this http://www.undergroundvaults.com/about-us/hutchinson/

Oh how do i WANT to get my hands on that Caesar III source code now. This game was so incredibly fantastic, it just needed some bug fixes. And if someone were to start developing DLCs for it (think Paradox), I'd be all over that…

To me, that would be the main reason to release old source code. Though I understand the legal stuff is hairy, and people don't generally do it for that reason.

>And if someone were to start developing DLCs for it (think Paradox)

So, extra portraits and some background music? That will be 10$ please.

It's a good idea not to just keep a copy of the source code stashed away somewhere, but also any contracts relating to the rights to the code.

In the early 90's, DUX Software licensed the rights to port SimCity to Unix from Maxis. Then DUX made a contract with me to do the work. I kept a copy of my contract with DUX, the original floppies they gave me with the original PC and Mac source code, as well as versions of the source code I ported to Unix.

Years later I got a job working for Maxis on The Sims. Before we shipped it, EA bought Maxis, so a lot of people were let go, projects were canceled, physical and digital files were shuffled around, and institutional knowledge was lost.

After we shipped The Sims but just before I left EA, on a fluke, I asked a Maxis old-timer if he had any idea if the contract between Maxis and DUX for SimCity still existed, and where it might be.

As you would expect, it was in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying "Beware of the Leopard." ;(

So I waited late into the night for the leopard to fall asleep, made a photocopy of it, then returned the original to its hiding place. ;)

Several years later, John Gilmore suggested we persuade EA to relicense the SimCity source code under GPLv3, so it could be shipped with the OLPC.

Of course nobody in EA Management knew where the source code was or if it even still existed, but fortunately I still had my copy.

And of course nobody at EA Legal even knew if EA owned the rights to the changes I'd made (Maxis had gotten into some pretty terrible SimCity licensing contracts in the past).

But fortunately I'd kept a copy of the contract between myself and DUX, and the contract between DUX and Maxis, proving its provenance, which clearly stated that DUX's rights expired after 10 years, after which the rights to all the modifications I made went back to Maxis (and thus were inherited by EA).

Once all that was cleared up, the most important factor was that EA deputized someone on the inside to shepherd the project through the various stages of approval, relicensing, development and QA. Otherwise it would have died on the vine, since everybody in a big company, no matter how well intentioned, is always 500% busy doing their own stuff and can't be distracted by something that doesn't affect the bottom line.

It finally made it through both EA Legal and QA, and we released the SimCity source code and binary for the OLPC under GPLv3!


The work you've done here is great.... You worked hard but no doubt brought a smile to many now happy children. I don't think my thanks is enough but it's a start. Keep on doing the good work you did with this and the world might get a bit brighter.

Really cool, thanks! I played SimCity a fair bit as a kid, it's really fun to look through s_disast.c in that repo... brings back some memories :P

You're welcome, and thanks for checking out the code!

Since releasing the X11/TCL/Tk version for OLPC, we've stripped out the user interface, cleaned up and refactored and doxygenated the city simulator engine code into C++, and wrapped it with SWIG so it plugs into Python and other scripting languages. It's not as "authentic", but it has more comments and is easier to read than the old C code:


Here's a talk about it:

HAR 2009 Lightning Talk Transcript: Constructionist Educational Open Source SimCity, by Don Hopkins


I got hooked on computer games by playing Zork at MIT-DM, and it really blew my mind to finally be able to read the original Zork source code in MDL. Reading the source code takes you backstage behind the scenes of a world you visited years ago, like the Disney's Keys to the Kingdom Tour!


this was awesome. were your floppies still readable ? how ?

Floppies and VHS are more resilient that the people think. I have floppies from early of 90's that can be read/write without any issue. I have yet Dune game on two floppy disk, and many shareware, free and pirated games from these time. A few years ago, I did a backup of these floppies with a 3" 1/2 unit that I have.

I'd say most people are more familiar with late low quality media, which means plenty of unreadable disks from the 00s while most stuff from the early 90s might work fine (if stored properly)

That is absolutely fantastic. :)

it was in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying "Beware of the Leopard."

I see what you did there.

Unfortunately my comprehension only got as far as "that is a really really nice use of words."

Can I have a hint?

The Hitchhiker's Guide to the Galaxy. The plans specifying that Arthur Dent's home is to be torn down for building a highway bypass are on public display in such a disused lavatory.

Get the book, yes, but do get the original BBC radio play. That's where it started, and it's excellent.

Seconded. The radio play is great.

Oh. Thank you so much. :)

I saw the movie, I think I really need to get the book...

The movie was a brief summary, and about 60% all-new content.

I recorded H2G2 off the radio as a teen, and listened to it so many times I could have quoted the entire 6 hours in one shot.

Me too, on cassette tapes, off the local college radio station WMUC!

I didn't mean to plagiarize -- those words are just so deeply embedded in my mind from listening to the radio shows and records, reading the books and playing the infocom game so many times, and they so perfectly described the situation. So I assumed everyone would recognize Douglas Adam's really really nice use of words, like a Shakespearian quote. ;)

"It's unpleasantly like being drunk."

"What's so unpleasant about being drunk?"

"You ask a glass of water."

If you haven't already listened to the 1978 radio show millions of times, it's on youtube!


I have old source that is simply inaccessible. Quarter inch tape reels. 8" floppies. Even paper tape! So it may be around, but nobody on earth can read it.

If it's of historical significance or interest, I know folks who might be able to help you with that. Email's in my profile.

Not really - mag tape is old source to an early PC (pre-IBM-PC) operating system I used to work on. And the paper tape is compressed using a utility my friend wrote, and I forget how it works.

But thanks!

Can we have more details about the early PC os?

CTOS, or Convergent Technologies' Operating System, x86. It was a message-based client-server OS that was popular because it allowed diskless workstations hooked to a server. Shared disk, network, printers etc. Much more capable that DOS. Ran in a 1MB machine (they used to have those!) No special network cards - networking was built in. And no system administrator needed. Popular with govt buyers who calculated total cost of ownership for the whole system.

Convergent manufactured their own line of desktop computers. Initially marketed as 'scientific', they quickly found that enterprise was where the money was. So we built a whole office suite, Document Designer, editors, print engine, a Multiplan port (pre-Excel) from a goofy guy at a company called Microsoft.

this is why nintendo resorted to emulation and community dumped roms for it's classic nes console. they simply don't have the code (although they could have bought the dumping hardware and used cartridges they had in a vault.)

The 'code' probably is just assembler instructions. You can't create a game on a limited system like the NES in C#. It has only 2k of memory, so you have to do everything yourself.

There is no way to port such a game with it feeling authentic, other than the emulator.

This isn't exactly true. Games from as early as the Amiga era were known to have been ported by interpreting the gameplay code from the lead release platform(typically, an 8-bit computer or the Atari ST which in its early years put up good competition for the computer gaming crown) and rewriting the I/O-sensitive stuff. These were not considered great conversions at the time since the result was often sluggish and couldn't make proper use of the available hardware, often just looking like the original but with a different palette and worse sound, but they got the job done very quickly and accurately.

that's true, code is just what's in the programmer's head and the fingers are the compiler for that kind of machine.

I have dozens of game CDs from that era and they're still playable.

Your CDs with the playable binaries were "pressed" in a factory with industrial equipment. The source was stored on the hard drives of ancient workstations and/or file servers and maybe a non-archival CD-R or a Zip/Jaz drive. Either way, the physical media were lost in an office move or layoff 3+ reorganizations ago. Some ex-employee probably has a copy in their garage, but good luck finding them.

Some of them were. Pretty much all my shareware titles were on CD-Rs because that's how my friends and I shared them.

IF you can find an old computer or emulator. Be happy CDs are still supported; there's a lot of formats that were "THE way to store stuff" and suddenly the reader hardware stopped production and most readers were thrown out.

And that's just the playable binary. If you want to, say, port it to iOS (no CD, wrong hardware, wrong OS) you'll need the actual source code - and the point of the OP is that source code is mostly lost, either being on unreadable media, unsupported obsolete data formats, or simply lost/discarded over time.

Having dozens of game CDs from that era doesn't mean you'll have anything that can read & run them (or will in the near future).

> Having dozens of game CDs from that era doesn't mean you'll have anything that can read & run them (or will in the near future).

For the past decade or so, DosBox has been a pretty much flawless option for emulation from Win/Mac/Linux: https://www.dosbox.com/information.php.

Before that Windows was pretty much able to emulate DOS environments on its own (for 80-90% of games). The great emulation options is one of the main reason, I've literally migrated my old data from hard drive to hard drive for 20 years. Some of my games were old even when I was a kid.

Jordan Mechner released the source of the 1989 Prince of Persia. https://github.com/jmechner/Prince-of-Persia-Apple-II

"Code review" http://www.fabiensanglard.net/prince_of_persia/index.php

How it was saved: https://www.youtube.com/watch?v=FnEWBtCnFs8

I'm sure there was an article about it on ascii.textfiles.com but I can't find it.

It's not like they'd lose sales either. Depending on the game I'll bet it's pretty hard or even impossible to compile the source into a working game. I'd much rather pay the $5 it's going for on Steam than spend 8 hours playing with compiler settings, library versions, etc. Not even close to worth my time, but exploring the code on the other hand would be really interesting.

Bethesda (maker of the Elder Scrolls games) provides binaries of the first two games in the series, Arena and Daggerfall, for free on their website (you need to find a DOS emulator to actually run them, they recommend DOSBox). It's not quite the source, but it's enough to suggest to me that financial concerns aren't the reason they don't release the source for these old games.

Perhaps it's internal tooling/libraries? I wouldn't be surprised if derivatives of projects from back then were used in more recent games.

That's almost definetly it. Tim Cain, the "original" developer of Fallout, talked about a lot of the features of the engine. These are things that are either in use now in the GameByro engine, currently used by The Artist Known as Black Isles, or would be valuable to current day game developers.

How could one release source code anonymously? I am asking for a friend. /s

This is a really good question.

We have wikileaks etc, but nothing to make it easy for digital preservation of things like this.

Perhaps for games a site like abandonia.com could setup a git server?

I bet there are a ton of people reading this page who have access to old code that if they deleted it, it would be gone forever.

- One or more burner MEGA.nz accounts

- Share via multiple of the many infamous "file sharing" sites - but pay close attention to the file size limits for free/anonymous downloads

- A torrent, seeded via VPS (as another user suggested). I haven't heard of people using UrDN for this specifically but I think that could be interesting.

- Share via DC++, use the chat system to tell everyone about the TTH at least 5 times within 2 days. (You could run a VPN between said VPS and your PC or use Xvnc/RDP and run DC++ directly from the VPS.)

- Find the underground community most closely related to the source code in question, or just general hacking forums, and share the link(s) there

- Carefully maintain your seed(s) (replacing dead links with new ones, etc) until the link(s) go solidly viral, then to be sure wait the same amount of time again. By this point you should have reached minimal saturation.

- Include SHA256sums of all the files on the website(s) you link to. Make a lot of noise about the checksums, particularly the checksum of the main archive (eg .7z) file. This will help minimize the number of people who try to latch onto/jump on top of your release and claim it as their own - they'll want to include their own message, which would alter the checksum. This is mainly for security, not vanity.

- If you ever think you want to provide updates, write a short message that describes yourself as the original source of this information, SHA512sum that string, and include the checksum in the release. You can then prove your authenticity by including the short message in the update; anybody can verify the SHA512.

- If you want to appeal to the warez scene or you think appealing to that demographic will help spread this, use the .rar format. It's not technically competitive anymore but scene groups traditionally continue to use it.

IPFS, use a junker VPS you buy for a month. And share the IPFS link via Hacker News.

It should end up in enough caches to be self-replicating after an hour or 2.

The best way would be to contact jason scott @textfiles and offer it to him. He works for the Internet Archive and can properly (and robustly) categorize and archive it.

Create a new user on github, `git push`.

Not a long-term solution, companies are entirely willing to DMCA Github repos.

A torrent?

One of the issues is that modern source control practices weren't really in play for 90s game development. The code for many Origin games, for instance, were stored on floppies that are long gone.

Nooooooooo. Strike Commander was the shit.

Man I loved that game. I think it was the first CD game I ever played, having gotten it on a compilation with Syndicate, Ultima 8 and Wing Commander 2, when my family got a Sound Blaster 16 in what...1993? Great games.

The Freespace developers released the source code to Freespace 2 (a game from 1999) in 2002 when they were bought by another studio. That game has since become the gold standard (imo) of space flight simulators and the engine and graphics have been improved every since as Freespace Open so it still to this day feels like a AAA title. http://scp.indiegames.us/

One such game is Jagged Alliance 2. See here: https://github.com/dariusk/ja2

Some fine folks have also made a version that works on modern computers: https://github.com/ja2-stracciatella/ja2-stracciatella

id Software does this: https://github.com/id-Software

Applications are open for YC Winter 2020

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