FOSSPicks
Reverse-engineered Zelda
zelda3
The Legend of Zelda: A Link to the Past is one of the best games ever made. It was originally released by Nintendo for its Super Nintendo/Super Famicon in 1991, and it's still available for the latest Switch console. The game was one of the first to incorporate a wonderful story, challenging puzzles, and intuitive combat mechanics within an immersive 2D world that's been often copied but never surpassed. It's a game whose intellectual property is obviously closely guarded by Nintendo, but it's also a game that contains the indelible DNA of success, and the nostalgic hopes and dreams of millennials everywhere. Which is why it's so significant that the zelda3 project has reverse-engineered the entire game into 80 thousand lines of C code, without infringing on any of the original game assets.
You will need the original game to retrieve the original assets, and these are needed if you want to build the game into a playable version of the original. The process is simple and quick, however, with included Python scripts used to extract the tables and compile them into a format the project can use when building itself. The entire build takes only a few minutes on modern hardware and the end result is A Link to the Past running on modern hardware. Even more impressively, the new version can include pixel shaders, wide-screen ratios, a higher quality world map, better audio, and an extra item to hold with the X button. There's also snapshot saving and loading, and cheat shortcuts for unlimited health/magic and rupees, bombs, and arrows. It's a fun way to replay an old game, but it's the source code that's most important. This contains a direct, modern interpretation of the original game engine, tested frame-by-frame and state-by-state against the original.
Project Website
https://github.com/snesrev/zelda3
Buy this article as PDF
(incl. VAT)