Building a game engine to learn how game engines are built and used.