SFML community forums

Help => Graphics => Topic started by: MarthKoopa on June 27, 2010, 04:52:32 am

Title: What are some techniques to deal with screen resolutions?
Post by: MarthKoopa on June 27, 2010, 04:52:32 am
Example scenario: Person A has an outdated monitor that runs best at 1024x768 pixels while Person B has a brand new 16:10 monitor with resolutions almost double that.  Person B would be seeing more than twice as much of the game as Person A, and possibly be looking beyond the intended area of the game.

What would be the best method for getting a game to appear the same on all resolutions without simply FORCING people to use just 1 resolution?  I would also like to keep my game widescreen compatible
Title: What are some techniques to deal with screen resolutions?
Post by: Ashenwraith on June 27, 2010, 07:29:40 am
There is the fog of war where things fade out over distance, but most games depend on resolution/view space whether 2D or 3D.

You want to scale images and use larger graphics if you can just so they aren't blurry/depixelated on an HD screen and support modern view ratios as best as you can.  If you screen is ridiculously wide like dual-screen you can put GUI elements or stat data on the sides, but you should avoid this as much as you can.

There are lots of other monitor tricks/hacks like turning up the brightness/using basic or custom graphics to make all things simple and visible--seeing through walls, etc.

You really can't have 'fair' matches unless it's in person and even then people still try to use hacks.
Title: What are some techniques to deal with screen resolutions?
Post by: Zweistein on June 27, 2010, 02:42:42 pm
You could also scale the sprites that you use. in 3d game it is just normal, because when you move to or away from some objects the textures always scale. for 2d games, the sprites look best, when their texturepixels fits to the monitor pixels, beause you dont need to filter.

But to support multiple resolutions, you would have to use different sizes of the texturesprites. You can per example use 3 resolutions and have all of your texturesprites in 3 resolutions available also. this would look best, because you dont need filtering.

Ont he other hand you can just create the texturesprites for the biggest supported resolution and then you scale down the images for lower resolutions. I wouldn t give bigger resolutions a bigger viewscreen, that would be unfair (specially in multiplayer).

If you biggest resolution would be 1680, you could choose that as your raster.

1680 / 1680 = 1. So 1 of your ingame-size (per example meter) = 1 pixel.
If your spite should be 25 meter, you would use a 25 pixel image.

On a 1024 Resolution however, you have the following values:
1024 / 1680 = 0.61. So 1 Meter is 0.6 Pixel in your game.
The 25 meter sprite is then 25 * 0.61 pixel ~= 15 Pixel. So you simply have to scale all you intern values by a factor of 0.61.