Tile maps
Tile maps are a very common tool for making lots of games. The idea behind it is that most levels are made of similar parts. The ground, for example, is likely to repeat itself a lot, with a few variations; there will be a few kinds of different trees repeated many times, and a few items such as stones and flowers or grass will appear many times, represented by the exact same sprite.
This means that using one big image to describe your level is not the most efficient solution size-wise. What you really want is to be able to give a list of all the unique elements and then describe how they are combined to generate your level.
Tile maps are the simplest implementation of this. They add a constraint though; all elements must be of the same size and placed on a grid. If you can work with those constraints, this solution becomes very efficient; that's the reason why so many old games were created with it.
We will start by implementing a very naive version of it and then show, at the end...