#16 Mira yo soy de Java. Y te voy a comentar como va la cosa.
1) Si quieres Java -> libGDX. ¿Porqué? Pues por que tiene portabilidad a Android, HTML5, iOS y PC.
Inconvenientes de usar libGDX
Al no haber programado videojuego en la vida (o por lo menos mi caso), vas a tener que adaptarte a la manera de programar. Olvidate de la manera en la que programas. Crear videojuegos a partir de código crea otro paradigma de programación que tendrás que entender.
Todo esto empezando a usar libGDX, también puedes ponerte a hacerte una engine tu mismo.
Tiempo, tiempo y mas tiempo, videotutoriales, manuales en ingles, libros, etc... Al final, acabaras dejándolo a no ser que seas un puto monje.
Puedes utilizar LWJGL otra librería de mas bajo nivel (con bajo nivel me refiero a que no tiene capa de abstracción como libGDX).
Ya si te pones puedes usar Java 2D y swing o FX (de java 8).
RPV: Programar juegos con código ya sea Java, C++, Python, C, Perl, Ruby on Rails, yoquesetio xdd es difícil y conlleva un tiempo gigantesco para hacerlo autodidacta.
2) Mi recomendación. Cógete Unity, toquetealo, haz cosas, scripts (con C#, JS o Boo) y haz un juego. Conlleva tiempo, pero los conceptos de spritessheets, colisiones, físicas, los iras adquiriendo con forme vayas ganando EXP.
EDIT: http://www.java-gaming.org/ aquí hay bastante información y gente que hace videojuegos con Java.