Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1047935 Posts in 42482 Topics- by 34356 Members - Latest Member: modred11

October 01, 2014, 12:18:19 PM
TIGSource ForumsDeveloperCreativeDesignDesigning for different screen sizes
Pages: [1]
Print
Author Topic: Designing for different screen sizes  (Read 694 times)
quixoticproject
Level 0
**


just looking around


View Profile WWW
« on: May 08, 2012, 09:49:27 AM »

I am currently thinking about a shmup I want to do. The target platforms are Android, PC, Mac and Linux. The focus right now is on Android though. The game itself is a pixel graphics based game.
Since there are so many different screen sizes on the Android Platform and scaling the graphics with a non-factor-of-2 leads to really nasty scaling artifacts I am wondering how this is done.
This is my current approach:
I have a base resolution, that's the minimum resolution I want to support (for example 320x480). Every other resolution that lies between that and the next scaling factor (2) will just increase the area of the game. If the resolution is higher (e.g. min 640x960) the game will be scaled by two.

+ no scaling artifacts
+ easy to implement
- the playable game area is different for every player depending on the resolution they support
- this leads to some nasty design issues with levels, see screenshot below

This is an image of my bezier editor. I use it to create the paths the enemies will use later in the game. The rectangles show the min/max resolution within the same scaling factor. If the resolution is near the maximum of one scaling factor the area of the game is almost twice as big as with the minimum resolution Sad This makes it really hard to use one set of paths for all resolutions, I think I have to do at least two sets of paths. One for small and one for big resolutions...




Other approaches I have considered but rejected:

So far not many. As stated above, since it's a pixel based game scaling with non-factor-of-2 is not an option.

Also restricting the player to be able to fly only within certain areas of the screen is not an option, because players with a high resolution don't know about the issues with low resolutions so for them there is no reason why they shouldn't be able to fly there..

Have you run into similiar problems? How did you solve them?
« Last Edit: May 08, 2012, 12:59:56 PM by quixoticproject » Logged

@quixoticproject, currently working on Blockadillo
Lynx
Level 5
*****


Upstart Feline Miscreant


View Profile WWW Email
« Reply #1 on: May 09, 2012, 06:16:31 PM »

Have you considered letterboxing?

This would let you keep the game at an intended aspect ratio.
Logged

Currently developing dot sneak - a minimalist stealth game
quixoticproject
Level 0
**


just looking around


View Profile WWW
« Reply #2 on: May 10, 2012, 08:36:41 AM »

I considered letterboxing, yes. But as far as I understood letterboxing solves only the problem of keeping the aspect ratio the same between for example 4:3 and 16:9 devices. But if I have a display with a high resolution and one with a low resolution, and even if they have the same aspect ratio, they player with the high resolution device will have more "game area".. Thats the problem I want to solve, respectively find a solution that leads to similiar gaming experiences for both players.
Logged

@quixoticproject, currently working on Blockadillo
EdgeOfProphecy
Level 2
**



View Profile WWW Email
« Reply #3 on: May 10, 2012, 09:34:15 AM »

You could also attempt to scale the speed your game objects move at such that it is consistent across your different screen resolutions.  I think this wouldn't hold up as aspect ratios change, though, but it can still feel fairly close.
Logged
Lynx
Level 5
*****


Upstart Feline Miscreant


View Profile WWW Email
« Reply #4 on: May 10, 2012, 02:34:27 PM »

Well, what I mean is this:

You have X number of supported screen sizes based on scaling your 320x480 screen up or down.  You find the biggest screen size that will fit in your target, and black out everything outside that.

This could result in having black around all sides of your game window, but at least it will have the correct aspect ratio and ensure your game is played as it is intended to be played.

You could also have higher resolution versions of your sprites for bigger screen sizes, especially for playing on PCs with a screen size vastly larger than your minimum size.

From this Android dev page I see the following screen sizes mentioned:
Quote
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp

Based on this, I would suggest that you have sprites scaled for 426x320 and 640x480, then large screens would use 2x the first and xlarge screens would use 2x the second.
Logged

Currently developing dot sneak - a minimalist stealth game
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic