The DS's screen resolution of 256x192 is lower than many of the systems emulated on the DS. The Super Nintendo for instance has a 16.67% taller resolution than the DS of 256x224, which traditionally leads us to two methods of displaying a SNES image on a DS: Scaling (left), and Cropping (right).
Neither solution is ideal as the scaling results in garbled pixels and cropping results in important information being obfuscated. So, what can we do instead? Let's consider the raw SNES image:
For most SNES games, there's definitely information we can afford to obfuscate, so here I've chosen to crop away the top 4 pixels and the bottom 9 pixels. This results in a vertical resolution 211px, which we could then scale down to 192px...
This doesn't look half bad as it's only a 9% downscale, but we can do better by selectively scaling. In most games, your eyes will focus on two things: (1) The centre half of the screen, and (2) the HUD on the top. This means there is a 27px tall area and a 106px tall area which we can preserve, and then your eyes will easily ignore any scaling in the rest of the screen.
So, I propose scaling the bottom 52px down to 45px, and then gradually scaling the 26px tall region inbetween the HUD and the centre into 14px. I stress the importance of not shrinking the entire 26px by a whopping 46% as this would squish the region too much; rather, of this 26px, shrink the bottom 13px into 8px and the top 13px into 6px.
I think the results look very nice! This method preserves all of the important information whilst minimalising the effects of scaling.
Here is a comparison of all the different scaling methods, so I'd like to hear which you think looks best:
I'm not a coder. I'm just proposing a solution.
Neither solution is ideal as the scaling results in garbled pixels and cropping results in important information being obfuscated. So, what can we do instead? Let's consider the raw SNES image:
For most SNES games, there's definitely information we can afford to obfuscate, so here I've chosen to crop away the top 4 pixels and the bottom 9 pixels. This results in a vertical resolution 211px, which we could then scale down to 192px...
This doesn't look half bad as it's only a 9% downscale, but we can do better by selectively scaling. In most games, your eyes will focus on two things: (1) The centre half of the screen, and (2) the HUD on the top. This means there is a 27px tall area and a 106px tall area which we can preserve, and then your eyes will easily ignore any scaling in the rest of the screen.
So, I propose scaling the bottom 52px down to 45px, and then gradually scaling the 26px tall region inbetween the HUD and the centre into 14px. I stress the importance of not shrinking the entire 26px by a whopping 46% as this would squish the region too much; rather, of this 26px, shrink the bottom 13px into 8px and the top 13px into 6px.
I think the results look very nice! This method preserves all of the important information whilst minimalising the effects of scaling.
Here is a comparison of all the different scaling methods, so I'd like to hear which you think looks best:
I'm not a coder. I'm just proposing a solution.
Last edited by SmithSmith,