The structure of computer game assets can be a bit of a mystery, even more so the older a game is, and some amount of reverse-engineering can be expected when pulling apart a game like 1995’s Night Light.
[voussoir] had fond memories of this game by GTE Entertainment, which had an interesting “flashlight” mechanic to serve the exploration theme. Spooky shapes in dark rooms would be revealed to be quite ordinary (and therefore not scary at all) once illuminated with a flashlight, which was directed by the mouse.
Extracting game assets was partly straightforward, thanks to many of them being laid out in a handy folder structure, with .bmp
files for each level in a modest resolution. But there were also some unusual .mov
files that were less than a second long, and those took a little more work to figure out.
It turns out that these unusual movie files were 80 frames in length, and each frame was a tile of a larger image. [voussoir] used ffmpeg
to extract each frame, then wrote a Python script to stitch the tiles together. Behold! The results are high-resolution versions of each level’s artwork. Stitching the first 16 frames into a 4×4 grid yields a 1024×768 image, and the remaining 64 frames can be put into a 8×8 grid for a fantastic 2048×1376 version. The last piece was extracting audio, but sadly the ISO [voussoir] was using seems to have had errors, and not all the audio survived.
With intact assets in hand, [voussoir] was able to re-create the core of the game, which can be seen about halfway down into the writeup. Audio clues play simply while the flashlight effect is re-created in the browser with the game’s original level artwork, and it’s enough to ring those nostalgia bells. It’s a pretty successful project, even though not all of the assets have been tracked down, and not all of the audio was able to be extracted due to corruption. If you have any insights on that front, don’t keep them to yourself! Send [voussoir] an email, or chime in here in the comments.
Reverse engineering has a strong history when it comes to games, and has manifested itself in sometimes unusual ways, like the time Atari cracked the NES. Had the subsequent legal challenge gone differently, the game landscape might have looked very different today.
Oh this is nothing compared to cracking Commodore 64 games back in the day. Everything was unique. And optimized (down to the clock cycle). And one-off. Now that was fun detective work. Back in the day. Somewhere between stone age and the internet.
It was the best of times.
And it was the worst of times.
And it was definitely before my time :P
We’re all running out of…
I have been trying to remember the name of this game for years.
takes me back to trying to extract assets from wolf3d. i don’t remember how, but i know i was able to edit maps. but the graphics assets threw me for a loop. i was pretty sure they had to be RLE encoded but i never figured it out. i remember sitting with a hex dump printout in one hand, and on the screen i had simply displayed the bytes as pixel colors (i guess i was able to extract the 256-entry color palette), some of which were obviously right-color-wrong-place and some were not (were presumably not encoding colors).
kinda sad that my source management skills were so bad back then. i can’t imagine i could find that hack anywhere today.
After a brief search, I found it’s available to download.
Very cool! I wish I knew how to do any of that. There’s a few games I’d like to take apart.