19-11-2009, 02:10 PM
Zamentur a écrit :Pourtant c'est vachement courant, quand on a plus de 20 joueurs mettre à jour l'évolution du monde à chaque demande de page est plus simple que de mettre à jour des bout de monde!
Dis pas ca, on va te dire que c'est une erreur de conception !! ... lol. Blague à part, j'ai opté pour ce mode, parce que je sais que ca marche, qu'il permet de gérer beaucoup de monde, et que le serveur ne tombera pas parce qu'il aura tout d'un coup 150000 requetes à rattraper parce que des gars ne se seront pas connecté pendant 3 mois. Enfin bref, tu connais la musique, je ne vais pas te faire un dessin, parce qu'au moins tu sais de quoi il s'agit ...
Je n'ai pas utilisé le socket pour la raison que tu as évoqué, après mes recherches, ce que j'avais lu à droite et à gauche, la seule solution à priori "viable" est le shockwave, et c'est pas ma tasse de thé. Je voulais développer un jeu en Php/mysql, et un jeu de stratégie style Travian, mais qui réponde plus à mes attentes. Très franchement, je ne vois pas l'intérêt de développer ce style de jeu en autre chose que du Php. Après évidemment, ca dépend des connaissances de chacun, et de l'expérience de chacun, mais de MON point de vue, faut utiliser du Php, c'est le plus simple tout en étant très puissant.
Pour ce qui est des astuces que je trouverai sur le forum, c'est sûr, j'en trouverai et j'en utiliserai. Je n'ai pas la prétention de dire que j'écris le meilleur code au monde (on a tous nos habitudes), que je suis parfait, et que les autres sont des rigolos. L'expérience m'a appris au fil des années qu'on fini toujours pas trouver un meilleur code et/ou une meilleure méthode que la sienne. Le tout étant simplement d'en tirer un lecon, et de continuer d'apprendre.
Depuis le temps que je programme le jeu, c'est effectivement un peu trop tard pour changer le fonctionnement "global", mais cette première version est mon premier vrai jeu php, je sais qu'il y aura plein de choses à améliorer, et ce sera fait pour la version 2, si la première version attire un peu de monde ou pas ... ^^
Quoi qu'il en soit, merci pour "l'éclairage" et les idées ...
Allwise:Malgré le fait que je ne ferai pas du socket, je veux bien voir ce que t'avais fait. Ca peut servir pour d'autre jeux, et la relation socket de php vers un client flash m'interesse, même si je n'ai pas encore fait de tests. C'est quand tu veux, je suis preneur . Même si tu ne reprends pas ton projet, si tu veux me montrer ca, c'est avec un grand plaisir, là c'est sûr, j'apprendrais quelque chose, et je sais aussi que j'en ferai quelques chose (j'ai un truc que je voudrais dév qui va utiliser une techno comme ca, mais ca rien avoir avec mon jeu php actuel). C'est quand tu veux
Nicodd:Effectivement, c'est toujours possible avec une fonction récursive, mais ce n'est pas viable, à cause du grand nombre de joueurs possible, et à cause des nombreuses interactions. J'avais commencé un algo papier, avant même d'écrire une seule ligne de code pour le jeu, et en ayant tous les paramètres à gérer, on s'apercoit vite que ca devient une usine à gaz avec des problèmatiques de temps de gestion pouvant devenir tellement important qu'ils finiraient forcément par amener le serveur sur des timeout. Sans parler du fait que c'est du code plutôt lourd à faire évoluer, surtout quand t'y touches pas pendant un moment, et que tu reviens sur ton code 3 ans après pour apporter des modifs à ton jeu.
Tout ca pour dire au final, que ce n'est peut être pas la meilleure solution, mais que c'est celle que j'ai adopté, en connaissance de cause, et que ca fonctionne relativement bien quand on gère bien ses transactions.