How to play:
move around with 'arrow keys' or 'w a s d'
'+' to zoom in and '-' to zoom out.
All of the tiles displayed come from a single 'tileset' image. They appear random, but that is just because the chunk data is randomly generated. Chunks are a 32*32 block of tiles. At any given point, 4 chunks will be loaded. To load the chunks, tiles are drawn onto offscreen canvases. Then, as the player moves around, the offscreen canvases can be directly drawn onto the main canvas, saving time.
To see the chunk loading process in action, zoom out with '-'.