Qu'un jeu professionnel avec 50 programmeurs dessus en permanence poussent les PC et consoles dans leurs derniers retranchement et ait besoin d'optimisation bas niveau, c'est une chose
Qu'un jeu amateur ait besoin d'un tel niveau de performance sur un PC moderne, ca veut juste dire qu'on s'y prend comme un pied ; la couche "langage" importe peu, a ce stade.
Quand a la POO, ca n'a jamais empeche de faire certains types d'applications ; on faisait des jeux bien avant l'avenement du C++, et des moteurs tres populaires comme le Quake Engine etaient encore tres tardivement ecrit uniquement en C/ASM.
Le choix d'un langage doit se faire avant tout sur l'utilisation qu'on souhaite en faire. Si tu as besoin de faire un outil pour ton jeu, en C++ tu vas galerer parce que la creation d'UI Windows est absolument immonde. Alors qu'en Java ou en C# tu vas avoir un truc operationnel en un rien de temps...
Et pourquoi *un* langage ? En general dans un jeu, t'as :
- 1 langage high level (C++, par exemple)
- 1 langage low level (ASM)
- 1 langage pour les outils (C# par exemple)
- 1 langage pour les scripts (LUA, etc.)
- 1 langage pour (avec une virtual machine pour la gestion des shaders, par exemple)
Bref, poser la question naivement "Java ou C++", ca montre que tu manques encore de comprehension globale, que tu dois avant tout te concentrer sur un PETIT projet amateur, et qu'au final dans ton cas le langage importe peu.