A tutorial on splitting your game world up into chunks and progressively handling it as the player moves around.

Posted on 18th Oct 2018. Follow @phaser_ and get the Phaser World newsletter.


Jerome Renaux writes: "Tilemaps are great data structures to store all kind of useful information about your game world. However, if you world is very big (like, several million tiles in width and height), you will have to deal with a correspondingly big map, of potentially enormous size. In that case, loading the entire tilemap in one go becomes problematic and has to be avoided. One solution for dealing with huge maps is to compartmentalize your world in several moderately sized areas, which can only be accessed through controlled bottlenecks, such as valleys or gates. That way, you know when to load each area and have only a much smaller amount of map data in memory at any time (the guys of Firewatch do something like that.)

Another solution, which I use myself for Westward, is to split your world map in a mosaic of many many smaller “chunks”. The idea is then to only load and draw the chunks surrounding the player, and to do so on the fly as the player moves. This approach has the advantage over the previous one that it does not constraint the topology of your world at all (no need for controlled access points), and is the one I’ll be implementing in this tutorial."

Read More

Learn to code and lead your intrepid crew on a mission to save The Cloud in TwilioQuest, a PC role-playing game inspired by classics of the 16-bit era. Free forever, and available now for Windows, Mac, and Linux.

The first book on the creation of HTML5 cross platform games using Phaser 3 and other free software.
  • By Emanuele Feronato
  • 155 Pages
  • 28 Source Code Examples
  • Build a complete game from start to finish
  • Cross Platform
  • Scaling for devices
Buy Now