Desenvolvimento de games é uma excelente forma de aprender a programar
Eu sou fã de desenvolvedores de jogos indie. Sério. Desenvolvimento de games permite que você aprenda um pouco de tudo... Você precisa incorporar algoritimos complexos para calcular física, line of sight. Aprende princípios importantes de memória ou fps mas também precisa aprender muito sobre Experiência do Usuário para criar interfaces que façam sentido e sejam fáceis para todo tipo de usuário.
Inclusive, outro ponto muito bem explorado no desenvolvimento de games, é ACESSIBILIDADE. Você precisa pensar fora da caixinha e não depender apenas de sons ou cores para demonstrar, por exemplo, quando seu personagem toma dano ou de que direção seu inimigo está te atacando.
E é claro, você precisa também aprender a se virar com algum tipo de arte para desenvolver os assets e sound effects do seu jogo.
Além de tudo isso, você aprende a se organizar. Por mais que você queira desenvolver todas as etapas do seu game, as vezes você precisará ceder. Usar um engine mais completo e abrir mão de um controle integral do comportamento da física do seu game ou usar um pack de assets prontos - abrindo mão de ter as artes exatamente da forma que você queria.
É um processo longo e demorado, mas você aprende um pouco de tudo! De tudo mesmo.
Parabéns por criar o Natal Perdido! Imagino que deve ter sido uma experiência incrível.