I'm currently developing a pixel art game in GameMaker Studio 2, and I'm running into issues with scaling and resolution that affect how my pixel art looks. My game has a native resolution of 320x180, and I want to scale it up cleanly for modern screen sizes such as 960x540 or even full screen. However, when I do this using various built-in functions or resizing the window/surface, my sprites appear blurry, stretched, or distorted. This ruins the intended crisp, retro aesthetic of the game.
The goal of my project is to create a game that feels like a true retro experience, which means keeping pixels sharp and clean. I have made several attempts to control how my game scales and renders, but the results have not been ideal. I'm particularly concerned with two main problems: 1) when I scale the game, my sprites get anti-aliased or blurred, and 2) when I try to fit the game to different screen sizes, it either stretches or distorts the aspect ratio.
My first approach was to simply resize the game window using window_set_size() and then resize the application surface. I figured that since I knew the game's base resolution was 320x180, I could just multiply that by a scale factor (such as 3x) and resize everything proportionally. Here's the code I initially used:
window_set_size(960, 540);surface_resize(application_surface, 960, 540);
any help or suggestion will do