Non-reducing quality zoom out for pixel-perfect game

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By boss078

I was trying to recreate Celeste’s style zoom like in gif below

Celeste's style zoom
Simple camera zoom interpolation doesn’t work – all is just loosing quality
(base resolution 480x270, main resolution 1440x810, mode viewport).
Camera Zoom
Changing “display/window/stretch/shrink” property working perfectly except i can’t change it on runtime (base resolution 1440x810, mode viewport, shrink 3/2).
shrink3
shrink2

Is there a way I can achieve interpolation between states on last 2 screenshots without losing quality (changing base resolution maybe?) like in Celeste?
Tried to figure it out for 2 days, ended up with nothing.

Thanks in advance!

:bust_in_silhouette: Reply From: IHate

Celeste is zooming in so they only have to multiply the size of their pixels. You are trying to fit a 16x16 tile (or whatever the size is) into less than half that size of course you’re gonna lose details.

Design your art to look good at max distance zoom you want, then you make the default camera zoom be x2 or x4 the size of your original sprites so when you zoom out you go back to your tiles at the default size instead of compressing them.

Thanks for you answer!
I completely understand what you said, but I don’t think that this issue is about art style. I want to change base resolution while zooming to keep details on sprites. I got 480x270 base resolution and 1440x810 final resolution, so I should be able to perform 3x zoom out without loosing details(by changing base resolution). So, can I change base resolution in runtime? Or there is another way of doing that?

boss078 | 2020-09-14 18:22