Klingt alles irgendwie sehr verwirrt... Ist 1997 das Geburtsjahr? Könntest du evtl. etwas genauer beschreiben, was du willst oder vorhast? C++ und Java haben teilweise recht unterschiedliche Einsatzbereiche, und sind beide keine Spiele-Engines. Wenn du unbedingt etwas seriöseres mit Spieleprogrammierung machen willst, solltest du wohl erstmal bei C++ bleiben.
Kurz zu Fragen:
Unterschiede: Java ist erheblich schonender für den Programmierer, und erlaubt es nicht, sich zu oft in den Fuß zu schießen, im Unterschied zum allzu ehrlichen C++. Java an sich ist im gewissen sinne etwas "höher" (zB wenn man generics zu templates vergleicht), was man mehr mag ist Geschmackssache. Auf dem Gebiet der Spiele und der wissenschaftlichen Berechnungen ist C++ etwas etablierter.
Bücher gibt's für java zuhauf, online & kostenlos. Google "java insel openbook", siehe FAQ
*Irgendwelche* Engines gibt es immer für alles (vielleicht nicht für Prolog), aber diese sind bei Java nicht so populär, einfach weil Java ganz wo anders verwendet wird, nämlich bei monströsen serverseitigen Anwendungen.
Was mehrere Sprachen zur selben Zeit angeht: kommt darauf an, wie viele Sprachen du schon geschluckt hast. Wenn C++ deine erste ist, dann lern erstmal C++ halbwegs ordentlich, und danach lerne noch einen haufen Sprachen: jedes jahr eine oder so. Wenn du C++ gelernt hast, wirst du auch besser verstehen, wofür man Java schätzt, auch wenn du dich anfangs so fühlen wirst, als könntest du damit nicht mal bis Zehn zählen. Das merkwürdige Gefühl der amputierten Hände beschleicht einen stets, wenn man mit einer neuen Sprache konfrontiert wird, und an etwas anderes gewohnt ist, das legt sich aber, desto schneller, umso mehr man lernt.