Existem muitas boas escolhas. (Eu ensino CS1 e CS2, bem como programação de jogos.) Primeiro, é claro, aprenda a pensar como um cientista da computação. Não fique muito atado à linguagem, porque os conceitos são realmente universais.
Java é uma linguagem muito boa, mas construir um jogo em Java é um pouco tedioso. Existem alguns mecanismos interessantes por aí que tornam o processo um pouco mais fácil. Infelizmente, pode ser meio difícil anexar um mecanismo de jogo à sua ferramenta de edição.
Gosto do mecanismo FANG (infelizmente ainda não posso postar hiperlinks, procure no Google.) Uma parte interessante desse projeto é o editor on-line. Isso significa que você pode começar imediatamente sem precisar mexer nas configurações do eclipse.
Eu realmente não sou fã do Game Maker. A GUI é adequada para pessoas que não querem aprender a programar e é uma ferramenta de prototipagem decente (mas não ótima). No entanto, existem duas coisas que eu não gosto. Primeiro, é comercial. Isso não é uma coisa ruim, mas se houver alternativas gratuitas de código aberto que sejam tão boas (e existem), talvez você deva procurar primeiro. O maior problema com o Game Maker é a linguagem de script. Eventualmente, você irá superar a GUI e realmente começará a escrever código. A linguagem de script no GM é bastante retrospectiva. Como você é formado em ciências da computação, espero (espero) reutilizar código, elegância, clareza, eficiência e modularidade. O idioma do GM irá decepcioná-lo.
Eu amo Python e Pygame. (De fato, escrevi um livro sobre eles. Veja todas as minhas anotações e vídeos on-line no meu site, se você quiser. Você é bem-vindo a esses recursos, tenha ou não o livro.) Python é uma linguagem elegante e elegante que não é ' muito difícil de aprender (especialmente se você já sabe como programar.) O Pygame é um invólucro do popular mecanismo SDL 2D. Na verdade, adicionei um segundo wrapper ao pygame para facilitar o trabalho com o Flash.
Falando em Flash, acho que não vale a pena. (Eu sei que você não perguntou) É uma boa plataforma, mas o custo e a incerteza sobre como será o desempenho em dispositivos móveis significa que pode não ser uma ferramenta de aprendizado tão boa. (Também escrevi um livro sobre desenvolvedores de jogos no Flash, mas não ensino mais o Flash.)
Aqui estão outras ótimas coisas para tentar. Obtenha uma cópia do scratch no MIT:
scratch.mit.edu
É feito para crianças, mas não deixe que isso o afaste. É uma ferramenta de jogo e animação absolutamente incrível. A programação usa blocos, por isso é fácil começar. Você ficará surpreso com o que pode fazer com isso.
Você também pode experimentar Alice da Carnegie Melon www.alice.org A última edição (3) é na verdade uma extensão do Java, que usa os Sims2 Models.
Scratch e Alice são grátis.
Mais uma ótima ferramenta para analisar é o Blender
www.blender.org
É uma ferramenta de modelagem 3D, mas muitas pessoas não sabem que também é um mecanismo de jogo completo com uma interface de programação de arrastar e soltar. Depois de superar os blocos, ele tem suporte para Python embutido.
Agora estou bastante interessado em HTML5 (que é apenas HTML - é realmente HTML, CSS e JavaScript.) Ele não existe como um ambiente de desenvolvimento de jogos, mas acredito que será um grande participante. Meu próximo livro será sobre desenvolvimento de jogos em HTML5.
Boa sorte para você e deixe-me saber se você tiver mais perguntas.