JeuWeb - Crée ton jeu par navigateur
Comment mettre en place une architecture MVC ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Comment mettre en place une architecture MVC ? (/showthread.php?tid=1227)

Pages : 1 2 3 4 5 6


RE: Comment mettre en place une architecture MVC ? - Rodrik - 14-04-2009

Ce sujet est un peu vieux mais ce dont je veux parler est pile dans le thème donc je recycle.

Voilà je voulais savoir parmi ceux d'entre vous qui implémentent une solution MVC pour leur jeu, qui utilise un framework dédié (type Zend, Symfony, etc) et qui a développé sa propre solution, si possible avec quelques arguments de pourquoi telle solution est mieux Smile

Cette année dans le cadre de mes études j'ai bossé sur un projet de portail web pour une association. On s'est servi d'un framework MVC: Jelix. Il a bien rempli son rôle et même si au début l'emploi de ce type de framework demande une période d'adaptation, à moyen et long terme c'est très rentable.
Mais voilà dans le cas d'un jeu j'ai du mal à déterminer si un framework répondrait bien aux besoins ou, au contraire, apporterait plus de problèmes que d'avantages.

Si vous avez de l'expérience dans ce domaine, je suis preneur Wink


RE: Comment mettre en place une architecture MVC ? - Zamentur - 14-04-2009

Pour ma part j'utilise un modèle MVC.
Il est conçu de mes petites mimine, mais j'envisage de transformer çà en complément du Zend Framework. Mais c'est pas sur du tout, je suis en train de découvrir ce framework.

Donc des arguments j'en ai pas trop, vu que j'ai jamais fait de jeu avec un framework existant.
Mai sje devine qu'un des arguments c'est de gagner du temps, apprendre un framework est certainement plus rapide que d'en développer un (du moins je pense)!


RE: Comment mettre en place une architecture MVC ? - pascal - 14-04-2009

Hello,

Je développe un portail avec symfony, mais aussi un jeu, et je conseille fortement d'utiliser un framework :
- pas besoin de coder des systèmes annexes (gestion de droits, accès à la base de données, gestion de formulaires...) : c'est de base dans un bon framework, donc on code directement le site / le jeu et pas un outil pour faire un site / un jeu
- c'est documenté, donc on peut s'appuyer sur cette doc pour comprendre comment ça marche, au lieu de coder, ne pas documenter et être perdu dans son propre code
- ça structure le code ( surtout symfony), donc tous les codeurs doivent coder de la même manière : selon les conventions du framework. ça amène un code homogène
- l'architecture MVC est là, on ne doit pas la réinventer
- plein de modules/plugins existent pour gérer tout et n'importe quoi, on n'a pas besoin de les écrire, il suffit juste de lire la doc et de les utiliser

Il ne faut pas oublier qu'un jeu web est une application web, qui n'est rien d'autre qu'un site web avec beuacoup de logique derrière, donc un framework est adapté.

A+

Pascal


RE: Comment mettre en place une architecture MVC ? - Rodrik - 14-04-2009

Merci pour vos réponses.

Pascal ce que tu dis ici est intéressant. J'ai trouvé ton topic sur Créajeu où tu parles de ta prise en main de Symfony, et de ce que je vois Jelix est relativement proche de ce framework: découpage en modules, validation de formulaires automatisée, etc.

La question qui demeure: est-ce bien adapté à un jeu? Pour t'entrainer tu as développé un petit site, mais c'est là l'utilisation standard de ces frameworks: afficher du texte, des images et des formulaires ok no problemo. Mais quid des cartes, damiers et autres fenêtres plus "graphiques"? Tu as eu l'occasion de tester?

Ce qui me fait peur est de me retrouver à jongler avec un framework qui n'est pas prévu pour l'usage que j'en ferai, et de perdre du temps là dessus. Sinon autrement je suis convaincu par l'utilisation d'un framework MVC ^^


RE: Comment mettre en place une architecture MVC ? - pascal - 14-04-2009

Après le petit site, j'ai codé le portail CreaJeu. En parallèle, j'ai un petit jeu sur le feu, avec symfony encore une fois.

En fait, pour le jeu il y a tout un site à créer. J'ai commencé la partie admin du jeu, pas de soucis, même pour un éditeur de carte case par case.

Pour la partie "jeu", ça me semble jouable aussi :
- ce sont des formulaires à gérer
- on peut utiliser de l'AJAX
- + tous les avantages habituels d'un framework

Je ne m'en fais pas pour le jeu; mais pour l'instant, je code le portail.

A+

Pascal


RE: Comment mettre en place une architecture MVC ? - Allwise - 15-04-2009

Pour ma part j'avais commencé à développer les bases de mon jeu avec Z-F, que je connais plutôt bien maintenant. Mais la puissance de ce framework coûte cher en performances... Les seules données reçues / envoyées par mon serveur étant du JSON, je me suis dit que j'avais pas besoin d'une architecture MVC. Autant pour un vrai site web, je trouve justifié l'emploi d'un tel framework, autant pour requêter dans la base de données et faire quelques calculs, y a aucune utilité. De plus, j'ai eu l'occasion de faire tourner de sites développés sous Zend sur plusieurs types de dédiés, et celui dont je dispose n'est clairement pas assez puissant pour inhiber la lourdeur du framework.
J'ai donc préféré mettre Zend de côté et partir dans une autre direction, une architecture type client / serveur développée maison. Pas sûr que ça tiendra la route, mais je m'amuse bien et c'est l'essentiel.
Tout ce qui me reste du MVC, ce sont mes modèles, que j'ai rapidement adaptés. La couche affichage est totalement gérée en javascript, donc je n'ai rien eu à modifier de ce côté là.
Je pense que je vais tout de même utiliser quelques packages de Zend, plus ou moins standalone, comme celui qui est en charge de la gestion du cache, et que je trouve très puissant Smile.


RE: Comment mettre en place une architecture MVC ? - Morningkill - 16-06-2009

Pour moi,c 'est en MVC :
- parceque sinon, c'était en webforms, vu que je fait de l'asp.net
- parceque je trouve que le MVC induit une réflexion sur la structure (au niveau macro et micro) que je trouve intéressante, amusante, et élégante.
- parceque ca me ferai toujours un début d'introduction pour Rails
- parceque c'est plus facilement testable de façon automatisé