9 ms·
Digging for treasure in Aladdin’s source code
- neonnoodle 9y agoThis is my favorite game of all time. What an amazing breakdown of its contents! Still inspiring in 2017. I'm glad to see other finely animated side scrollers like Cuphead are being made.
- ggambetta 9y agoI 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.
- mr-ron 9y agoIf you like this you would love https://tcrf.net/The_Cutting_Room_Floor https://tcrf.net/The_Cutting_Room_Floor which has hundreds of these types of articles showing lost content and logic etc. My favorite being https://tcrf.net/Super_Mario_Bros._3 https://tcrf.net/Super_Mario_Bros._3
- corysama 9y agoA lot of 'lost content' and 'off camera' videos are posted to https://www.reddit.com/r/videogamescience/ https://www.reddit.com/r/videogamescience/ There's also https://www.reddit.com/r/TheMakingOfGames/ https://www.reddit.com/r/TheMakingOfGames/ for 'behind the scenes' videos.
- spondyl 9y agoOh heck, just from a quick glance, /r/videogamescience may be my new favourite subreddit, or website rather since I hardly use Reddit. I love this sorta stuff but I'd never heard a searchable term for it like "video game science" before. Thanks!
- AdmiralAsshat 9y agoIt's a pity. If you were a Nintendo fan back in the day (because if you were a gamer in the 16-bit days and did not have high discretionary income, you likely only had a SNES or a Genesis, not both), you played an interesting, albeit completely different Aladdin game, made by Capcom instead: https://en.wikipedia.org/wiki/Disney%27s_Aladdin_(Capcom_video_game) https://en.wikipedia.org/wiki/Disney%27s_Aladdin_(Capcom_vid... Interesting in its own regard for being one of the early projects of Shinji Mikami, the Capcom designer who masterminded Resident Evil, Devil May Cry, and others.
- d--b 9y agoI remember finishing the SNES game something like 2 hours after buying it... It wasn't great...
- ghostbrainalpha 9y agoYou remember how long it took you to play through a game 23 years ago??? I wish I had a memory that sharp. When I look at these retro games, I'll sometimes recognize the box art and remember having a fondness for the game, but that's it. I'm 34 years old for reference.
- pwython 9y agoAlso 34, and wouldn't even be able to tell you what games I finished back then, let alone the time it took. Except for Link to the Past... I remember being quite happy beating that.
- awj 9y agoPersonally, I don't remember all of those experiences, but Aladdin was one that stood out. Mostly because of the crushing disappointment of playing the Genesis version at a friend's house then begging to get the SNES version ... which I'd assumed would be the same.
- cdelsolar 9y ago
- gavanwoolery 9y agoThe (S)NES classic editions have demonstrated the clear appeal of these older platforms. I think Nintendo/Sega/etc could rake in a lot of cash if they designed new games for these old systems. I would love to see a new Super Mario World-esque game that operated within the confines of the classic SNES.
- carc1n0gen 9y agoHave you ever tried out a "rom hack"? People often alter ROMs code to make entirely new worlds/levels. Pair them with something like an ever drive and you get to play them on the real hardware.
- gavanwoolery 9y agoI once tried to create a legitimate ROM for the Gameboy Advance but it was obviously pretty involved. For those interested, plenty of resources such as: http://www.loirak.com/gameboy/gbatutor.php http://www.loirak.com/gameboy/gbatutor.php
- eropple 9y agoYeah - GBA homebrew is hard. Mostly because it's a modern processor (it's an ARM7TDMI) with some really nutty RAM and graphical limitations. But any 8-bit or most 16-bit systems (except the Genesis, which is something of a kludge) are pretty straightforward. I do streaming charity events on occasion and an idea I've had is collaboratively writing an NES game over the course of a weekend, on-camera.
- hrydgard 9y agoWhat? GBA is clearly easier than NES. Just set up a single tile layer in mode 0, and you got what's practically a NES with more colors, sprites and a much more powerful CPU that you can program in C++ if you like.
- 9y ago
- g051051 9y agoIs this archive publicly available? I'd love to dig through it.
- mwrouse 9y agoI searched the website and didn't find anything. Is it really an archive if it is private? Sure, museums and stuff have a lot more in archive than is what is on display, but at least some of it on display.
- rooneymanu 9y agoJoin us We share the best deals regularly http://www.onlineofferspro.com/ http://www.onlineofferspro.com/
- Answerawake 9y agoThe PC shareware version of this game was the very first thing I ever downloaded from the internet back in 1995. I never got the audio to work. With my Sound Blaster 16 card it would always produce the "data noise" that you would hear if you were to play back a data track in a CD player. This is one of those unanswered questions in my computing career. Did anyone else play the PC version and if so, did you also have problems getting the sound to work in the shareware demo? Does anyone have any ideas as to what could have caused this problem? Was it just not tested? If I never do get an answer, one day when I have time, I hope to set up a test environment, find that old shareware demo and try to reverse that part of the code to see what it is doing.
- khedoros1 9y agoIt's available on archive.org. It (the music) works in DosBox using Sound Blaster 16 emulation, and providing the value for DosBox's "hdma" setting, rather than the standard "dma" setting. Giving it the value for "dma" just resulted in silence, but maybe could've screeched in your ear on the actual hardware. I've got a machine with an SB16 at home, and you've made me curious to try it. My kid'll be happy to see a new game running on it :-)
- khedoros1 9y agoLooked at it. I've got 192MB in that machine, and apparently there's a bug in the game that causes it to react badly to over 32MB of RAM, with an error like "Error allocating XMS". I can have Windows 98 expose less memory to the process, and the game launches, but no OPL3 audio then. Apparently there are some XMS-eater programs that would consume all the spare memory, but I haven't experimented with those yet. That's the easy solution, but I'm tempted to find the error in the code and patch the binary.
- Answerawake 9y agoThanks for looking into it. Hmm, I recall that I was running the game on a Windows 95 (ver a or b most likely not OSR2) box with maybe 32MB of ram? Possibly 16MB So on your machine, what sound card do you have installed? Are you able to select sound blaster 16 in the configuration? Also, as a side note, I finally got to hear what it is supposed to sound like on archive.org :)
- deleted 9y ago[deleted]
- barbs 9y agoI recently found a channel on YouTube ran by an old Telltale Games developer talking about some of his development tricks, mostly for SEGA Genesis games. Really well done. https://www.youtube.com/channel/UCfVFSjHQ57zyxajhhRc7i0g/videos https://www.youtube.com/channel/UCfVFSjHQ57zyxajhhRc7i0g/vid...
- greggman 9y agoiirc the digicel tech was originally created for DynoBlaze by John Alvarado then later refined for other projects. https://www.unseen64.net/2009/08/06/dyno-blaze-genesis-mega-drive-cancelled/ https://www.unseen64.net/2009/08/06/dyno-blaze-genesis-mega-...
- fapjacks 9y agoSome of my fondest early teenage memories are tied up in this game. This was truly a remarkable and enjoyable read!