Game Decompilation Projects

It has all sorts of uses! I think like, having the original source is ideal, but for games where we don’t have that it’s the next best thing. You’re definitely right that it’s a boon to anyone who wants to mod the game—as a random example, people have done many variants on the game Brogue (as you can see here or in various forum threads and such) since it’s FOSS. Brogue is also now fan-maintained because the original developer got tired of working on it, so people are still making improvements to the central game, which is also greatly facilitated by having source code; I guess you could call that another genre of modding but in some ways it just gives the game a whole different atmosphere (i.e. something that could be continuously worked-on by many people over decades, which I think is kind of more natural for software in a way, instead of like a traditional artwork like a painting or something that becomes “done” and then is fixed). Having the source is also extremely useful for anyone who wants to understand how a game works…I guess to continue the Brogue theme, most of the contributions I’ve made to the Brogue wiki are the result of my reading and experimenting with its source code, and I’ve learned to play the game much better from doing thing like that, but also as a game developer I’ve learned cool things about statistical game design and procedural map generation from it as well. I would even say like, if you do game programming and/or design of any sort, reading other people’s game code is one of the most helpful things you can do to hone your skills.

EDIT: I guess, for a concrete example of the kind of detailed analysis that having the source code facilitates, there’s also the recent Wumpus thread.

EDIT 2: I guess I also just want to highlight, if you enjoy playing a game at all on some level, I think it can further enhance your appreciation of the game to read its source. It’s not so different from reading the score for a piece of music you like(EDIT 3:), or the script for a movie you enjoy, or that sort of that. It gives you a different perpsective—a more abstract one where you can see underlying patterns that might have been hard to perceive directly in the resulting media, and also a more precise one where you can see exactly what the developer/composer/scriptwriter specified for it. Having that kind of understanding increases the surface area of the firmament upon which your enjoyment of the piece of media can arise, so to speak. :stuck_out_tongue_winking_eye:

5 Likes