The problem here stems from Renpy's outline feature clashing (that is to say, working entirely as expected) with the scaling feature.
See the attached image for an example of the problem. When upscaled in rendering to 1080p, the outlines will try and maintain an equivalent ratio of outline to text by doubling both; at the same time also doubling the number of visible pixels. This is best seen in the bottom corners of the individual letters.
I'm sure there are some hacky workarounds for this problem (say, creating drop-shadows with the outlining and then using differently offset instances of those to create the effect of a pixel-accurate outline), but all of these ideas seem less than ideal. I've been checking around the documentation, but haven't been able to find anything simpler that will work.
For reference, this is what the outline code currently looks like.
Code: Select all
define gui.text_outlines = [ (2, "#000", 1, 1) ]
define gui.label_text_outline_scaling = "step"
## As well as this, later on in the code...
define config.nearest_neighbor = True
As it stands, the only way for the game to be pixel accurate is for it to be rendered at 960 x 540, which is obviously a problem.
If there's a way of doing this that I'm simply missing, I would really appreciate it if someone could help out. Equally, I would appreciate being told that what I'm trying to accomplish is impossible so I can stop wasting my time and just try and do something else visually with the font.