Resolution: What does it do?

  • I've posted something about this before, but this is more a general question regarding resolutions in games.

    So I load up a game, go to Options, and change the resolution to my native desktop res. My main question is this - what exactly is this doing?

    Is it changing the image sizes? The window size? Why, if I set it to a much lower resolution, does it still fit full-screen yet look like the image itself is pixelated? I'm trying to understand this so I can eventually implement it into my game, but I'm not quite sure where to start.

  • Depends on the game. 3D games are resolution-independent which means the game has a bunch of 3D objects with levels of detail (polygons) that stays the same regardless of screen resolution. In these cases all screen resolution does is determine the number of pixels used to draw the 3D objects on screen. 2D games, and especially 2D games with pixel art like you see in most 70's to 90's era games, rely more on specific screen resolutions to draw properly but like 3D, 2D game objects also have individual levels of details(pixel resolution) that can be scaled up or down to fit the target screen resolution.

    Your gfx card has a selection of screen resolutions that it supports, usually in the range of 640x480 to 1900x1200 or something for newer cards. When you set a game to run in one of these resolutions you're telling it how many pixels to use to represent the graphics on screen. But all the rendering calculations, physics etc take an equal amount of time to process. So in terms of strain on the CPU and GPU game objects have little to do with the screen resolution itself.

    Hope that helps?

  • ErekT - it does, immensely. Thank you. So is there a way in construct 2 to set how many pixels it uses to represent the graphics on screen? I know it may have little or no performance impact, but it's such a detrimental feature that's expected in games these days.

  • Unfortunately no. Not for fullscreen anyway.

    [SPECULATION TIME]

    html5 is the problem here I think. It's intended for browsers as far as I know and browsers don't need/provide access to screenmode changes. Exporters like node-webkit do a good job of camouflaging themselves as native exes but they *are* in fact just running browsers minus the browser interface. So even fullscreen is just a window stretched to fill the screen so the end-user can't tell the difference. In other words, node-webkit at least can't change screen resolution because it can't access it. C2 works around this by providing options to scale everything up to the current resolution (whatever the desktop or target device uses) and that's cool in most cases. But speed-wise not in all unfortunately. Good news is you can control resolution in window mode now at least, and maaaaybe that's just the first step in a grand solution Scirra is planning. So I'm hoping anyway :P

  • ErekT - thanks for this information. It's very helpful. Is this to say it's impossible for a feature like this in html? Or it just hasn't been implemented yet?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • ome6a1717 - Dealing with this is far simpler than you think. Build your game by setting the window size according to an aspect ratio with the highest resolution (1280x720 for example).

    Then in the game, for any UI elements or things you want to spawn just inside or off screen, use viewPort expressions for the X/Y. Then set the scale mode to your preference (I like scale inner, but letterbox is fine for desktop).

    Now whatever screen size or resolution your game is played on, it should take up the maximum amount of screen, no loss of image quality and all UI elements will be where they need to be with nothing cut off the screen.

    Hope that helps!

  • Are you talking about the "Window size" project properties? If so that's nothing to do with the GPU or screen resolution supported by the system. It simply sets the width of the game viewport in layout co-ordinates. I admit it's a slightly confusingly named property - it doesn't necessarily control the window size, after all, at least in a browser...

  • Yeah i really hope i can get "fullscreen in browser" mode like when u press F11 in Google Chrome, but for an .EXE export via the Node-Webkit or any other means...

    Or I wish i could hide the title bar?

  • Also, If I remember correctly, old games uses fullscreen sometimes because they couldn't do windowed, since they used specific color combinaison that simply won't work with the desktop

    And, if C2 or everything else let them do, and if you have possibility to have "true fullscreen", please, make also a windowed option if possible.

    @EddyDingDongs : I think the browser object let you do that

  • EddyDingDongs - you can already do that using 'Request fullscreen' in the Browser object with the node-webkit export.

  • Thank you both so much! I am very happy I bought my Construct 2 license the other day! After using the Free version for roughly 2-months I was thinking to myself - "hey these guys have put in alot of work into this program and they deserve my support too"

    <img src="smileys/smiley10.gif" border="0" align="middle" /> <img src="smileys/smiley10.gif" border="0" align="middle" /> <img src="smileys/smiley10.gif" border="0" align="middle" />

  • Is it possible to have screens changing the resolution to adopt the game's resolution? For example if I would want game to run at 720 due to performance, if I go full screen on 1080 screen the game will run at 1080 and not 720, which might result in bad performance on slower machines.

  • megatronx - I don't think construct changes the "resoultion" per se. It changes the window size, instead. So if you have a 1920x1080 image, regardless of the window size, it's still loading the full sized 1920x1080 image and just shrinking it.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)