https://scpilot.org/blog/how-game-developers-make-games/