3D-Spiele in Java programmiert man mit - Überraschung! - Java und gegebenenfalls mit einer Java-3D-Engine (wie z.B. JMonkeyEngine). Die Vorgehensweise hängt stark vom Spieltyp, aber auch der gewählten Engine ab.
Hier ein etwas veraltetes, dafür aber freies eBook mit viel Code und einem recht systematischen Einstieg(!) in die verschiedenen Spieltypen:
Killer Game Programming in Java. Als Engine wird dort Java3D verwendet, was nicht unbedingt die beste Wahl für Spiele ist, aber zumindest für die Grundkonzepte ausreicht.