Greetings again fellow indie gaffers!
I'm looking for thoughts on pixel art games and dealing with modern screens. I've already released a pixel art game on modern systems, Volgarr the Viking, however I've never been sure I handled this issue well, and have been thinking recently about better possible ways to handle it in the future.
The problem with making retro-style games for modern systems is that screens come in many resolutions, and in multiple aspect rations. Back in the day (and currently for handhelds like the 3DS, but only if you aren't going multi-platform), game developers knew exactly how big the screen was going to be, and could actually build gameplay elements around the screen. They would know how far away an enemy would be from the player and still be on screen or not, for example, and could change enemy behavior based on that. Its much harder to do that now, and there's multiple solutions to deal with that problem, and I'm curious what you all think are the best ways to deal with it.
Here's what I did with Volgarr:
* The game can be displayed at whatever resolution you want - in windowed mode on a PC you can literally resize the window to almost any bizarre shape you want, short of very extreme aspect ratios (more than 2:1 ratio).
* Black bars on the sides or top/bottom of the screen are not used, the game fills the full resolution.
* No matter what resolution you use, the size of Volgarr (the character) relative to the size of the screen/window remains consistent - I felt this was important so that players with different resolutions couldn't have a significant advantage over other players just by virtue of being able to see more at once. This does mean, however, that at wider aspect ratios players can see more to the left or right of them, and at more standard aspect ratios, they can see more above and below them instead, so the levels had to be carefully designed checking that players see what they should (and don't see what they shouldn't) at multiple aspect ratios (something, again, the actual original developers of old games in the past didn't have to worry about!).
* To display the original art at the resolution and aspect ratio requested, the art of course has to be stretched (or possibly shrunk, though that was rare as the base art resolution was pretty small). This usually meant an uneven stretch, meaning by default (point filter) the result would have "fat" and "thin" pixels, which many consider to be butchering the original pixel art. To handle this, a bilinear filtering option was added, but that caused the game to look somewhat "blurry" instead. Eventually, I added another filter option that stretches the image by an integer value first, like x2 or x3, and then stretches the result of that pass to the final resolution with bilinear filtering, to reduce the blurriness of straight bilinear but still eliminate the uneven pixel sizes (I got this idea from MAME's source code actually).
So, how do you others working on pixel-art-based games deal with this? Black bars? Only supporting specific resolutions and using even scaling like x2? Advanced stretching filters with shaders? Just let higher resolutions display more at once? And what about different aspect ratios? Or porting to different systems like a 3DS or whatever that doesn't have the same aspect ratio as, say, an XBox One?
I don't see a lot of talk about this so maybe I just completely overlooked the obvious solution, but I spent a huge amount of time trying myself to figure this out and am starting to wonder if there just isn't a good solution and no matter what I do someone is going to complain about how I handled it (people complaining their device can't display the resolution I picked to support, like say a netbook with 1024x600, or people complaining about my stretching method ruining the nice pixel art with blurriness or uneven pixel sizes, or complaining about their resolution makes the art too small or too big if I use a fixed scaling factor, or complaining about black bars instead of using the full screen, etc etc). Yet I've played a fair number of pixel art indie games where I never really noticed any problems with the art being blurry or stretching funny with uneven pixels despite playing on a modern device, so maybe I really am missing the magic bullet trick to this?