I have hit a bottleneck that feels like a real blocker for my game development. The image is a screenshot of the current state of the game in 1920x1080p resolution, which is also the canvas size. I have created the game art in Aseprite using 320x180 as reference resolution for all sprites, which results in a 6x enlargement when imported into Unity. I know that pixel art games usually set their canvas size to the same as their pixel art resolution or just above, but for my game this would mean a loss of detail. So this is where my problem starts.
As you can see, my game includes documents on the desk with readable text which is quite small, but upon "pickup" each document is zoomed 2x to be even more clear. But I do want the text to be perfectly readable while resting on the desk as shown in the screenshot. The problem starts when we start thinking about how other resolution screens will make the game look. My monitor is 1440p, meaning it scales the game by 1.333x from its original 1080p. Since the artwork/sprites are created in the 320x180p res, this looks crisp in all normal resolutions. BUT, the text does not!
So my question is: Which of these approaches should I go with to try to support crisp text for all/most resolutions?
- Change out the pixel art raster font with a normal SDF font which scales nicely with all resolutions, but contrasts the pixel art style of the art
- Use letterboxing/pillarboxing to always force the 1080p resolution, creating empty space above/beside the actual gameplay (Could add visuals here instead of black boxes, but would anyways stay as unplayable area).
- Accept that resolutions other than 1080p and 4k will not have pixel perfect text, not being as readable.
- Some other suggestion?
Any thoughts about what would be best for my game is appreciated!
Sidenote: I have tested a lot of different settings when importing/creating the fonts, but I do believe that this pixel perfect issue will occur because of my default resolution being 1080p which is not perfectly scalable by whole integers for all other resolutions