Well, it’s been over 30 years since the NES was released, and while those classic games have aged well, the same can’t be said for the hardware they ran on. With a screen-resolution of just 256×240, the NES didn’t give games all that much screen real-estate to work with. Nevertheless, intrepid game developers squeezed amazing, iconic worlds into NES games: the maze-like dungeons of The Legend of Zelda, the sprawling planet of Metroid, or the colorful levels of Super Mario Bros.. And yet, due to the NES’s hardware limitations, gamers only ever experienced these worlds a single 256×240 viewport at a time…
Until now.
Introducing: wideNES. A new way to experience NES classics.
What an awesome and innovative project to add an extra dimension of gameplay to old NES classics.
That was a very interesting read. At first I thought the ROM maps were being read, but the methods used can be ported to other machines/emulators too.
That could be fun.
Edited 2018-08-29 02:23 UTC
I completely agree. This seems to be a project from 1 guy that started to get a NES emulator up-and-running and then decided to add something really novel to it based on the hardware-features he discovered. It is also quite amazing to see that he takes a really naïve approach (if a lot changes on the screen at once, that is a new scene) and then tweaks that with just a few exceptions. When I read his article I felt like I was almost reading the actual functional design of the code
From the article:
It’s not rare to hear some AI research team develops a software to play the 8-bit games on their own. If I understood right, AI tries out every possible move at any time during the game (sometimes even finding unknown bugs in the game). If such software would use wideNES could we expect to get the complete level mapping in an automated way?
No, that is not how AI works. If that is how AI learned how to play chess/GO/Mario/PacMan they would still be at the 15th move or so right now with hardly any chance of getting past the beginning.
A very common approach to AI is to give them a very limited set of possibilities and a reward-system. This is actually quite similar to how most humans beat games.
If you would just have left/right/up/down for PacMan you would hardly move. If you add a reward-system for picking up dots you will not go left-right. If you add another reward for staying alive you might go left-right when a ghost is close to you
An AI will very likely not discover the entire map unless you add rewards for discovery that are higher than rewards for finishing a level. Just like you would likely not discover the entire map in a game unless you have hidden coins/challenges (100% complete type stuff)
I wasn’t aware of that. Your explanation helped. Thanks!
Like MarI/O! (on SNES, not NES, but the idea is the same) https://www.youtube.com/watch?v=qv6UVOQ0F44