Bonjour a tous,
Étant un fan de sport et plus particulièrement de judo, j'avais en idée de crée un jeu en ligne (sur navigateur), pour la gestion des personnages la je n ai pas de soucis je compte le faire en php avec CakePhp mais ou je bloque est pour la gestion de mes combats, j'aurai voulu me reprocher de ce style:
ou votre personnage est a déplacer avec les flèches et certaines actions avec d'autre touche. En face il pourrait y avoir un autre joueur ou une IA.
Mon idée était donc d’utiliser les applets java, qu'en pensez vous? y a-t-il un meilleur moyen?
Pour les applets java j'ai des connaissances basic en java, que me conseilleur vos comme moteur 3D? Et existe t il un bon tuto pour l'utilise?
Merci de votre aide et votre expérience,
Pikadjou
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 ;)
Salut,
Un tout grand merci de ton avis qui m'a fait regarder dans certaines technologie que je ne pensais pas...
Pour Flash, j'avoue y avoir pense mais il me semble qu'il faut une licence (assez cher, surtout que je suis toujours étudiant), j'avais donc vite oublie cette solution...
Je pense donc que je vais partir sur une solution html/css/js et pour reussir a "lier" mes 2 joueurs (du pvp quoi) utiliser NodeJs (je vais regarder le tuto dans les prochains jours).
Pour le Java, je le garde tjs du coin de l'oeil (surtout que je vais avoir des cours sur les applets et servlets l'annee prochaine), mais d'autres personnes m'ont aussi fait remarquer que cela risque d'etre fort "lourd".
Pour les ScreensShot, c'est en effet mon objectif a terme de faire ce genre de graphique, maintenant rien ne m'empeche de commencer avec un graphiste moins pousse.
Encore merci de ton avis, de ton aide et de ta vision.
N'hesite pas a critiquer mon choix =D
Pikadjou
Salut, moi j'aurais dis tout l'inverse, fuis le Flash et fais en Java. Concrètement, oui Java a des failles de sécurité mais Flash tout autant et PHP aussi. Java a un rendu plus rapide que PHP car le code est compilé, il y a une communauté java plus importante que pour le Flash (qui est plus ou moins un langag propriétaire Adobe). Pour CakePHP, je te conseille d'utiliser un framework Java tant qu'à faire, tu auras ainsi un système unifié entre ton jeu et ton interface de gestion. Ça fonctionne comme PHP sauf que tu codes le Model et le Controller en Java au lieu de PHP. Les frameworks connus sont Spring, Hibernate ou Play!.
J'ai travaillé en Java, Flash et PHP donc je connais bien ces technologies et pour un projet comme le tien je serait plutôt partis sur Java (mais bon je hais Flash en même temps...).
Salut, merci de ton intervention,
Pour le faire en java je dois utiliser les servlets alors pour "lier" les 2 joueurs alors? (si je me base sur les applets),
aurais-tu un bon moteur 3D pour java? J'entend pas mal parler de OpenGl mais réputer pour être lourd et je ne trouve pas bcp de bon tuto pour java (je sais que il en existe pour c++).
Pikadjou
aurais-tu un bon moteur 3D pour java?
Désolé, je ne connais pas les moteurs 2D/3D, ce n'est pas dans mon coeur de métier.