You could render the scene twice as large and then halve the output, but that may be costly for performance. I think there is an anti-aliasing algorithm that essentially does that and gives really nice results in 3D, but its so performance intensive that it's not really usable for real-time applications in most projects. I wouldn't suggest doing this though, simply because I fear it would be hard to get fluid frame rates.
I'd recommend just setting the window scale mode in the project settings to 2D
, as then Godot will render the scene bigger or smaller depending on the size of the window. You can also enforce the aspect ratio if you want in the window project settings as well.
Since your project is 2D, I'd suggest deciding what your desired "maximum" resolution is, and making all your assets relative to that. If you are thinking your game will be played in 4K, then maybe you would want to make sure your assets look crisp in 4K, and therefore use high resolution images on big elements. However, if you are targeting consoles, mobile, and/or the average (current) PC, then 1080p or 2K is probably sufficient. I'd say it really depends on the target platform(s) and players.
Finally, one last thing to think about, is the amount of time. Higher resolution images likely will take longer to create and are harder to render (even in 2D), so you may need to find the balance between good visuals and an asset creation pipeline and time frame that works.
Hopefully this helps! I'd give a more concrete answer, but as I mentioned, its very project and target platform specific :smile: