concept de mmo : votre avis ?

Répondre
Partager Rechercher
à l'image d'un de mes compatriote Faiseur (neosine) ,j'aimerais vous faire part d'un concept de mmo qui me trotte dans la tête depuis longtemps,ceci est simplement une série d'idée (dont certaine ont deja été citées dans mes autres posts) que je vous propose,ce n'est en rien un recrutement pour un éventuel projet ( même si j'adorerais réaliser ce vieux rêve ).

rmq : je vais citer des choses dont j'ai déja (quotes) parlé mais comme on en a jamais débattu j'attend vos commentaires (désolé si sa vous saoule mais je considère que cela forme un "tout" )

-

1. Concept

le concept serais basé sur le système des rts (Stronghold ou knights of honor par exemple) . (pour le pourquoi un rts je vous renvoie à un autre de mes posts : https://forums.jeuxonline.info/showthread.php?t=661699 )Lorsque vous démarez vous ne controllez qu'une seule unité (vous) et vous effectuez des quêtes principalement pour d'autres seigneurs (voire les classes ) ou d'autres chose ( devenir un pillard par exemple )

une fois arrivé au pouvoir d'une manière ou d'une autre ( don d'un fief par le seigneur que vous servez,tentative d'indépendance d'un village,révolte paysane dont vous êtes l'instigateur,...) vous devez gerer le village ( d'une facon similaire au jeu sité plus haut avec en plus de la diplomatie et du commerce )

vous parter donc d'un fief principal et lorsque vous dévelopez certains batiment loin du centre de ce fief (une carrière,une église,un avant-poste,..), un village peut-être créé, village dont vous délèguerez une partie de l'administration à un autre joueur dans une certaine mesure ( action possible à cocher ? )

2. monde

a) généralités


"mon" monde se situerais dans un contexte médieval semi-réaliste (à 25 % fantastique ),dévasté par les luttes pour le pouvoir,parsemé de ruines, de maladie, de souffrance et de folie. Il est important de signaler qu'il n'y aurais pas de "bon" ni de "méchant",tout le monde à des chose à se reprocher....
( pour vous donner une petite idée de l'ambiance : l'acte 1 de diablo 2 )

b) magie

dans un autre post j'avais dit cela sur ce que comportait la magie pour moi :

Citation :

Alors voila, je ne sais pas vous mais moi je trouve que trop de "magie" tue la magie. Personnellement je préfère un univers comme le 3eme testament ou le seigneur des anneaux ou la magie est suggérée ( mais omniprésente quand même. Bien qu'un mmo médiéval réaliste ne me déplairait pas... ) a un univers complètement fantasmagorique et complètement invraisemblable.

...

les différents types de magie :

- les interventions sur la nature ( pas vraiment les fireball mais plutot la grèle ou la pluie qui détruit les récoltes ou ralentit des troupes ( on va moin vite dans la boue ) ou encore éteint un feu,les innondations,les incendies de batiment ou d'arbre et pas les torches humaines...)
- la magie de soin ou de boost ( qui se raproche plus de l'art des potions ) et les bénédiction - malédictions
- les possesions ( toujours revé d'un mmo avec des exorcistes et des démons qui pouvait controler des pnj ),les invocations de démons

...

En gros,d'après ce que je sais, la magie au moyen age était une magie rituelle ( pour voler sur un balais,la sorcière devait se couvrir d'un onguent spécial qui ne fonctionnait que le jour du sabbat, pour se transformer en loup garou le sorcier devait porter une ceinture magique et une peau de loup, j'ai aussi lu une histoire d'un centurion romain mort a cause de figurine de plomb placée sous son lit )

Bref la magie au moyen age était très complexe, ce qui explique le fait que les sort ne marche pas (pour fabriquer une baguette magique il faut cueillir une branche d'un certain arbre une certaine nuit de l'année et la tailler avec un couteau neuf et j'en passe : pas difficile d'oublier un détail )

on accusait aussi les sorcier des catastrophes naturelles ( il y avait des vaches malades dans un troupeau ? ,une inondations ? et on faisait un barbecue avec la vieille du village )

....



3. Les classes

- le négociant

spécialisé dans le commerce, il dirige des caravanes de marchandise,scelle des accord commerciaux, percoit les impots, bref s'occupe du commerce et de l'argent ( dans un village il peut faire batir un marché, une trésorerie, recevoir plus d'impots,...)

- l'érudit (mage, prêtre, savant)

il aide un peu dans les batailles en soignant les troupes (par la magie ou par la medecine),concocter des potions, permet de prospérer du point de vue recherche ou à l'occasion déclancher sur vos ennemi une épidémie, une pluie dévastatrice pour les récolte, une tempète,... (mais évidemment c'est plus dur )


- le guerrier
no comment,menne les troupe à la guerre, escorte une caravane ou autre ( bonus au niveau des troupes, peut construire des avant poste par exemple)

- le batisseur
necessaire (1 ou plusieurs ) pour toutes construction importante (chateau,cathédrale,université,...)
(bonus rapidité de construction et solidité des batiment )

- l'intendant
gère l'approvisionnement (construit des fermes,moulins,mine, peut aussi gèrer les impots )
(bonus au niveau des ressources collectée )

- l'espion
peut accéder aux autres profession en étant limité et dans un autre fief plus skills d'espion ( pousser les troupe à la révolte,incendier un batiment, faire baisser le moral,voler dans les caisses,...)

4. l'expérience (là je vous fait un copier-coller désolé)

a) l'aprentissage


en ce qui concerne l'apprentissage de compétence j'avais un jour penser a un système basé uniquement sur les joueur. En gros vous voulez apprendre une technique vous devez trouver quelqu'un qui est passé maitre dans cette technique ( on pourrais imaginer 3 niveaux principaux : novice initié et maitre avec des sous niveaux mais mineurs sans gros changements (voir plus bas) )

les premiers joueurs apprendraient les techniques de mj ( lors d'évent peut-être ) ou d'autres joueur a qui on les donnerais au début

une fois que vous avez trouvé quelqu'un qui s'y connait vous groupez avec lui et tant que vous restez groupé avec votre barre d'apprentissage monte ( on pourrait meme imaginer qu'elle monte lorsqu'on est hors ligne mais moin fort )

b) le système en lui-même

mon avis est qu'il doit exister "peu" de différence entre un bas et haut level pour que le jeu soit cool ( car a bas lvl on ne peut quasi rien faire par rapport aux haut level ) la "valeur" des haut level devrait se mesurer plutot grace a ses faits d'armes par exemple ce qui est plus honorifique qu'autre chose ( posseder une place forte, avoir participé et tué beaucoup d'ennemis lors d'une grande bataille) en gros il n'est pas plus fort mais plus important


En gros ce que je propose c'est de diminuer le fossé qui existe entre ceux qui débute et les hardcore gamers ( une centaine de niveau étant un grand fossé )
afin que tous puissent faire des choses plus amusante que de tapper du mob à la chaine ( pvp,rvr,rp et d'autres choses parce que actuellement y a pas grand chose d'autre, il faudrais penser à la gestion des cité,la politique ou d'autres choses dans ce style )

d'après ce que je sais dans un mmo quand on monte de niveau on tape plus fort ( brillante déduction... ) Je trouve qu'il serait plus logique de taper mieux

en gros je détaille pour une technique style combat à l'épée ( qui regrouperais plusieurs sous compétences du style ici coup d'estoc ,de taille ,contre attaque,... )

Citation :

novice ( dégâts : 5 à 10 )

- premier niveau : 10 % de chance de taper à 10 (sinon on tape à 5 )
- deuxième : 20 %
...
- neuvième : 90 %

initié ( dégâts : 10 à 15 )

- premier niveau : 10 % de chance de taper à 15
- deuxième : 20 %
...
- neuvième : 90 %

maître ( dégâts : 15 à 20 )

- premier niveau : 10 % de chance de taper à 20
- deuxième : 20 %
...
- neuvième : 90 %

une fois passé maître vous pouvez enseigner vos techniques
ce système fait qu'un nouveau joueur tape à du 5 minimum et un vieux à du 15

concernant les autres techniques si le mec suit un chemin logique ( attaque à l'épée puis à l'arc ou dans les armes ) l'xp se fait plus rapidement.
si il choisi de faire de la magie sa devient plus lent mais toujours possible

En gros pour résumer la vitesse de la montée avec l'xp :

- premier "arbre de techniques" : normal
- cheminement logique d'un arbre à un autre : rapide
- perfectionnement en une sous compétence : lent
- arbres totalement distincts : lent voire très lent


FIN

merci à ceux qui ont eu le courrage de tout lire et encore plus à ceux qui vont commenter je l'espère,cela me tien vraiment à coeur d'avoir votre opinion

je mettrait un peu d'ordre à la fin des que je le pourrais et je corrigerais les fautes promis
Un point sur lequel je m'interroge est l'écueil technique de la bande passante...

On sait que retransmettre les informations des mouvements et des changements d'états de 3000 joueurs à 3000 autres joueurs est ce qui consomme le plus de BP... Quid alors si on dit que chaque joueur peut avoir plusieurs dizaines de personnages chacun?
On arrive alors à quelque chose comme 30.000 transmissions au carré, 100 fois plus que pour un MMORPG.

Y'a-t'il moyen de gérer cela sans exploser les coûts en terme de ligne spécialisées et sans laguer à mort?

La raison pour laquelle les RTS se limitent à 8 joueurs en simultanée n'est pas tellement anecdotique quand on veut essayer de concevoir un MMORTS....
Wink
Citation :
Publié par Moonheart
Un point sur lequel je m'interroge est l'écueil technique de la bande passante...

On sait que retransmettre les informations des mouvements et des changements d'états de 3000 joueurs à 3000 autres joueurs est ce qui consomme le plus de BP... Quid alors si on dit que chaque joueur peut avoir plusieurs dizaines de personnages chacun?
On arrive alors à quelque chose comme 30.000 transmissions au carré, 100 fois plus que pour un MMORPG.

Y'a-t'il moyen de gérer cela sans exploser les coûts en terme de ligne spécialisées et sans laguer à mort?

La raison pour laquelle les RTS se limitent à 8 joueurs en simultanée n'est pas tellement anecdotique quand on veut essayer de concevoir un MMORTS....
Tu règles le problème en faisant une interaction intelligente entre le client et le serveur.
Le client gère la partie du joueur dans sa globalité et envoie de temps en temps une image globale au serveur mais répond au serveur dans ses requêtes de cohésions multi joueurs.
Tu peux encore optimiser la bande passante en permettant aux clients de gérer eux même les interactions entre les clients.
Citation :
Publié par Pruut
Tu règles le problème en faisant une interaction intelligente entre le client et le serveur.
Le client gère la partie du joueur dans sa globalité et envoie de temps en temps une image globale au serveur mais répond au serveur dans ses requêtes de cohésions multi joueurs.
Tu peux encore optimiser la bande passante en permettant aux clients de gérer eux même les interactions entre les clients.
Hack.
Fort malheureusement, l'histoire du monde des jeux vidéos montre que Blastegaine à raison: Dans un jeu online, TOUT ce que le client gère lui-même finit TOUJOURS par être hacké... peu importe le style de client ou comment tu l'as codé.

Il est donc tout à fait exclu de mettre en application ce que tu proposes si veut fabriquer un MMOG viable.
+1 pour le hack, malheureusement... Du point de vue du serveur, le Joueur est le Mal Incarné...

Je ne pense pas pour ma part que la bande passante soit particulièrement problématique: impossible en temps réel pour un humain de contrôler 10 Personnage simultanément et indépendamment: il n'y aura donc à priori pas plus d'informations de changements d'états à transmettre que dans un MMO standard, juste plus de cibles d'application. La règle des intéractions, s'applique certes comme partout... mais je ne connais pas de MMO capables de gérer les intéractions 'réelles' de 3000 entités interconnectées. Je suis heureux quand le serveur ne lague pas avec un bloc de seulement 250 entités actives... Les contraintes 'temps réel' étant sans doute un peu plus basses sur un RTS, ceci compenserait sans doute cela...

Bref. Il n'y a pas à mon sens de barrière technique majeure. Le problème principal reste de tout poser sur le papier, et de répondre au quoi, au pourquoi et au comment de chaque feature.

Un RTS en mode persistant... Intéressant.
Mais tant de questions à soulever...
Citation :
Publié par Muicag
Je ne pense pas pour ma part que la bande passante soit particulièrement problématique: impossible en temps réel pour un humain de contrôler 10 Personnage simultanément et indépendamment: il n'y aura donc à priori pas plus d'informations de changements d'états à transmettre que dans un MMO standard, juste plus de cibles d'application.
Sauf que les besoins de transmission d'info sont TRES TRES loin de se limiter aux actions de leur contrôleur.
Même si le contrôleur ne fait rien avec 9 de ses persos, les transmissions resteront BEAUCOUP plus nombreuses qu'avec un perso.

Exemples:
1- Un perso est en train de se déplacer, le serveur doit renvoyer chaque seconde la position de ce perso à tout le monde, car il est le seul à pouvoir dire s'il a été bloqué par un objet dans sa trajectoire ou non. Or programmer un déplacement, ça prends 1 secondes, et ça peut ensuite occuper les transmission durant une bonne minute pendant que son joueur contrôle d'autres persos.
2- Un ennemi balance un AoE sur la troupe... Et bien contrôlés ou non, il faut faire 10 transmissions de résultats pour l'attaque au lieu d'une, avec un tel modèle.

De plus, même au niveau des actions du joueur, il est très naïf de penser qu'il n'y en aura pas plus qu'avant, surtout si on se base sur le modèles des RTS pour faire un MMO!
As-tu déjà vu comment un joueur de haut niveau de Starcraft ou Warcraft fait du "micro-management"? Son nombre d'action finit par être BEAUCOUP plus gros avec 10 persos sous ses ordres qu'avec un seul...
Sans vouloir jouer les rabat-joie (qui a dit "gros emmerdeur" ? ), quand on parle concept, on ne parle pas technique.
Pour avoir trainé mes guetres pendant quelques temps dans des labos de recherche en info, et cotoyé des gens dont c'est le métier -entre autres-d'inventer des gadgets "SF-like", j'ai pu constater -et mettre en application- que tant qu'on est à la phase brainstorming/generation d'idées, il est absolument proscrit de parler de faisabilité. C'est le meilleur moyen de se brider avant meme d'avoir commencé.
Il est bien plus facile et productif, apres coup, de prendre la liste de 50 pages d'idées, et d'élaguer plus ou moins légerement en fonction de ce qu'on peut / ne peut pas faire. Et encore : quand on prépare un papier ou une demo sur un truc innovant, par rapport auquel le concept est le plus important, pas la réalisation, 90% du temps le vidéo-prototypage se fait avec du papier, des ciseaux et de la colle, voire dans les cas où on a un peu plus de temps, avec des montages videos completement bidons.
Et vu que personne ou presque parmis les proposeurs d'idées n'a les moyens de mettre en oeuvre concretement quoi que ce soit de l'envergure des idees evoquees (comprendre : "je me touche en me disant que j'ai des idees uber roxxatives, mais j'en reste là" -et c'est bien compréhensible, ceci dit-), il est d'autant moins utile de se focaliser sur des contraintes techniques qui ne se poseront de toutes manieres jamais.
Citation :
Publié par Moonheart
Exemples:
1- Un perso est en train de se déplacer, le serveur doit renvoyer chaque seconde la position de ce perso à tout le monde, car il est le seul à pouvoir dire s'il a été bloqué par un objet dans sa trajectoire ou non. Or programmer un déplacement, ça prends 1 secondes, et ça peut ensuite occuper les transmission durant une bonne minute pendant que son joueur contrôle d'autres persos.
Il est évident qu'on ne va pas programmer un MMORTS comme un RTS classique: on sera obligé d'intégrer les subdivisions en grids, les portées d'intéractions etc... On ne transmet donc les changement d'état ou de position qu'à ceux des autres joueurs qui ont des unités à proximité et qui sont donc concernés. C'est là qu'est d'ailleurs le défi.
Par ailleurs, lorsque tu demandes à tes unités de se déplacer vers un endroit bien déterminé, l'unité le fera à priori en ligne droite... il est donc à priori plus facile de prédire les déplacements par interpolation... La fréquence de transmission des déplacements pourrait être bien plus basse.
Citation :
Publié par Moonheart
2- Un ennemi balance un AoE sur la troupe... Et bien contrôlés ou non, il faut faire 10 transmissions de résultats pour l'attaque au lieu d'une, avec un tel modèle.
Quid de la factorisation? Rien ne s'oppose à un calcul parallèle des effets côté client et serveur.
Citation :
Publié par Moonheart
De plus, même au niveau des actions du joueur, il est très naïf de penser qu'il n'y en aura pas plus qu'avant, surtout si on se base sur le modèles des RTS pour faire un MMO! (...)
Moi j'ai toujours été très naïf
Il y aura forcément une limite en nombre de joueurs à un moment ou à un autre. Cette limite sera-t-elle réellement plus basse que sur un MMORPG? Il y a à mon avis beaucoup trop de paramètres pour pouvoir l'affirmer de manière aussi catégorique.

+1 pour Cap'tain Doud: La priorité est déjà de régler les questions posées par le gameplay, avant de voir comment implémenter la chose.
Citation :
Publié par Cap'tain Doud
Sans vouloir jouer les rabat-joie (qui a dit "gros emmerdeur" ? ), quand on parle concept, on ne parle pas technique.
Pour avoir trainé mes guetres pendant quelques temps dans des labos de recherche en info, et cotoyé des gens dont c'est le métier -entre autres-d'inventer des gadgets "SF-like", j'ai pu constater -et mettre en application- que tant qu'on est à la phase brainstorming/generation d'idées, il est absolument proscrit de parler de faisabilité. C'est le meilleur moyen de se brider avant meme d'avoir commencé.lol
Sans vouloir jouer les rabats-joie moi aussi, les MMOGs ne se font pas dans des laboratoires de recherche informatique....

Un MMOG, c'est une chose pragmatique: on ne peut pas se permettre de se lancer sur des trucs qu'on est pas sûrs de pouvoir réaliser techniquement au bout du compte.
Dans un laboratoire ça passe sans problème car le budget est de toutes façons là pour qu'on fasse de la recherche... mais dans l'industrie, les gens qui te filent l'argent pour que tu bosses ne se contenteront pas d'un "peut-être": avant même qu'ils te filent un centimes pour faire un début de codage, il faudra que tu leur PROUVES que cela l'est.

Bref, si tu agis comme dans un laboratoire pour concevoir un MMOG, alors ta conception ne vaudra jamais rien car de toutes façons même si on le voulait, on ne pourrait jamais l'appliquer (car aucun investisseur ne mettrait alors un seul centime dessus)

Citation :
Publié par Muicag
Il est évident qu'on ne va pas programmer un MMORTS comme un RTS classique: on sera obligé d'intégrer les subdivisions en grids, les portées d'intéractions etc... On ne transmet donc les changement d'état ou de position qu'à ceux des autres joueurs qui ont des unités à proximité et qui sont donc concernés. C'est là qu'est d'ailleurs le défi.
C'est déjà ce que font les MMOG classiques, et ils ont déjà du mal à tenir le besoin en bande passante... alors sur un RTS-like...

Citation :
Par ailleurs, lorsque tu demandes à tes unités de se déplacer vers un endroit bien déterminé, l'unité le fera à priori en ligne droite... il est donc à priori plus facile de prédire les déplacements par interpolation... La fréquence de transmission des déplacements pourrait être bien plus basse.
C'est déjà ce que font les MMOG clasiques, et ils ont déjà du mal à tenir le besoin en bande passante... alors sur un RTS-like...
(bis répétita)

Citation :
Quid de la factorisation? Rien ne s'oppose à un calcul parallèle des effets côté client et serveur.
Si: le hack.

En effet, si tu ne calcules pas TOUT du coté serveur, tu ne pourras pas vérifier les données que t'enverront les clients, et donc tu aura de la triche...
Et si tu calcules tout.... ben alors ton parallélisme n'économise rien en bande passante et usage CPU pour le serveur.

Citation :
Il y aura forcément une limite en nombre de joueurs à un moment ou à un autre. Cette limite sera-t-elle réellement plus basse que sur un MMORPG? Il y a à mon avis beaucoup trop de paramètres pour pouvoir l'affirmer de manière aussi catégorique.
Et trop pour pouvoir dire l'infirmer.
Or, pour une conception d'un truc aussi pargmatique qu'un MMOG, tu ne peux pas te baser sur des choses aussi bancales.

SOIT, tu as une idée objective sur comment le permettre techniquement. SOIT cela ne vaut rien en terme de conception de MMOG.
Citation :
Publié par Moonheart
Un MMOG, c'est une chose pragmatique: on ne peut pas se permettre de se lancer sur des trucs qu'on est pas sûrs de pouvoir réaliser techniquement au bout du compte.
Parce qu'il est bien connu que les idées présentées sur les Faiseurs sont toutes destinées a etre implementees et a lancer des vrais projets.

Citation :
Dans un laboratoire ça passe sans problème car le budget est de toutes façons là pour qu'on fasse de la recherche...
Au contraire, si on fait du prototypage papier/carton, c'est parce qu'on a pas de budget ni de temps pour faire mieux (les budgets des laboratoires de recherche en France etant ceux qu'on connait ) , et pour convaincre qu'on merite un budget, parce que les idees sont innovantes. Et la recherche privée marche aussi comme ca, au passage.
Mais effectivement, si il s'agit de produire un enieme clone, à une trentaine de skills pres, du blockbuster qui fait bien, on peut se soucier des soucis d'implémentations dés le début.
Mais ca n'est pas la démarche à suivre quand on veut proposer du "encore jamais fait".

Citation :
Publié par G.B. Shaw
The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man.
Citation :
Publié par Cap'tain Doud
Parce qu'il est bien connu que les idées présentées sur les Faiseurs sont toutes destinées a etre implementees et a lancer des vrais projets.
Non, mais est-ce pour autant qu'il est intéressant de parler de choses complètement farfelues?

Car parler d'une conception qui n'a aucune chance de pouvoir être réalisée (faute de moyens financiers), C'EST farfelu, à mon humble avis...
Citation :
Publié par Moonheart
Non, mais est-ce pour autant qu'il est intéressant de parler de choses complètement farfelues?

Car parler d'une conception qui n'a aucune chance de pouvoir être réalisée (faute de moyens financiers), C'EST farfelu, à mon humble avis...
C'est de l'anticipation. Et le meilleur moyen d'arriver à quelque chose correspondant réellement à ce que les utilisateurs finaux souhaitent. Quelles preuves a-t-on que tel ou tel concept restera indéfiniement intraduisible en termes d'implémentation ? Aucune. J'irai meme jusqu'a dire qu'on a plus de chances que le contraire se produise, plutot que la situation reste en l'etat.
Discuter de concepts, et uniquement de ceux cis, ca permet de débroussailler le terrain. Si on a déjà tout en main et en tete quand la technologie permet quelque chose de nouveau, c'est autant de temps gagné.
C'est la philosophie de la conception centrée sur l'utilisateur de Don Norman : People Propose, Science Studies, Technology Conforms. La vision que tu défends est plutot Science Finds, Industry applies, Man conforms , vision qui date des années 30 (1933 pour etre précis, expo universelle de Chicago, pour les férus d'histoire).
Les MMORPG sont encore au moyen-âge, donc la conception du début du XXe siècle est plus que valide je pense On en reparlera quand les MMOs entrerond dans l'ère des lumières


Euh, pour dire plus sérieusement la même chose, le Vénérable Septième Art en est encore à s'aligner sur ce que l'industrie permet, même chose pour le jeu vidéo en général et les mondes virtuels en particulier. Lorsqu'une innovation est spécifique à un domaine, c'est du Hacking (au sens premier du terme), du "bricolage", pas de la science.
pour la couche réseau , rester sur un système ou le server gère tout est utopique. Un système réseau à P2P ou le client est le maillon d'une chaine et ne possède pas toute l'information , ni meme de l'information à son sujet me parait un bonne alternative pour réduire les pbs de Hack et les pbs de charge serveur.
Sans vouloir me lancer dans de gros calculs, imaginons un RTS où un joueur manipule quelques centaines d'unités sur un serveur contenant juste quelque centaines de joueurs. Quelle bande passante faudrait-il ? Avec le développement de la fibre optique un tel jeu ne serait-il pas envisageable d'ici 10 ou 15 ans ??

Quand aux capacités de calculs des serveurs je suis quasiement sur que ça posera pas un gros problème d'ici quelques années
J'aime bien ceux qui balancent des verités absolues comme ca...
Ben déja , on s'en tape d'afficher les positions des centaines d'unités des centaines de joueurs. On veut juste afficher les positions de ceux qu'on voit à l'ecran. Et donc ca revient à afficher comme un rts classique.
Quand aux capacités de calculs du serveur suffit de se decharger sur le client en utilisant un système Point à Point. Il le font bien chez SETI depuis 1999 ...
Citation :
Publié par Cap'tain Doud
C'est de l'anticipation. Et le meilleur moyen d'arriver à quelque chose correspondant réellement à ce que les utilisateurs finaux souhaitent. Quelles preuves a-t-on que tel ou tel concept restera indéfiniement intraduisible en termes d'implémentation ? Aucune. J'irai meme jusqu'a dire qu'on a plus de chances que le contraire se produise, plutot que la situation reste en l'etat.
Discuter de concepts, et uniquement de ceux cis, ca permet de débroussailler le terrain. Si on a déjà tout en main et en tete quand la technologie permet quelque chose de nouveau, c'est autant de temps gagné.
C'est la philosophie de la conception centrée sur l'utilisateur de Don Norman : People Propose, Science Studies, Technology Conforms. La vision que tu défends est plutot Science Finds, Industry applies, Man conforms , vision qui date des années 30 (1933 pour etre précis, expo universelle de Chicago, pour les férus d'histoire).
Le problème, Cap'tain Doud, ce n'est que tout cela n'est que de la théorie... et comme l'a si bien dit Einstein: "La théorie, c'est quand on pense tout savoir, mais que rien ne marche dans les faits"

Dans la pratique, l'industrie n'utilise ni le modèle de D. Norman ni celui de l'expo de 33.
A la place, elle utilise deux modèles répondant à deux types de demandes spécifiques:
- La première, celle de la conception amorcée par le client, est du genre: People ask, Science&Finance object, Industry find
- La seconde, celle de la conceptions amorcée par l'industrie, est du genre: Science find, Industry search, People ask

Là, quand on parle de MMOG, on parle du second cas: la science trouve de nouveaux débouchés, l'industrie cherche à comment les exploiter pour en faire quelque chose de commercialement rentable, et seulement ensuite les gens en fond la demande (après qu'on leur ait dit que ça existait à grand renfort de pub ou de bouche à oreille)

Faire une conception basée sur du vent ne sert à rien!
En fait, dans le domaine des MMOGs, les conceptions trop "déconnectées" des impératifs techniques et financiers sont responsables de 97% des abandons de projets avant même la sortie en béta du jeu.

Parce que penser qu'on pourra faire de la recherche pour savoir comment rendre techniquement possible une conception dans un processus industriel, c'est d'un utopisme extrême!
De nos jours, on doit prouver la faisabilité AVANT d'avoir les moyens de faire quoique ce soit.

Citation :
Publié par Drak Valer
pour la couche réseau , rester sur un système ou le server gère tout est utopique. Un système réseau à P2P ou le client est le maillon d'une chaine et ne possède pas toute l'information , ni meme de l'information à son sujet me parait un bonne alternative pour réduire les pbs de Hack et les pbs de charge serveur.
Mais pas le problème du lag.
Le P2P étant un modèle particulièrement inefficace pour le temps-réel.
Le lag, c'est ce qui se produit quand une information vitale au client arrive plus tard que ce qui lui est nécessaire pour assurer la fluidité de l'action en jeu.

Cela peut se produire quand le serveur peine à distribuer, ou quand le client en a du mal à les traiter, oui, en effet, mais pas seulement...
Le lag peut aussi arriver quand une information se perd en route, ou quand le réseau tarde à l'acheminer d'un point à l'autre.

Or, sur ces deux plans, le principe même du P2P est une HORREUR.

Explication:

Tu as ton client qui attend une vingtaine de résultats dans les 3 prochaines secondes sans quoi il ne pourra pas assurer la fluidité du jeu (= lag).
Ces 20 résultats sont actuellement calculés par 10 bécanes différentes situées sur le réseau P2P.

Une machine déconnecte? Perte de temps à réassigner le calcul -> Lag.
Une machine reçoit mal les paramètres de calcul? Résultat en retard -> Lag.
Une machine met en route winamp? CPU qui rame pour le calcul -> Lag.
Une machine fait une erreur de routage pour la réponse? Retard et re-lag.
Une machine à un écran bleu? Réassignement et re-re-lag.

Or, là, on parle de machines de particuliers, donc dix à vingt fois moins fiables qu'un serveur professionnel... et on parle aussi de 20 bécanes sur vingts porteuses différentes au lieu d'une donc de risques multipliés d'autant en plus du reste.

Résultat: A moins de trouver une astuce technique de haut-niveau, l'idée même du P2P pour un MMOG est absurde.
Ca marche super pour des projets comme le généton qui ne nécessite aucun résultat en temps réel, mais pour les applicatifs qui sont vulnérables aux retards de réponses, c'est tout bonnement une TRES TRES mauvaise idée en l'état actuel de la technique.
Smile
Pour information, la bande passante est très loin d'être un problème, même pour 10.000 ou 50.000 personnages.
Et toujours pour information, la quasi totalité des MMO n'envoie les mouvements des objets mobiles (mobs) que pour ceux qui sont dans la zone d'action ou vision du client. 10.000 mobs dans une zone ne veut pas dire 10.000 mouvements envoyés, juste ceux qui sont nécessaire au rendu pour le client (car sa seule fonction est d'afficher ce que le serveur calcule, autre rappel).

Aucun difficulté technique sur ce plan la pour ton projet.

Enjoy.
Citation :
Sans vouloir me lancer dans de gros calculs, imaginons un RTS où un joueur manipule quelques centaines d'unités sur un serveur contenant juste quelque centaines de joueurs. Quelle bande passante faudrait-il ? Avec le développement de la fibre optique un tel jeu ne serait-il pas envisageable d'ici 10 ou 15 ans ??

Quand aux capacités de calculs des serveurs je suis quasiement sur que ça posera pas un gros problème d'ici quelques années
Pourtant comme expliqué precedemment c'est l'inverse qui se produit et ca n'est pas pret de finir.

Envoyer 10 000 series de coordonnées (3 composantes pour 1 entité) comportant chacune quelques "ordres" simples ne consomme que tres peu de bande passante au final (pour faire simple ca fait 10 000 x3 x"nombre d'ordre"). Bref cela reste proportionnel au nombre d'entité.

Par contre si on commence a vouloir calculer le nombre d'interactions possibles entre les entités, c'est, toujours de facon simple, un nombre de "calcul" qui est proportionnel au carré du nombre d'entité pouvant interagir.

Citation :
on a du lag , lorsque le serveur peine à distribuer les informations , ou lorsque le client peine à les traiter. Je vois pas le rapport avec le système p2p
Le P2P induit forcement un cheminement supplementaire de ton information en terme de temps (a moins d'avoir un ping=0 ce qui est impossible). Resultat tu generes encore plus de lag en voulant separer tes calculs qu'en les centralisant (a moins d'avoir un serveur/cluster completement en carton).

D'ailleurs la majorité des problemes de lag a l'heure actuelle ne sont pas du a un sous-dimensionnement des clusters/serveurs mais a des delais dans le cheminement question/reponse entre central et client, delais qui dans le cadre des MMOs ont tres vite fait de se cumuler.

Exemple tout bete: tu veux taper sur un autre joueur: tu envoies ton ordre de deplacement et ton ordre d'attaque, le cluster/serveur va alors calculer si oui ou non tu es a portée, pour cela il va soit faire appel a une donnée qu'il vient de recuperer (en traitant les infos envoyer par tout les clients en permanence) ou il va la demander (en envoyant une requete au client concerné par ton attaque). On comprend bien que si le client pour une raison ou pour une autre mets du temps a envoyer l'information, le retour que tu auras sur ta mise a portée ou non, sera d'autant plus long.

Toujours avec cet exemple, on pourrait etre tenté de relier directement les 2 protagonistes afin d'economiser du calcul et réduire les temps de latences. Et bien non, parce qu'en decentralisant une partie de la gestion chez le client, tu ouvres grand la porte aux hacks et exploits divers (l'exemple des possibilités de hack/cheat sur WoW en est la parfaite application).
Citation :
Publié par singman
Pour information, la bande passante est très loin d'être un problème, même pour 10.000 ou 50.000 personnages.
Et toujours pour information, la quasi totalité des MMO n'envoie les mouvements des objets mobiles (mobs) que pour ceux qui sont dans la zone d'action ou vision du client. 10.000 mobs dans une zone ne veut pas dire 10.000 mouvements envoyés, juste ceux qui sont nécessaire au rendu pour le client (car sa seule fonction est d'afficher ce que le serveur calcule, autre rappel).

Aucun difficulté technique sur ce plan la pour ton projet.

Enjoy.
Bien entendu que 10.000 mobs dans une zone ne veut pas dire 10.000 mouvements envoyés! Il manquerait plus que cela...
Me rappeler le fait, c'est un peu me prendre pour plus bête que je ne le suis...

Il n'en demeure pas moins que la charge réseau a toujours été directement proportionnelle au nombre de joueurs et que même en limitant les transmissions de la sorte, la bande passante est un écueil technique majeur pour tous les MMOGs depuis l'invention de ce style de jeu avec Meridian.
Pas que l'on ne puisse pas tenir la charge si on y met les moyens... mais que les dits moyens coûtent très chers et que ce coût augmente à la consommation, ce qui fait qu'on ne peut l'étendre à l'infini si on veut éviter la banqueroute.

Et puisqu'on en aux "pour information", voici ce que donnent la réalité du terrain:

Citation :
Meridian 59 uses 1 kilobyte per player per second. Remember, this is for a game designed to be played on 14.4k modems on the client side; a game like WoW is going to require much higher rates. But, let's assume that players play an average of 10 hours per week (quite low, "hard core" players usually go 20-30 hours per week), there's 4 weeks per year, and use the numbers from Dave Rickey above, rounded to 500k to make my math easier.

1 kilobyte/s/player * 500k players * 40 hours/month * 60 minutes/hour * 60 s/minute = 67 Terabytes per month.

M59 currently spends about $3/GB per month. That puts bandwidth costs closer to $200,000 per month, four times your number. Keep in mind that 1) WoW probably uses more bandwidth per player per second , and 2) this bandwidth usage is constant, not bursty like most network traffic is. This means you're going to be filling up fat pipes easier and long
Aucun problème avec la bande passante, comme tu dis... juste 200.000 dollars par mois à payer au coût de la bande passante actuelle pour faire tourner un MMO conçu pour jouer avec des modems téléphoniques!!!

Imagine un peu ce qu'un MMOG moderne doit coûter par mois, puis multiple le tout par 100 pour faire un MMORTS... et ensuite explique-moi comment comptes-tu faire rentrer assez d'argent pour payer CE genre de bande passante?

"Enjoy", comme tu dis...
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés