0
votes

I know there is a HIG about launch images, and the primary (and only) purpose of an launch image is to give users the impression that app is fast and responsive.

But this is more usual for applications (weather application for example), not for the games. Every game almost always has splash screen and that's how things should be in the games (or that's just me :).

In many games it can be seen that launch image is used as a splash screen, or promotional material for showing things like logos... So what would be a proper way for a game to have a splash screen? Is it better to follow the HIG and make an "screenshot" of user interface (without elements, just background) so that user really have an impression that app is loaded instantly and after launch image is removed, to show a splash screen? Or as another option, to use launch image as a splash screen(like in many games)?

There is a problem when using launch image as a splash screen because on newer devices loading time take just about second or less and I think that some kind of delaying launch image is not a good solution. So what is the preferred way to having a splash screen before game starts, what do you guys recommend?

3

3 Answers

2
votes

If you must have a splash screen then put it in the launch image, don't make the user wait for the splash screen to disappear while the app is doing nothing - that is just rude to the player. Nobody wants to stare at your logo (no matter how nice it is) while they could be playing your game.

What would be OK is to display your splash screen together with an animated loading indicator while your game loads resources on a background queue if you must have a long loading phase. Streaming resources as needed while the game plays still would be much better.

1
votes

I am kind of going off of what Sven said.

Don't have a splash image because it isn't really needed unless you want your user to sit there and stare at your logo (as Sven said it is kind of rude =) )

When your game launches provide your own version of a splash screen with a loading bar "if" needed. Now this only makes sense if you are talking about going into some sort of crazy menu that requires a lot of preloading. For most games you are on some sort of menu after launch and most of the time the loading of game resources doesn't happen until after the user decides to actually start a game. You may start loading resources in the background but they are not needed for the menu so there is no point in preventing the user from seeing your menu or interacting with it.

Starting a game is a time that would be more appropriate to show a loading screen (or splash type screen) with a progress bar if your background loading isn't finished or you are just now starting to load assets.

Hopefully that makes sense and is helpful.

1
votes

The launchscreen is an artifact back from the early iOS. Usually an app is required to save its state and restore itself to the state when loading. That's why iOS uses a screenshot of the last state during launch.

If you don't support restoring the state of your app then there is only one solution. Handle the app launch quickly as possible and display the splash screen on your own.

Edit to clarify: Just finish the the app delegate as quickly you can.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions Display then a splashscreen on your own. Use a NSTimer, UITapGesture or UIButton to dismiss - or whatever you want. :)