Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wish source code for more old games was available. For a long time I was trying to trace the source of Dark Sun: Shattered Lands and Dark Sun: Wake of the Ravager, as I'd love to port them to run in modern systems (without emulators, and with the idea to fix bugs and/or improve the art - making a "remastered edition", if you will). Same for other games I loved back in the day - the Twinsen series, Twilight:2000, and a few others.

There's the hybrid emulation approach (http://gabrielgambetta.com/remakes.html - disclaimer, I wrote that) but I haven't gotten around to doing it for these games.



This hybrid approach was used for a series of arcade games on XArcade for the Xbox 360. Frogger, Gauntlet, Joust, Gyruss and a bunch of others. I think we referred to it as "reskinning".

Mostly it was applying higher-resolution tiles and sprites but some had particle effects added. For instance, some exhaust smoke on the cars in Frogger.

My favorite was Gyruss which is somewhat like Space Invaders of Galaxian but with a 3rd person view from behind the player's ship so you see enemies come toward you in pseudo-3D. We found that the game internally used polar coordinates and had a fair bit of code that converted those 2D and chose the right sized sprites. Replaced all that with 3D models rendered at the same spot in space.

I view these techniques along a continuum where you're essentially changing the porting layer. An emulation puts that layer at the hardware. A hybrid approach pushes it some ways into the game. A source code port is above the binary but some ways into the code. A remake is at the "game design" level.


Since Data East's fall, tracking the source down seems hard, especially as many game companies of that era failed to preserve the source for many of their games.

Might be interesting to see how GOG got their Dark Sun bundle [0] running. It's backed by DOSBox, but the midi driver seems different, and some of Ravager's frequent bugs have disappeared.

Maybe a partial remake like you suggest in your article?

[0] https://www.gog.com/game/dungeons_dragons_dark_sun_series


Oooh, that's super interesting! If it's backed by DOSBox I doubt it's recompiled from source, but I could ask :)


Theoretically they could be binary patching. By using a disassembler and a debugger to understand what's going on, in many cases bugs might be fixable inline, or by replacing old functions with a redirect to where it's been redefined (if there wasn't sufficient space to fix inline).


Judging from their job postings they are resorting to binary patching more often than not (so it's not only theoretically).


I agree -- it's too bad that some of these older gems weren't designed to stand the test of time. Cool approach to hybrid emulation.

Also, what are your other two wishes?


In the 90s a lot of companies (including big ones like Square Enix) simply deleted the source code once the game launched. They truly thought they had no need for it any more.


While I support YAGNI, I only support it when there is a copy somewhere in the source control history. I don't understand why they would permanently delete it even if they weren't planning on ever using it again? Was space that limited? Or was this a middle management kind of thing?


To be honest this is pretty normal for any modern medium. There's a period where nobody bothers to do any kind of archiving.

TV shows didn't get routinely archived until quite some time after things like "video tape" existed. Now and then early episodes of something important being discovered is news.

Most of the early history of comic strips and comic books has been lost. Original art was thrown away; modern restorers have gone through some heroic efforts to piece together archives from whatever copies of the stuff they can find.

Games? Hell, there's a not-insignificant chance nobody was even using source control until the time when video game budgets started to match feature film budgets. Companies die, and if you're lucky then someone takes home source archives. before all the drives are wiped.

History repeats itself.


That's not true. They needed the work for other games.


If the game is part of a series or potential series, they would not delete them. If it's a one off, they definitely deleted a lot of assets. A lot of backgrounds, models, and assets from PSOne Final Fantasy games do not exist anymore, for example. This is why a lot of companies that remaster games for HD actually "reverse engineer" the game disc.


Yeah, they do this for PC games as well.

A good example is the Steam release of Final Fantasy VII - it actually ships the original binaries from the 90's PC version mostly intact. Code for things like the Direct3D 6 and software renderers, and MIDI sound is still there in the binary, just unused. All the new features like cloud saves, achievements, and original music are implemented using a separate DLL that hooks a lot of stuff in the game, like the graphics and audio subsystems. It's a pretty fascinating thing to reverse engineer.

That must've been an interesting job :)


Back in the day, I remember using Glide wrappers to run the UltraHLE emulator on non-3DFX hardware. Now, a lot of older games need a DirectX shim to fix various issues (palette and some kinds of slowdowns, especially).


I'm pretty sure at least some of the individual developers kept private backup copies that they then "forgot" to erase.


And, if that's the case, what's the best way to approach said developers to ask if it might be made available for some kind of preservation?

There are a lot of old games that I'd like to see the code for, at least for curiosity's sake.


You might want to look into N64 emulators like Project64. They do something similar, though closer to emulation than remake. They allow you to render the 3D objects at a higher resolution and replace the textures with arbitrary bitmap images.


Yep, very similar idea! Key difference is that DOS games didn't use a standard 3D API so you can't just intercept that and replace higher quality textures - you'd have to intercept and rewrite the renderer itself.


I think this is roughly similar to what the xlengine guy (http://xlengine.com/) is doing.



LBA even has a pretty good Android port. Very playable.


Definitely. My favorite game as a kid was Civil War Generals 2, by Impressions Games/Sierra, and I've been hoping that it would turn up on GOG for years now, like some of their other titles do, but it really does not like to run on modern versions of Windows. I've been keeping a Windows 98 VM around just to scratch that itch from time to time.


Old Games say they have a version that'll run on Windows 10 [0], but I've got no idea how legal that is, what with copyright age, and companies disappearing.

[0] http://www.old-games.com/download/5142/civil-war-generals-2 ("Easy setup")


> Civil War Generals 2

Oh, wow, another fan of that! Great, great game. Huge improvement over the first one, in every way. Still haven't seen anything quite like it. Closest I've played in feel (if not interface or actual play) is Ultimate General: Gettysburg. There's an Ultimate General: Civil War out now that I haven't tried yet but assume includes a ton more content. Not as stat-crunchy and no equipment purchasing though, at least not in Gettysburg. :-(




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

Search: