Make Your Own Game Engine
So far in this book you've learned how to make a collection of flexible, low-level tools and use them to help build games. But one thing you'll notice after you've made a few games with those tools is that you end up writing a lot of repetitive code. This includes all the code to load your assets, import modules, run the game loop, create sprites, loop through sprites to check for collisions, move sprites, and countless other little uninspiring, tedious, but necessary tasks. All this is the game engine code, and it can end up being up to half of all the code you write.