Salut,
C'est sympa tout ça, ton moteur de jeu avance bien !
Pense bien à avoir une bonne architecture de code dès le départ (modularité, faible couplage etc) pour pas galérer ensuite en te trimbalant des boulets aux pieds (ce que j'ai malheureusement subi depuis un bon moment sur mon projet personnel ;D).
En tant que petit exemple attention à ta classe "Game" qui peut potentiellement grossir énormément et se complexifier rapidement. J'avais à l'époque une classe similaire (GameCore) qui contenait l'ensemble des gestionnaires (= ce qu'on appelle "Système" dans un Système d'entité composants) mais ça devenait difficile à gérer pour par exemple faire la séparation entre scènes de combats et scène de map, voire scène d'écran titre… Par ex peut-être que la dissociation en plusieurs sous classes "Scene" peut te simplifier la vie (souvent les moteurs de jeu se basent sur les machines d'états pour stocker les managers).
Si je te dis ça c'est que je sais qu'un RPG possédant un contenu et des fonctionnalités aussi élevés que Pokémon devient très compliqué à gérer dans le temps, et le nombre de lignes de codes à revoir peut être énorme lors d'un changement architectural.
En tout cas hormis cette histoire de quelques classes énormes (BLOBs) ça m'a l'air d'allre vers la bonne direction, de mon côté je continuerai à suivre l'avancement, bon courage pour la suite !
Ah, et une dernière chose, ne te focalise pas trop sur le contenu au début, fais-toi de bonnes bases de contenu mais n'oublie pas de peaufiner ton moteur et tes graphismes avant tout !