Make a quality option for your games: it is possible.

mangaspraimangasprai Member, PRO Posts: 35
edited May 2014 in Working with GS (Mac)

Hi guys, i always wondered why modern games doesn't have a quality option and a game that works amazingly on iPhone 5S, probably sucks on iPhone 4. And that's normal, but there is no way to turn the graphics down a bit.

I tried to make a method to swith on and off graphic features and it seems to work pretty nice. Imagine it as an option for your game:

so we have a game attribute game.Quality.
For this test i have only a boolean but you can make it an int so we have 1 to 5 for example:

    if game.Quality is = "5":
    spawn a lot of particles.

    if game.Quality is >= "3" and < "5"
    spawn very few particles.

    if game.Quality is "1":
    do nothing.**

or more simply

if game.Quality is true
spawn 5 "explosion" actors and destroy

otherwise

spawn 1 "explosion" actor and destroy**

the funny thing is that most of these "features" work in realtime, so you can affect game quality in realtime.
This video shows that: coins animations that stop, background animation stops(water), some background is not visible, some "colored overground" disappears, explosions are exchanged with non additive explosions, less particles when exploded, etc.

http://www.youtube.com/embed/BU5H4YAE45c

What do you think? :)

Comments

  • SocksSocks London, UK.Member Posts: 12,822

    @mangasprai said:
    Hi guys, i always wondered why modern games doesn't have a quality option and a game that works amazingly on iPhone 5S, probably sucks on iPhone 4. And that's normal, but there is no way to turn the graphics down a bit.

    This is basically what Resolution Independence within GameSalad does, it generates lower resolution versions of all your game images - so a Retina iPad will get hi-res images and iPad 2 (and earlier) will use images that are only 1/4 the resolution.

    Throw in your ideas about variable effects and so on and I think you've got a viable solution to slower / older machines.

  • cbtcbt Member Posts: 644

    You can even check the 'speed' of the device and set a quality automatically. There was a template that tested if the device was and iPad or iPhone or something, using something similar. You basically need to do a basic loop of some sort and compare the results on different devices on project start. For example "every 0.01 seconds test = test + 1". It should give different results on slower and faster CPUs (I think). And if not, I'm sure there is some method that we can guess how fast the device is.

  • TheGabfatherTheGabfather Member Posts: 633

    I used to do this when we were still aiming for iPhone 4 performance. Though it would just be a boolean and entirely disables heavy particles and some other special effects. Worked wonders FPS-wise (e.g. boost of 10-15).

    It got tiring after a while and less and less people were using 4, so we aimed for 4S minimum afterwards. Now the issue is no longer processing power; it's resolution. It's become quite a pain to design content-heavy interfaces for multiple resolutions :(

Sign In or Register to comment.