16 Apr 2016 17:49
If your room is 1024x768 and you aren't using views, then you will only get pixel-perfect rendering if the game's window is also 1024x768, which is actually a very rare resolution these days.
For us, we don't use a fixed view size generally. What we do is use display_get_width() and display_get_height to get the aspect ratio of the device. Then, we will fix one dimension of the game (width or height, depending on the game), and resize the other dimension to match the aspect ratio.
Example:
In Flop Rocket, we want everyone to see the same distance in front of their rocket. So we fix the game at 1024 width. The game is designed to be playable on the most narrow aspect ratio generally found on mobile, which is 16:9. So we build the game world to still look good at 1024x576 (16:9). But what if the device is an iPad pro? That has a resolution of 2732 x 2048. NO PROBLEM!
We first get the aspect ratio, which is 4:3. We keep the view width at 1024, because that's our fixed width. Then we set the height of the view to 768, matching the device's aspect ratio. This reveals more artwork outside the top and bottom of the cave in Flop Rocket, but otherwise leaves the gameplay unchanged.
On an iPad, the game will scale up to fill the whole screen. And since an iPad Pro actually has super-high DPI, the game still looks good.
I think if you tried the same approach with your room sizes, you could get the same effect. We never change room sizes, and in fact, we use rooms to just put a single object into, and that object uses code to generate everything and do its stuff.