JeuWeb - Crée ton jeu par navigateur
Les MMORPG en PHP. - 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 : Les MMORPG en PHP. (/showthread.php?tid=2234)

Pages : 1 2 3


Les MMORPG en PHP. - Amrac - 02-01-2008

J'ai une question:
Pourquoi sur les MMORPG en PHP on ne peut jouer que par tranche de temps limité (la limite est en générale représenté par des PA) alors que les MMORPG avec un client (comme WOW, lineage, guild war etc.. ) n'ont pas de limite de PA?

Je suis curieux, car après avoir testé beaucoup de jeux PHP, ce qui me méne le plus souvent a quitter un jeu sans y revenir c'est que j'ai fait toutes les actions possibles et que je dois attendre.
Quand je teste un nouveau jeu, j'ai pas envie d'y jouer 10 minutes, et de revenir demain pour 10 autres minutes. J'ai envie d'être libre de choisir quand j'y joue, a quel rythme et pendant combien de temps....

Je termine par une dernière question, connaissez vous des jeux PHPs (MMORPG en particulier) qui ne fonctionne pas avec une limite de PA?


RE: Les MMORPG en PHP. - naholyr - 02-01-2008

Pour une raison technique d'abord :
- Ne pas limiter le nombre d'actions, c'est une cause probable d'augmentation des ressources requises

Pour une raison propre à l'aspect asynchrone :
- Ne pas limiter le coût en temps (que ce soit de vraies heures, ou des PA), c'est laisser la possibilité à un joueur seul de tuer tous ceux qu'il a en vue sans même que ces gens s'en rendent compte. Et je ne prends qu'un exemple de l'absurdité que ça engendrerait...

Pourquoi ne pas faire du synchrone alors ? Parce que le web n'est pas fait pour ça. Même le plus petit chat en PHP s'il veut être réellement synchrone sera un gouffre à ressources.

Puis il y a une autre chose qu'il faut voir, c'est que dans les jeux "alternatifs", il y a généralement une volonté de ne pas nécessiter d'investissement en temps, et donc par ce biais de supprimer le phénomène "no life".

Tu ne trouves pas assez chiant de ne jamais pouvoir suivre les amis que tu te fais parce que vous n'avez pas le même train de vie "réelle" ? Du coup ils sont à la traine, ou c'est toi ? Perso ça me gonfle dans les WoW, Dofus & cie, de ne pas pouvoir rester dans les groupes que je me suis constitué, sous prétexte que moi j'ai un boulot et une copine qui n'aime pas avoir affaire à un dos des soirées entières...
Là elle s'amuse beaucoup quand le matin je me lève à 6h30 en disant "oh putain, faut qu'je joue mon troll", parce qu'elle sait qu'à 6h35 j'aurai fini Smile


Donc les raisons sont multiples déjà techniquement, mais même conceptuellement, j'apprécie cet état de fait Smile


RE: Les MMORPG en PHP. - rachids - 02-01-2008

Outre les raisons évoquées par Naholyr, je trouve qu'un jeu avec une limite d'actions garanti un tant soit peu son intérêt et si, en quittant un jeu, tu n'y reviens pas, c'est qu'il ne t'aura pas plu (ou que tu n'auras pas accroché, ou alors que ta connexion plante ou que le site a eu des ennuis juridique ou.. bon j'arrête.)

Mais en même temps c'est une façon de jouer, ça peut plaire ou non.


RE: Les MMORPG en PHP. - Amrac - 02-01-2008

naholyr a écrit :Pour une raison technique d'abord :
- Ne pas limiter le nombre d'actions, c'est une cause probable d'augmentation des ressources requises
C'est vrai que l'on imagine facilement la surcharge du serveur. Mais d'un autre sens, quand on fait un site web, le but n'est-il pas d'avoir toujours un maximum de monde dessus?
Je pense que si les joueurs y passent beaucoup de temps, ils feront peu etre plus de dons (ou de façon plus réaliste, ils seront exposé plus longtemps aux avantages des divers comptes+)

naholyr a écrit :Pour une raison propre à l'aspect asynchrone :
- Ne pas limiter le coût en temps (que ce soit de vraies heures, ou des PA), c'est laisser la possibilité à un joueur seul de tuer tous ceux qu'il a en vue sans même que ces gens s'en rendent compte. Et je ne prends qu'un exemple de l'absurdité que ça engendrerait...
Je pense que l'on peut facilement faire comme dans les gros MMORPG actuels, faire disparaitre le joueur qui est déconné.
Ca peut sembler abhérant au niveau RolePlay, mais on trouve toujours une justification RP.

naholyr a écrit :Pourquoi ne pas faire du synchrone alors ? Parce que le web n'est pas fait pour ça. Même le plus petit chat en PHP s'il veut être réellement synchrone sera un gouffre à ressources.

Exact et étrange, mais je ne trouve pas vraiment de raison logique a cela.
Je sais pas comment fonctionne les jeux du style WOW, mais j'imagine que chaque petit action visible par les autres joueurs nécessite une interaction avec le serveur, ca devrait donc être l'inverse.

Sur les WOW&co, c'est du vrai temps réel, en s'organisant avec une dizaine d'autre joueur on pourrait même faire des chorégraphies... Hors en PHP, les actions sont bien moins nombreuses, on devrait donc avoir beaucoup moins de charge non?

naholyr a écrit :Puis il y a une autre chose qu'il faut voir, c'est que dans les jeux "alternatifs", il y a généralement une volonté de ne pas nécessiter d'investissement en temps, et donc par ce biais de supprimer le phénomène "no life".
Oui et non.
Je pensais faire un jeu qui n'incitai pas l'attitude "no-life" avec Fourmizzz, mais pourtant, je constate que le fait de pouvoir passer par un simple navigateur est très addictif, les gens peuvent devenir de pure no-life car ils peuvent jouer n'importe ou et de façon discrète (chez soit, au boulot, chez les amis ...... et il suffit de baisser la page web quand le boss approche)

Sur mon jeu, les joueurs pourraient se contenter de passer 1 ou 2 fois par jour, pour un total de 20 minutes maxi, hors certain y passent des heures. (Ils s'occupent surement en discutant sur les chats, en s'envoyant des MPs et en s'organisant pour détruire l'alliance voisine).

naholyr a écrit :Tu ne trouves pas assez chiant de ne jamais pouvoir suivre les amis que tu te fais parce que vous n'avez pas le même train de vie "réelle" ? Du coup ils sont à la traine, ou c'est toi ? Perso ça me gonfle dans les WoW, Dofus & cie, de ne pas pouvoir rester dans les groupes que je me suis constitué, sous prétexte que moi j'ai un boulot et une copine qui n'aime pas avoir affaire à un dos des soirées entières...
Là elle s'amuse beaucoup quand le matin je me lève à 6h30 en disant "oh putain, faut qu'je joue mon troll", parce qu'elle sait qu'à 6h35 j'aurai fini Smile
Tout a fait d'accord avec toi sur ce point Tongue

Quoiqu'il en soit, si quelqu'un connait un jeux PHP qui a tenté l'expérience, je suis preneur :p


RE: Les MMORPG en PHP. - naholyr - 02-01-2008

Tu ne trouveras aucun jeu "PHP" qui aura tenté cette expérience, tout simplement parce que :
- S'il est asynchrone, ça n'a aucun sens.
- S'il est synchrone... Non il ne sera pas synchrone Smile Un jeu synchrone nécessite une connexion persistante client-serveur, ce que ne permet pas un serveur web. Oh il y a bien quelques projets autour de ça (voir "comet") mais c'est franchement pas terrible.

Le seul moyen réaliste reste la mise en place d'un serveur (logiciel) dédié et la distribution d'un client lourd.


RE: Les MMORPG en PHP. - Sephi-Chan - 02-01-2008

Quand je pensais à créer mon jeu de rôle par navigateur, je ne pensais pas mettre en place de points d'actions. Un personnage faisait ce qu'il désirait, chaque action durait un temps déterminé. Un voyage de A vers B durait le résultat de la division de la distance entre A et B par la vitesse de déplacement.

Le joueur qui entreprend un long voyage peut se lancer dans son déplacement avant de partir au boulot, par exemple.

Bien sûr, tout le monde ne peut pas être d'accord sur l'échelle de temps. Les joueurs qui y passent du temps peuvent donc faire plus de choses en une journée qu'un joueur occasionnel, mais sans être incohérent pour autant. En quoi est-ce un mal ?


Sephi-Chan


RE: Les MMORPG en PHP. - phenix - 02-01-2008

Citation :Sur les WOW&co, c'est du vrai temps réel, en s'organisant avec une dizaine d'autre joueur on pourrait même faire des chorégraphies... Hors en PHP, les actions sont bien moins nombreuses, on devrait donc avoir beaucoup moins de charge non?

Les gros MMO sont en général écrit dans un langage "compilé" et demande qu'une bonne partie des ressource nécessaire à l'affichage soit disponible sur le disque dur de l'ordinateur du client. Le PHP est un langage "script": il doit, avant d'être exécuté, être compilé, cette étape change tout dans la vitesse d'exécution.

Dans un jeu php, l'affichage, l'exécution et le traitement des données ce fait via le serveur, dans un jeu comme WoW, le serveur ne fait aucun calcule, il relay des donnée entre les joueurs et stock les donnée des joueurs.

Phenix


RE: Les MMORPG en PHP. - Nekith - 02-01-2008

Amrac a écrit :
naholyr a écrit :Pour une raison technique d'abord :
- Ne pas limiter le nombre d'actions, c'est une cause probable d'augmentation des ressources requises
C'est vrai que l'on imagine facilement la surcharge du serveur. Mais d'un autre sens, quand on fait un site web, le but n'est-il pas d'avoir toujours un maximum de monde dessus?
C'est pas top de faire toujours tourner un serveur au max.

Amrac a écrit :Je pense que si les joueurs y passent beaucoup de temps, ils feront peu etre plus de dons (ou de façon plus réaliste, ils seront exposé plus longtemps aux avantages des divers comptes+)
Ouais ou pas. Autant instaurer un système de paiement mensuel pour être sûr de pouvoir payer le serveur. Mais à ce moment là ça devient de l'optique "vrai MMO" etc.

Amrac a écrit :
naholyr a écrit :Pour une raison propre à l'aspect asynchrone :
- Ne pas limiter le coût en temps [...]
Je pense que l'on peut facilement faire comme dans les gros MMORPG actuels, faire disparaitre le joueur qui est déconné.
Ca peut sembler abhérant au niveau RolePlay, mais on trouve toujours une justification RP.
A quoi ça sert de donner des possibilités à un joueur pour lui foutre des baffes dès qu'il les utilise/en profite?
Et puis, pour un jeu qui se veut "RP", c'est la loose de bannir un joueur. Alors si les administrateurs commencent à en bannir pour "rien"...

Amrac a écrit :
naholyr a écrit :Pourquoi ne pas faire du synchrone alors ? Parce que le web n'est pas fait pour ça. Même le plus petit chat en PHP s'il veut être réellement synchrone sera un gouffre à ressources.
Exact et étrange, mais je ne trouve pas vraiment de raison logique a cela.
Je sais pas comment fonctionne les jeux du style WOW, mais j'imagine que chaque petit action visible par les autres joueurs nécessite une interaction avec le serveur, ca devrait donc être l'inverse.
Sur les WOW&co, c'est du vrai temps réel, en s'organisant avec une dizaine d'autre joueur on pourrait même faire des chorégraphies... Hors en PHP, les actions sont bien moins nombreuses, on devrait donc avoir beaucoup moins de charge non?
Non... Chaque page est beaucoup plus chargées, notamment parce que le joueur n'a rien à télécharger sur son ordi, tout est sur le serveur, tout doit être téléchargé. C'est pas la même façon de penser, de programmer.

T'imagine jouer à WoW par navigateur? Même avec les serveurs de Blizzard derrière, hein. C'est absurde comme question, et comme concept. Mais je trouve que tout le sujet l'est, alors lâchons-nous ^_^


RE: Les MMORPG en PHP. - Sephi-Chan - 02-01-2008

Nekith a écrit :T'imagine jouer à WoW par navigateur? Même avec les serveurs de Blizzard derrière, hein. C'est absurde comme question, et comme concept. Mais je trouve que tout le sujet l'est, alors lâchons-nous ^_^
Déjà que c'est parfois la merde malgré l'utilisation d'un client. Confusediffle:


Sephi-Chan, Ex-joueur sur Khaz Modan...


RE: Les MMORPG en PHP. - Amrac - 02-01-2008

Nekith a écrit :
Amrac a écrit :
naholyr a écrit :Pour une raison propre à l'aspect asynchrone :
- Ne pas limiter le coût en temps [...]
Je pense que l'on peut facilement faire comme dans les gros MMORPG actuels, faire disparaitre le joueur qui est déconnécté.
Ca peut sembler abhérant au niveau RolePlay, mais on trouve toujours une justification RP.
A quoi ça sert de donner des possibilités à un joueur pour lui foutre des baffes dès qu'il les utilise/en profite?
Et puis, pour un jeu qui se veut "RP", c'est la loose de bannir un joueur. Alors si les administrateurs commencent à en bannir pour "rien"...
Désolé j'ai mangé 3 lettres, je parle juste de rendre invisible les joueurs qui ne sont plus connecté. En aucun cas il s'agit d'un ban.

---
J'ai une question un peu a part du lot, est-ce que c'est juste avec le PHP qu'il est impossible d'établir une connections persistante ou est-ce c'est le cas de tout les langages serveur?

Et l'ajax? Est-ce que ca charge vraiment que le strict nécessaire?
Je suppose que quand il y a une action en ajax, ca recompile encore, mais ca réalise déjà une très bonne économie...

---
Sinon il y a Simerion, j'ai pas testé très longtemps (il est encore en développement) mais on pouvait se promener longtemps avant d'être a court d'action, j'ai trouvé ça plutôt cool. Par contre comme le jeu était jeune on ne croisé malheureusement personne a qui taper causette :p