JeuWeb - Crée ton jeu par navigateur
Comment réorganiser ? - 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 réorganiser ? (/showthread.php?tid=565)

Pages : 1 2


Comment réorganiser ? - Senathor - 30-05-2013

Bonjour,

Voilà plus d'un mois que j'ai lancé mon jeu qui compte maintenant plus de 1400 joueurs dont 1/3 d'actifs (je parle par là de joueurs connectés dans les 3 derniers jours). J'ai dû essuyer pas mal de bug plus ou moins important depuis la sortie du jeu, heureusement on finit par [presque] en venir à bout et depuis une semaine on peut dire que le jeu est vraiment "stable". Outre corriger de nombreux bugs le jeu a aussi beaucoup évolué sur son gameplay et son design, et il n'y a pas un jour sans que je travaille dessus.

Mais avec toutes les modifications faites, certaines un peu à l'arrachée car indispensable et rapidement, certaines pages du jeu ont maintenant un code long et peu clair. J'ai beaucoup de fonctions et certaines se répètent un peu.

Alors je me suis dit que j'allais essayer de tout reprendre, mais la tâche démoralise bien vite. De ce que j'ai pu lire un peu partout sur le net, il n'y a que des avis contradictoires mais tous ne datent pas de la même "époque" de programmation. Donc j'en viens solliciter vos conseils.

A savoir, mon jeu est programmé en php procédural, sans architecture MVC. J'ai pensé à refaire le jeu en utiliser un framework (je suis particulièrement intéressé par CakePHP et Symfony2) mais je suis loin d'être encore à l'aise avec et je ne me vois pas du tout refaire un jeu de A à Z car cela demande de penser différemment et par conséquent revoir la logique du jeu et les relations avec la bdd à laquelle je n'ai pas trop envie de toucher lors d'un passage de version. Installer une structure mvc, ça aussi je l'ai envisagé, mais je trouve que ça risquerait de demander de tout retoucher pour très peu au final. Avoir 3 fichiers au lieu d'un... C'est bien pour les frameworks mais quand on code en procédural j'ai des doutes sur sa réelle utilité.


RE: Comment réorganiser ? - SorenS - 30-05-2013

Le problème une fois qu'un jeu est fait et en ligne, c'est la motivation pour tout refaire bien. Je ne pense pas qu'il faille le faire, pour la simple raison que tu n'arriveras jamais au bout.

Pour ma part, je pense que tu peux petit à petit améliorer des bouts de code. Et pour les évolutions futurs, faire direct du code plus propre (meilleurs fonctions etc...)


RE: Comment réorganiser ? - Kassak - 30-05-2013

Tu ne pourras pas refaire ton code sans TOUT revoir.

Du MVC en procédural, tu peux, mais ça n'a aucun sens et peu d’intérêt, quitte à faire du MVC, autant le faire à la bien en utilisant un framework fait pour ça.

Avec Symfony 2 par exemple, tu pourras développer bundle par bundle (module par module). Tu ne te sentiras pas noyé parmi des milliards de lignes de codes à refaire puisque la migration se fera petit à petit, à ton rythme.


RE: Comment réorganiser ? - Keltaïnen - 30-05-2013

(30-05-2013, 10:35 AM)SorenS a écrit : Le problème une fois qu'un jeu est fait et en ligne, c'est la motivation pour tout refaire bien. Je ne pense pas qu'il faille le faire, pour la simple raison que tu n'arriveras jamais au bout.

Pour ma part, je pense que tu peux petit à petit améliorer des bouts de code. Et pour les évolutions futurs, faire direct du code plus propre (meilleurs fonctions etc...)

Je rejoins SorenS sur le fait que, malgré ce qu'on voudrait parfois nous faire croire, il est tout à fait possible de migrer progressivement du code.

Etant né dans le procédural (informatiquement parlant Wink), j'ai dû apprendre à passer dans de l'objet. Les deux concepts peuvent fonctionner ensemble. C'est une question d'organisation après.
Le tout-objet est sans doute une notion scolaire pour mieux appréhender les concepts.

Par contre, intégrer un framework sur un projet existant me parait un peu dangereux. Je ne connais que Zend et Codeigniter et je ne me vois pas les intégrer dans un projet déjà entamé sauf dans un cadre professionnel où tu as le temps de le faire (et il faut que cela ait un réel intérêt derrière).

C'est pas très structuré comme réponse mais j'espère que tu auras compris mon point de vue Wink


RE: Comment réorganiser ? - SorenS - 30-05-2013

(30-05-2013, 11:36 AM)Keltaïnen a écrit : Par contre, intégrer un framework sur un projet existant me parait un peu dangereux. Je ne connais que Zend et Codeigniter et je ne me vois pas les intégrer dans un projet déjà entamé sauf dans un cadre professionnel où tu as le temps de le faire (et il faut que cela ait un réel intérêt derrière).

En effet, si tu veux passer sur un framework il faut repartir à zéro sur une autre version


RE: Comment réorganiser ? - Thêta Tau Tau - 30-05-2013

Si ton jeux marche sans problèmes majeurs (pas trop de bugs, performances pas trop moisies, code encore à peu près maintenable), alors pour le JOUEUR ça n'a pas grand intérêt que tu refasse tout de zéro. Tant que ça marche, les visiteurs s'en foutent que ce soit codé avec le pieds, ça ne deviens un problème que quand ça impact sur leurs expérience de jeu (bugs, lag, mises à jours majeures impossibles...).

Du coup faut que tu te poses la question si ça vaut vraiment le coup de tout refaire où si finalement quelques améliorations par ci par là ne suffiraient pas.


RE: Comment réorganiser ? - Xenos - 30-05-2013

Oui, mais d'un autre coté, un code dégueulasse peut être source de soucis pour le développeur, qui se répercutent facilement sur les joueurs. Un code dégueulasse, c'est:
  • Des mises à jour difficiles: les joueurs attendront plus longtemps les améliorations
  • Des failles de sécurité possible: pas besoin de détailler l'impact sur les joueurs
  • Un risque de découragement de la part du développeur (mais "reprendre de 0", c'est pas mieux!)
  • L'impossibilité d'étendre l'équipe de développement facilement: si le nombre de joueurs monte, on peut atteindre une saturation

Pour ma part, je considèrerai la solution suivante:
  • Faire les mises à jour en mode "MVC/objet" (ne pas continuer sur la "mauvaise" piste)
  • Ne pas reprendre "tout"
  • Reprendre, peu à peu, quelques morceaux de code (en fonction de tes envies) pour les passer de l'ancien au nouveau

L'idée serait de ne pas revenir sur ce qui marche (c'est malsain), mais de faire en sorte que la suite marchera proprement. SI, par exemple, tu veux migrer des procéduraux vers de l'objet, il faudrait alors créer la classe de l'objet, y ajouter les méthodes et attributs, mais faire en sorte que ces méthodes/attributs appellent les fonctions procédurales. En un sens, créer la nouvelle structure, mais garder l'ancien contenu.
Au fil du temps, quand tu corrigeras des bouts, tu utiliseras la nouvelle structure et non l'ancienne. La migration se fera en douceur.

Mais, oui, cela exclus le framework... Bien que tu puisses faire en sorte de repartir de 0 sur le framework, pour la structure; puis quand tu mets le contenu des méthodes, tu utilises le prodécural existant.


RE: Comment réorganiser ? - niahoo - 30-05-2013

ça n'exclut pas le framework. Un jeu c'est 90% de code métier ...


RE: Comment réorganiser ? - Sezyth - 30-05-2013

D'accord avec Thêta Tau Tau.
Si ton jeu est stable, ne te lance pas dans une aventure qui pourrait te dégouter.
Au lieu de cela, vois si tu peux l'optimiser (ne serait-ce que dans les requêtes à la BDD etc).
Les joueurs préfèreront que tu implémentes des nouvelles fonctionnalités plutôt que de te retaper tout le code, ce qui serait invisible pour eux..


RE: Comment réorganiser ? - SorenS - 30-05-2013

(30-05-2013, 01:43 PM)niahoo a écrit : ça n'exclut pas le framework. Un jeu c'est 90% de code métier ...

Ca l'exclut si tu ne veux pas repartir à "zéro" dans ton code