There’s a lot of tricks developers have been doing. The issue most players have with load times is that there are thresholds beyond which the player gives up and drops the game. If we can keep the player from experiencing too much loading, especially in one contiguous chunk, then we are probably good. This is usually handled in one of a several ways.
First, we try to reduce the amount of data that needs to be transferred. Lower resolution textures, compressed files, compressed audio, and so on and so forth. Reducing the overall file size through savings here and there is the first order of the day.
Second, we can try to break up the longer load times so that there isn’t too much waiting in one sitting. This usually entails allowing players to play certain parts of the game without downloading the game’s full assets. If we only have to download the tutorial and its assets at the beginning of the game, we can let the player play the tutorial and get into the action faster without having to wait for everything to finish transferring before we can play the game. If we only need these ten files to play this particular level, we don’t need all of the others.
Third, during load times we can offer the player something to do. This can be a mini-game, a puzzle, a practice dojo, a buy/sell/equip gear interface for the chosen mission, or even an elevator ride while the player listens to character conversations. Another common thing many developers do is show bits of featured lore about the game’s characters and places that can be scrolled through during the load screens. If players aren’t just staring at a progress bar, it doesn’t feel as annoying.
A fourth option is to enable background downloads (assuming the player allows it) while the phone is running and on wifi. Similar to how apps can be permitted auto-update while the phone is idle, the game can be permitted to download whatever files it needs while it sits resident in memory on the phone during downtimes. If we detect the device screen is off, we can use that opportunity to transfer some data.
This list is, of course, not exhaustive. There are other means of dealing with data transfer times being researched all the time. As long as transfer times are a problem, we’ll keep trying to figure out better solutions for it.
[Join us on Discord] and/or [Support us on Patreon]
Got a burning question you want answered?
- Short questions: Ask a Game Dev on Twitter
- Long questions: Ask a Game Dev on Tumblr
- Frequent Questions: The FAQ