To deliver a rich mobile game experience in a reasonable time, much of the texture data that a player sees in a game of Marvel Puzzle Quest is downloaded on-demand and just-in-time. This includes character portraits, effect images, and comic covers. We use a few tricks to make this as seamless and as smooth as possible.
If a quad is rendered with a texture that has not been downloaded, that quad will fade-in once that texture is ready, to avoid unsightly pop. To minimize instances of fade-in, we predict textures that will be needed and download those textures in advance during gameplay. In cases where fade-in is not acceptable, we hold players at a loading screen until critical texture data has finished downloading.
To account for the ever expanding roster of characters in Marvel Puzzle Quest, downloaded texture data is cached on a player’s device. This data persists across game updates, which gives us a manageable experience for both new and returning players. First-time players must download all data, but they initially have a smaller, known set of data to download. Returning players have access to a much larger roster of characters, but they will likely have most of that data cached from previous play sessions.
Going forward on Marvel Puzzle Quest, we plan to apply our just-in-time content downloads to audio data as well as texture data. For future projects, we are exploring new techniques, such as the use of lower resolution placeholder images instead of a fade-in to cover texture downloads.