Multi-Resolution Game Development With GameBuilder Studio Check it out!
NEW Version 0.9.7 has arrived! New Blazing Fast Particle Engine & More Game Actions. Check it out
How to Create Multi-Resolution Assets
  • Hello everyone,

    I am wondering about creating multiresolution assets, should i just create an background for example at 480x320 and when multiply it? Or is where some template on how big assets should be to cover all devices correctly?

    /Isak
  • 7 Comments sorted by
  • @Isak when creating multi-resolution assets figure out what the largest size is that you will have to support. What is the largest resolution. Then work your way back. Do this for all the platforms you want to support then you can come up with a base asset that can be used across various resolutions. This is easy for supporting just iOS because all the devices are multiples of each other. But for android it is a little trickier. But your base image should be able to be multiplied by all the scale factors that you support to cover larger resolutions. So 
    480 x 320 at 1.5x scale will need to have an asset that is 720 x 480 and so on.

    Also what type of scaling mode are you using? No Edge or Fill Screen?
  • @Lavon i haven't really got that far yet. I just don't want to create assets whats to small and have to do it all over again.

    I was thinking about No edge, when developing for android should i use 1,5x i was thinking of using x2 and x4. Is gladly taking advice before i start, i saw a template for another SDK where they used the sizes:

    570x360
    1140x720
    2280x1440

    To be able to cover all sizes even with android, is this a good way to go or should i use different sizes if i use GBS?

    /Isak
  • If i initially develop for IOS and when later publish to android will the same sizes work with little distortion or will i get black borders or big distortion?
  • @Isak I can't answer your question because I don't fully know what all devices you are targeting. I also don't know what aspect ratio or screen orientation you are building for (Landscape or Portrait). 

    Those sizes may vary well cover the spectrum. Yes if you develop for iOS all scaling will work on Android but sizes are different so you have to take all device sizes into account when choosing your base size. Your base size is key when trying to scale across the enormous amount of Android and IOS devices. Also picking a fixed orientation is important.

    However based on some of your questions I'm not sure you fully understand how multi-resolution scaling works. Let me try to clarify a little bit more. In GameBuilder Studio when using our Multi-Resolution scaling settings the rendering engine performs differently across devices. 

    No-Edge Scaling

    The No-Edge Multi-Resolution Scaling setting is the easiest because it eliminates the two major problems you run into when developing across multiple screens. It solves the screen density (screen resolution / image quality) and fixed coordinate system problem across all device sizes. If you have a small screen Android or iOS device like a phone and your base screen size is 480w x 320h (Landscape) then that will be the coordinate system and screen area of your game across all devices even if the physical dimensions of the device that your game is played on has changed. Also the size of your objects will stay the same without loosing quality. 

    So even if you decide to put it on both a phone and a large iPad you don't have to change anything. Your image object that is 100w x 100h will remain that physical size across screens. GameBuilder Studio (Gbs) will calculate and load the closest image scale of your Image assets (that you included with your game, in editor, 0.5x, or 1x, or 1.5x, or 2x) depending on what the screen size of the device relative to the base size you started at in GameBuilder Studio which is always considered 1x. 1x is the base size used in the calculation. So if you have a device that is smaller than 480 pixels wide in landscape GBs will load the 0.5x scale (if included). If the device screen ends up being larger than 480 GBs will load the 1x or 2x scale images at runtime depending on what scale is closest when it does its calculation. 

    This has two side effects it makes your final game size larger and slows down game startup time. (We are trying to fix the first problem of final package size by adding external resource bundles, which is coming later)

    The coordinate system also remains the same so if you animate an object in your game from position 0 along the X axis to position 100 on the X axis (From left to right) then that object will end up in the same position relative to all the screens your game is running on. This is what you want. This saves you the headache of calculating how much objects should move and where on screen they will end up when the game is played on varying screen sizes. 

    GameBuilder Studio makes sure there is no visible edge when using this technique so it will zoom your game up a bit and make sure that the edges of your game go beyond the edges of the devices to prevent any black borders so this is why it is important to make sure the important areas of your game are in the center "safe zone" area of the game stage and not aligned to the very edge of your base screen size.

    Fill Screen Scaling

    When using Fill-Screen GameBuilder Studio still handles resolution scaling but it does not give you a fixed coordinate system. The resulting reported screen size at runtime will be larger or smaller depending on the devices screen. It utilizes all the available real estate of the devices screen to increase the viewable area of your game. So if your base size is 480 and the devices' screen is large then your game coordinate space will expand. This reduces the zooming effect scene with the No-Edge scaling but then you have to calculate the position of your objects at runtime for everything. If you positioned a button at the bottom right hand of the game screen you have to make sure at runtime on level load you position that button dynamically based on the current size of the screen that the game is running on. This requires more logic thus it is a little bit more complicated.
  • @Lavon i was thinking about target most IOS and Android, but i thought if i just used 320x480 portrait and when used @x2 and so on then i would still miss some sizes because of the different ratios? Or will No edge zoom automatically so that no black borders will appear?

    I think i want to go the way with No edge scaling but would like to create for both IOS and android.
  • I am thinking about starting to develop for IOS first, and what i am thinking is these sizes:

    iPhone 3GS: 480x320 @1x


    iPhone 4/4S iPad 1/2/Mini 960x640 @2x


    iPhone 5/5S/6/6S iPad Air/Mini Retina 1920x1280 @4x


    Will this work ok?

    Because the newest ipad don't it has a res on 2048x1536 or will it work with 1920x1280 for these bigger device anyway? I am thinking that the difference isn't that big so maybe GBS scaling cover that for me? Lastly do many still develop for Iphone 3GS?

    I would really like som input from people who has made a game and know what is working?


    /Isak

  • @Isak It sounds like you are developing a game in Landscape so that base size should cover the range of devices. Yes the 1920 x 1280 resolution will cover the larger device of 2048 x 1280 GBs will just scale up a little bit their shouldn't be to much of a noticeable drop in quality. but you can also include up to 5x. So you can always cover the larger resolution by going up one more level.

    Remember anything between or above those included scales will be fine because GBs will just select the nearest scale factor to load and use.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

Tagged