Thanks to the magic of emulation, it's possible to enjoy classic games with quality superior to the original hardware, but the benefits don't end there. Add a bit of extra freedom and the enormous processing power available in today's systems, and developments like 3DNES arise: a prototype emulator capable of reproducing several NES games in three dimensions.
The transition from 2D to 3D wasn't particularly easy for classic titles. Among the positive cases we can mention Super Mario 64, a game that many still see as an example to follow these days, while on the other side, the Sonic saga has a couple of horrors in its repertoire. Moving from 2D to 3D is much more than a graphics change. If you don't take care, critical aspects of game quality can get lost along the way and ruin its potential. With that in mind, we come across the 3DNES project, led by Vietnamese developer Trần Vũ Trúc. The goal of this emulator is to convert Nintendo NES 2D games into 3D, but it actually goes far beyond adding a Z axis and shifting sprites. Definitely, there's something more here.
At first glance, we observe that the emulator processes additional details like shadows and transparencies, which makes us think of game-specific optimizations, but the developer indicates that it's a single general algorithm focused on shape detection, which works from the 2D images generated by the emulated PPU (a Ricoh RP2C02 or 2C07 chip in the original NES), calculating in real time what kind of 3D object it should be. 3DNES has been in development for months, and its sharp edges are evident, but judging by the titles that appear in the video, we'll see very interesting transformations in the future.
Those who want to try 3DNES on their computer will have to wait, since there is no local build yet. The alternative is to use an online beta (link below), which accepts ROMs loaded directly from Dropbox. Firefox is recommended to run it, and even then, several JavaScript errors are likely to appear. Future plans include an executable version based on Unity3D, more optimizations, and predefined patterns that will increase the emulator's robustness.