Discussion in 'General Wing Commander Chat' started by Farlander, Sep 28, 2010.
Wait, you mean the source code for Wing Commander I is lost?
Yes--EA does not have any sort of archive of Origin's resources. In many cases they don't even have finished builds of old games anymore.
Forgive my technical ignorance, but how can the source code be lost?? Isn't there a way to open up any of the copies of WC1 floating around the internet and pull the source from it?
No, it's sort of like baking a cake--after you've compiled source code (and all the resources) into the finished game you can't get your eggs back.
You know I've read dozens of books about software engineering and I don't think any of them managed to make the explanation that simple.
Heh, well put. And mostly accurate. There are some extremely talented programmers who can de-compile built executables. It take a ridiculous amount of effort to do, and a lot of trial and error to get anything even remotely usable. I have a buddy who has spent the last 4 years on and off decompiling the source code to XCOM. He's still not done with it. ;D
So I guess they could de-compile it...but it'd take a prohibitive amount of time. You'd be better of re-writing it from scratch.
Also, this is awesome.
How did that happen? What happened to all of that stuff when Origin closed?
You can pretty easily disassemble an executable, and there do exist decompilers which can give you back source code in the original language. So no, the source code isn't lost. You can get it back from the executable. Except you will have lost the organization and comments and variable names and likely many original lines as they were programmed. Which makes deciphering it difficult. But in the strictest sense, yes you can get a source code back, modify it and recompile it.
Does anyone know roughly how many lines of code Wing Commander I was?
It just... happens. There's no underground temperature-controlled vault with glistening racks of data on them. Maybe there's a serious effort to control a copy of everything for major games produced today, but not 10-20 years ago. It would have been stored on some kind of arcane tape backup for which no reader exists today (if the tape is even still good). And then you constantly have people turn over. After Jim, Bob and Joe move on to new jobs, nobody even knows that they created a backup disc of art resources that's sitting in a closet somewhere. It's just a much more gargantuan thing than you'd think. It's unfortunate in retrospect, but what you're describing are things like the original film reels for 100 year old movies or draft manuscripts to the first printing press books. It's not surprising that that stuff just isn't around anymore.
Everything went to LA and then Mythic. The amazing thing is that all the rooms and rooms full of boxes and boxes of archived material is only a fraction of what was generated. It's not that they didn't care about keeping things - it's just that the business of doing so is a business unto itself! Even what they did keep and what survives to 2010 practically needs a warehouse to store, and like what I mentioned above: it's on a myriad of obscure media that you've never heard of and hasn't been manufactured since the 80s or mid 90s.
That's funny, nearly every cookbook starts by explaining that baking fine cakes is a lot like compiling video game source code...
People always point this out and maybe it's something that's technically possible... but for lots of practical reasons it just *doesn't happen*. If people could actually reasonably generate the source code to old games from their executables then it's the kind of thing that would, you know, actually happen.
Another important thing to remember is Wing Commander was developed two years before the Electronic Arts buyout. We think of Origin as having been part of a massive company today and that just wasn't the case at the time. There was no corporate oversight and no money to 'waste' on elaborate backup systems... this was a company that struggled to pay for essental software packages and modern computers for their employees.
Wing Commander I's development, especially came before, well, Wing Commander I. They didn't necessarily know what they had and it certainly wasn't making them any money yet (and cost plenty!). You had Chris Roberts hiring out aspects like the music and the 3D art from freelancers (with handshake agreements! no contracts like you'd nened at EA...) because Origin didn't have the money to equip such people.
And you know, who saw the need at the time? There was no video game nostalgia in 1991--everybody wanted the latest greatest release and they wanted it to blow away the previous one... as quickly as possible. With a limited, pre-EA budget why pay to make sure there was a permanent chain of 'Space Rogue' resources when that money could make sure Wing Commander II *really talks*?
We write programs in high level languages, with lots of names, comments, and other information about the structure of the program. Then tools transform that into an extremely simple language that computers understand.
The simple language is what you get when you buy a game.
For example high level langauge might be:
weapon = LASER
for each target, find the closest one and fire
while an example of the low level language might be
mov ax, dx
6: push dx
I assure you it is possible. I do things like this sometimes, though on a smaller scale. It doesn't happen for the reasons I mentioned before - you lose all the organization, in-source comments and documentation, function and variable names, and some of the original lines as they were written. So what you have at the end is correct and actual source code, but missing any clues as to what any of it does. You could figure it out through analysis and experimentation, though, if you really wanted to. It would be enough trouble that no company is going to bother with it, but if you were just dying to have it, it could be done.
I don't find this a believable reason. It doesn't take any elaborate systems to back up the source code to a single game. You could throw the whole thing on a floppy disc, with the resources included maybe a few floppies. I'm not talking about keeping track of every single change to the project, but I can't believe no one bothered to keep track of the final build of the game.
That's all the more reason to have backups. What if the building burned down? What if a hard drive went bad? All that work would be lost and all you invested in the development would be completely out the window.
Software companies just don't work this way. Even back then. The company I currently work for predates Origin, and they were small at the time too, and yet they still kept track of the source code to every version of the software they released. And that was even less likely to be useful again than an old game.
I can understand losing the original models and art and things like that, but I can't believe the source code of the final build of the game was not kept track of a little more carefully than that. It has to be around somewhere. Maybe no one knows where it is, but it has to be there. A lot of old source code has been released to games from that era. Doom, Duke Nukem 3D, etc. Even the astonishingly incompetent and understaffed 3D Realms managed to keep track of their old source code. Sure, when a company gets bought or folds, things get lost. But there must have been backups at the time.
I guess the point is, we're telling you there's no source code available to EA today. In 2007 LOAF and I took a team down there and spent hundreds of man hours beating their old tapes, discs and documents (every shred of anything Origin-related we could find) with every manner of archival tool we could muster, and there's just not anything remotely like "Wing Commander source code" in there. And we were asked to go down there because they didn't have any idea what was in the boxes in storage. So you can be incredulous about the state of things, but that's just where we are.
Nobody's saying they didn't have extensive backups in June of 1990 as they were preparing to sell their product, but it's entirely possible that those backup media were just plain overwritten to back up Wing Commander 2's latest build the following year. And even if they weren't, everything sat around for a decade, then Origin was closed, and people who didn't know what was in those boxes threw a bunch of stuff in some moving trucks and sent it to LA (and threw out what didn't fit). And then the process was repeated five years later as some remaining stuff was trucked from LA to Virginia. Yeah, maybe next year we'll find ourselves in Richard Garriott's spare bedroom and reach under the bed and find a dusty old disk labeled "Wing Commander source code," but for all intents and purposes, it's the same as no longer existing right now. There's not really much else to say, and this is getting away from the point here - that EA is working on rereleasing Wing Commander as we type.
Surely there must be some form of source otherwise how did the ks versions get made up? i imagine at the very least there's a source for that, and if whoever made the port is like me, then they'll have made a backup of the original source at the start!
This kind of stuff makes me sad.
I'd wish people would just release source code after a decade or so of a game's release..
The thing that makes me think it isn't tenable is the fact that there aren't fans who do this. Every classic gaming fandom wants the source code to their favorite games... and no one has reverse engineered it in this fashion. If it were something that was just a matter of needing more effort than companies are willing to pay for we would see people like the Standoff guys doing it at least occasionally.
I'm telling the story, not arguing a theory. Origin didn't have an organized system for backups and all through the early 1990s because they lacked the money and the oversight to put one into place. You may have worked at a great company that did everything right and put proper effort into whatever ISO specification governs proper backups... but we're talking about a different company that did tape backups so rarely and squeezed limited resources such that they ounce lost weeks of work on Strike Commander because an employee ran a catastrophic test build of the game on the same machine that stored the only copy of the codebase. There's a list of completed-but-unreleased games as long as my arm that are lost to history because Origin didn't have some system for preserving them (Wing Commander 2 SNES, Bioforge Plus, Ultima 8 Lost Vale, Wing Commander 3 Saturn and so on).
Origin did backup tapes but they didn't have any oversight about what was done with them and there was no chain that kept them accessible. You didn't go to the Origin library and check out the Wing Commander tape--it was probably in the possession of the project manager or whichever individual employee needed it last... and almost none of that ever wound up in Electronic Arts' hands. I have the Wing Commander II final project archive in a fire safe at home because someone who worked on the game was able to walk out the door with it at some point and it was left in their garage for ten years. Backing up things like art assets was often left to individual artists. The material didn't survive the transition to EA's corporate culture (which was always actively resisted, anyway), it didn't survive the move from Research Boulevard to Courtland Drive and it sure as heck didn't survive the move to California.
Kilrathi Saga seems like some recent release to everyone who lived through those years, but... well, it isn't. It was done fourteen years ago at Origin by most of the same people who worked on the original game. They put together the source code by digging through closets and working with the people still with the company who'd worked on the game (ie, Chris Roberts). (And by all accounts it was a *bear* to work with once located.) That was the last use of the Wing Commander I source... and you know what happened as soon as Kilrathi Saga shipped? Digital Anvil--all those old employees were suddenly gone and working on a competing space game instead of leaving resources and notes for future developers.
The source code likely exists in someone's closet somewhere--Chris Roberts may have a backup, there might be an old diskette in Warren Spector's garage... but EA doesn't have it and they don't have any way to get it. (In fact, I know a private collector who has the Wing Commander I Amiga source... but it's not leaving his possession.)
(EA doesn't even have code for Wing Commander Prophecy, a game theoretically done under their control plugged into their then-high-tech global backup servers... everyone dreaming about how there's a vault out there with all the secrets of Wing Commander that EA is just refusing to release needs to understand it isn't in their hands.)
Wow. They lost so much stuff even in the Wing Commander 3 era?
Crazy. They had enough money to pay off the actors, but not some spare dolloars to buy a a decent server together with backup software?
How did the EA managers allow this to happen so many times? Origin was under EA supervision since 1992. I mean, if even only one project would "disappear" that way, I would expect that the management would be extremely pissed off
I'm just telling you that it is possible. You can get the source code. But what you are looking at afterward is almost completely unreadable. It would take a lot of work to figure out what everything does. Depending on the size of the program, not just more effort than a company is willing to expend, but more effort than almost anyone is willing to expend. It's long and boring work. There are better ways to spend your time if you are a hobby programmer. But that's why I asked if anyone knew roughly how many lines of code the original was.
You said you had the Wing Commander II final project archive in your possession. Does that include the source code? Because if so, that could help considerably in interpreting a decompile of Wing Commander I, because they presumably have a lot in common.
Of course, there are also legal issues with reverse engineering software, so there would be that to consider as well.
The OpenTTD project did just that. TTD failed to work on windows XP, someone disassembled it and a few years later, you can download C++ source which is as easily understood as any other program.
Wing Commander won't be reversed engineered though, theres no real motivation to do so given that DOSbox can run it well.
I can think of a hundred great things fans could do with the Wing Commander I source code. We could put out a version that includes the Super Wing Commander graphics or the SegaCD full speech package... or redo everything in a modern resolution! We could fix old bugs--make Salthi actually turn left, fix the wingmen dying bug in the Secret Missions. We could port Wing Commander to all the sexy attention getting new systems (iOS Wing Commander! Wing Commander on the Xbox! Browser-based Wing Commander!)
Probably--but I haven't managed to recover the data yet.
There was plenty of money in 1994--but still very limited oversight. Backup tapes that were made in 1994 aren't in EA's library today.
Nobody really *cared*--game development was something that was constantly moving forward at the time, no one really believed that we would want to rebuild old games twenty years later. Wing Commander 3's codebase went off to outside developers for various ports and that was all anybody ever really thought about it.
Separate names with a comma.