Optimizing tile maps for top-down games
The tile map we implemented in the last chapter works well for side scrollers as they typically use a sparse matrix to define their levels. This means that if your level is 100 tiles long and 7 tiles high, it will contain way less than 700 tiles. This allows us to create all those tiles at the beginning of the game.
For a typical top-down game, we find ourselves in a very different situation. Indeed, in order to render the map, all the possible tiles of the tile map used are defined. This means we will have at least 700 tiles for the same level of dimensions. The situation becomes even worse if we use many layers. To reduce this number in order to increase performances, we will have to generate only the tiles that are visible at startup. Then when the view moves, we will have to track which tiles become invisible and delete them, and which tiles become visible and generate them.
There is a tradeoff here; adding and removing tiles will take time, and...