5 ms·
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 Rav
by ggambetta 9y ago
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 http://gabrielgambetta.com/remakes.html - disclaimer, I wrote that) but I haven't gotten around to doing it for these games.
- johnhenry 9y agoI 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?
- russellsprouts 9y agoYou 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.
- ggambetta 9y agoYep, 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.
- shakna 9y agoSince 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 https://www.gog.com/game/dungeons_dragons_dark_sun_series
- ggambetta 9y agoOooh, that's super interesting! If it's backed by DOSBox I doubt it's recompiled from source, but I could ask :)
- kbenson 9y agoTheoretically 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).
- adamkruszewski 9y agoJudging from their job postings they are resorting to binary patching more often than not (so it's not only theoretically).
- peruvian 9y agoIn 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.
- itwy 9y agoThat's not true. They needed the work for other games.
- sotojuan 9y agoIf 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.
- crankybear1337 9y agoYeah, 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 :)
- khedoros1 9y agoBack 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).
- johansch 9y ago
- megaman22 9y agoDefinitely. 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.
- shakna 9y agoOld 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 http://www.old-games.com/download/5142/civil-war-generals-2 ("Easy setup")
- ashark 9y ago> 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. :-(
- deleted 9y ago[deleted]
- ehaliewicz2 9y agoI think this is roughly similar to what the xlengine guy (http://xlengine.com/ http://xlengine.com/) is doing.
- PeachPlum 9y agoWhile remakes do sound good, you can still buy LBA & LBA2 https://www.gog.com/game/little_big_adventure https://www.gog.com/game/little_big_adventure https://www.gog.com/game/little_big_adventure_2 https://www.gog.com/game/little_big_adventure_2
- viraptor 9y agoLBA even has a pretty good Android port. Very playable.
- gp2000 9y agoThis 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.