Hello, and welcome to the forums!
The latter two options Adam mentioned differ in a small, but important detail: camera mode. If you use the parallax camera, it's Z coordinate will determine the size of the area fitting on the screen, because of the perspective projection. If you disable the parallax setting, it's simpler: the ratio of the pixel and the world units is 1, since it is paralell projection.
In my game, I used flat (not parallax) projection, and scaling it up was dead simple because of Duality's flexible camera rendering pipeline. It didn't even involve coding. (Of course changing between multiple scaling levels needs some code.)
The main thing is, that you need two cameras, one of them rendering your game at a fixed resolution to a RenderTarget, which is a built-in Duality resource. In the RenderTarget's inspector, you need to assign a texture to render to.
to set the destination texture's resolution before.
Set the texture's filtering mode to Nearest
. After that, you can assign that texture to any sprite, which you can scale up. There are some limitations though: it only looks good with pixel graphics, and only at certain scale levels. Set the second camera to render only this sprite to screen using the render group controls, and the first mentioned camera to not
There's more information of the process in this topic
I hope it helps