Bonjour,
N'étant pas (du tout) défenseur du langage Java je te dirais : fuis le Java :) car rétrospectivement ces derniers temps ils ont eu pas mal de grosses failles de sécurité... Et puis tu risquerais d'avoir des performances à ch*** (pour être polît) car c'est pas fait pour les jeux... Après c'est comme tu le sent ;).
Pour débuter un jeu regarde de ce côté là déjà pour savoir comment bien démarrer ton projet : Faire un jeu vidéo : par où commencer ?.
Perso, pour un projet tel que le tiens et vu du rendu que tu souhaite avoir au final, je serais partis sur la technologie Flash (vu que tu vise le web ça pourrait être tout indiqué) ... l'Html 5 n'étant pas encore présent partout (Le Flash ayant aussi un moteur 3D performant ("Stage 3D" si je ne dit pas de bêtises) comparé à WebGL par exemple que tu utiliserais avec l'Html 5).
Mais quand je dis Flash, ce n'est que pour l'export final... car il faudrait développer avec quelque chose du genre Unity 3D ou le Unreal Development Kit (vérifie les licences et les prix avant ;)) afin d'avoir le rendu que tu souhaite (cf. tes screenshots).
EDIT: Unity a un "Webplayer" qui peut s'installer et être utilisé dans le navigateur directement (comme flash) voir sur le site d'Unity. Ce qui permet de faire "sauter" l'étape export vers Flash.
NB :
Sinon si tu est "maso" et que tu souhaite le faire en Html 5 (ça va pas tarder à ce faire connaître comme technologie :P lol *sarcasme*) tu peut viser Three.js mais là, bon courage et attention aux performances que tu risque d'avoir... un jeu qui rame ce serait dommage :P (car il faut penser que les utilisateurs n'ont pas la même machine que toi... un peu comme si tu développais sur mobile, tout le monde n'a pas le même téléphone tu me suis ? ;)).
Et oui le développement de jeu vidéo est un métier à part entière :D.
En espérant avoir pu répondre à ta question,
En tout cas c'est un beau projet et j'espère que tu y arrivera ;),
Shadow
PS:
Côté gestion de personnage en CakePHP (si j'ai bien compris) c'est pour enregistrer les joueurs, les scores, etc... ? Si oui, et que tu vise ma solution de Flash ^, réfléchis peut-être à lier le jeu directement à la base de données... Solution de rapidité mais pas de maintenabilité (les requêtes au milieu du code du jeu c'est pas super propre et s'il faut modifier le code du jeu pour changer les requêtes et recompiler le jeu à chaque fois tu vas vite comprendre ta douleur :D).
Autre solution, tu peux garder CakePHP et l'utiliser en tant qu'API Rest. Te permettant ainsi (via ajax, httpRequest, ou autre...) dans le jeu de communiquer avec cette API (Json, Xml, ou autre...). l'avantage aussi est que si tu mène ton projet jusqu'au bout et que tu souhaite faire évoluer l'expérience du joueur, tu peut utiliser l'API de différente manière et la lier à une application mobile par exemple (stats du joueur, etc) ou tout autre utilisation... Il faut bien sécurisé l'API par contre pour éviter toutes tricheries ou hacks. Documentation sur les bases théoriques de la création d'une API (PDF).
Mais pour cette partie (gestion de personnage) tu avais l'air d'avoir fait ton choix donc ne tiens pas forcement compte de ce que j'ai écris ;)