O'Reilly logo

Professional HTML5 Mobile Game Development by Pascal Rettig

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Adapting to Limited Bandwidth and Storage

Given the predominance of Wi-Fi in the United States, designing for mobile doesn’t necessarily mean your players will be on 3G when they play your game, but it does make it a possibility that you need to take into consideration.

If you create an RPG with hundreds of megabytes of assets, you need an incremental loading system that doesn’t try to download everything at once. Even if the user is on 4G or Wi-Fi, the mobile browser won’t have the cache space or the memory to handle all those assets efficiently.

Optimizing for Mobile

What does optimizing for mobile mean? It means packaging and delivering your game in such a way as to let the player into the game as quickly as possible. This means limiting the libraries you use, minifying your JavaScript and CSS assets, and using spritesheets to limit the number of separate requests the device must make to download images. It also means setting up your web server to serve assets compressed to reduce the bandwidth costs. Finally, it means configuring your server to serve the proper cache headers to ensure assets can be cached on the device and don’t need to be downloaded every time the player plays the game.

Good for Mobile Is Good for All

The good news is that optimizing your game for mobile doesn’t only affect mobile devices. Making your game load faster and play smooth can result in a better all-around experience on desktop as well as mobile.

Many times, given the speed of desktop browsers ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required