Forum de L'Ordre des Huits Dragons
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum de L'Ordre des Huits Dragons

Guilde Luxonne protectrice de Tyrie, Cantha et Elona.
 
AccueilPortailGalerieRechercherDernières imagesS'enregistrerConnexion
Le deal à ne pas rater :
Soldes d’été 2024 : trouvez les meilleures promos !
Voir le deal

 

 GW coté technologie.

Aller en bas 
2 participants
AuteurMessage
Rohirrim
Admin
Admin
Rohirrim


Masculin
Nombre de messages : 415
Age : 38
Localisation : Temple des Ages Fr1
Emploi : Invoqueur de catastrophes naturelles.
Loisirs : Balancer des meteores a tout va!
Date d'inscription : 24/03/2007

GW coté technologie. Empty
MessageSujet: GW coté technologie.   GW coté technologie. Icon_minitimeVen 15 Juin - 7:54

Un joueur a recement eu l'opportunité
d'interviewer certains membres du Staff de GW afin d'obtenir plus
d'informations sur les technologies employées pour programmer et
maintenir GW

(liens vers les articles originaux :

http://www.monashreport.com/2007/06/09/technology-of-guild-wars/
http://www.dbms2.com/2007/06/09/the-database-technology-of-guild-wars/
http://www.monashreport.com/2007/06/09/guild-wars-game-notes/

Citation :
La technologie de Guild Wars
Etre un analyste a ses bons côtés, parce qu'on peut avoir des
discussions très intéressantes. C'est ainsi que j'ai eu l'occasion
d'interviewer Mike O’Brien et Pat Wyatt, deux des fondateurs et
programmeurs principaux d'ArenaNet, créateurs du MMORPG (ndt: roooh !!)
Guild Wars.

Si vous jouez à ce genre de jeu, il est évident que cela va vous
intéresser. Mais même si ce n'est pas le cas, vous devriez jeter un
oeil. Après tout, Guild Wars est un SaaS (ndt: Software as a Service,
c'est à dire la commercialisation d'une application sous forme de
service en ligne) avec de beaux graphismes qui supporte aisément
100,000 utilisateurs en simultané, tout en gérant un client de plus
d'un Go et ce même pour les plus petites connections par modem.
Chaque utilisateur est un hacker potentiel, que ce soit pour le
"fun" ou pour en retirer de l'argent réel ; même si nous n'avons pas
beaucoup discuté de l'aspect sécurité. Et ArenaNet propose tout cela
avec un budget relativement limité ; en effet, les frais d'abonnement
s'élèvent à exactement 0€ par mois.

Note: Si vous êtes habitué aux JdR hors ligne mais pas aux MMORPG,
lisez ce qui suit. La différence et que dans un MMORPG, beaucoup de
joueurs jouent en même temps. Et si vous êtes habitué aux MMORPG mais
pas à Guild Wars, sachez que GW est instancié. C'est-à-dire que chaque
groupe, de 1 à 24 joueurs, va avoir sa propre copie du monde de jeu.
Les changements dans l'environnement sont effectués par eux seuls.

Et si vous n'êtes pas habitué aux JdR du tout, je vous conseille d'arrêter de travailler si dur et de commencer à jouer.

Voici quelques détails techniques que j'ai réussi à glaner pendant cette courte demi-heure de conversation :

Le client ne fait pas grand-chose à part le côté graphique et la préparation du résultat final (dont l'encryptage).

C'est un choix de sécurité. Ils partent du principe que le client
de jeu est hackable à l'infini, et donc limitent son importance à
simplement pouvoir envoyer quelques informations prédéfinies.

Ils ont des serveurs "en lames" (ndr: "blade", plus d'infos ici) –
au départ uniquement des IBM, maintenant plus variés. Il s'agit en
général d'IBM avec bi-processeurs Xeon à 2.8 gigahertz et 2.5 gigas de
RAM.

Il y a différentes catégories de serveurs. Y compris:
identification/connexion, téléchargement de mises à jour du jeu, le jeu
en lui-même, cache de la base de données, DBMS (ndt: gestion de bases
de données), fonctions secondaires du jeu (membres de guildes,
tournois...), systèmes de protection qui surveillent le reste.

Les serveurs de jeu peuvent chacun accueillir entre 2500 et 3500
utilisateurs, la restriction principale étant la quantité de mémoire
adressable. (Les machines tournent sous Microsoft Windows 32-bit)

Les données liées aux personnages des joueurs prennent quelques dizaines de kilobytes.

Il y a 4,5 millions de lignes de code au total.

Leur but au niveau de la connectivité est de .0045
megabits/seconde/utilisateur, et ils sont près de l'atteindre. Il est
tout à fait possible de jouer en 56k. (ceci dit, en tant que joueur je
peux vous dire que vous subirez tout de même quelques lags)

La fiabilité n'est pas seulement un avantage pour les utilisateurs,
c'est aussi un point important pour l'intégrité du jeu. Il existe
plusieurs abus dans les MMORPGs, par exemple en faisant planter le
serveur délibérément pendant une transation client-serveur. ArenaNet
combat cela en mettant l'accent sur l'intégrité des transactions et
plus généralement en essayant de rendre leurs serveurs de cache de
bases de données très fiables. Ces serveurs restent en moyenne
connectés entre 150 et 200 jours d'affilée.

*Note: la triche est très présente dans le monde des MMORPGs. Un
problème majeur est l'acquisition d'argent dans le jeu par des
professionnels dans des pays à bas salaires, qui le revendent ensuite
pour de l'argent réel. Ces revendeurs d'or inquiètent fortement
ArenaNet.

Citation :
J'ai
la chance d'être chargé de faire des recherches sur les jeux en ligne
et les mondes virtuels pour un article à venir sur Network World.

Pour ma première interview, je me suis naturellement tourné vers
les chefs de projet du jeu auquel je joue : Guild Wars. Cet article met
l'accent sur la technologie de bases de données. Il contient aussi une
courte description de ce qu'est Guild Wars - un MMORPG (ndt:
roooooh!!!) avec un aspect peu commun: le monde est instancié et non
pas complètement partagé par tous les joueurs.

Commençons par quelques infos. ArenaNet (développeur de Guild Wars,
maintenant filiale de NCsoft) utilise Microsoft SQL Server, surtout
l'Edition Entreprise, et vient juste de passer à l'édition 2005 il y a
4 mois. Entre 1500 et 2500 transactions/seconde sont effectuées chaque
jour, avec des pics à 5000. Il n'ont pas d'administrateur de bases de
données à plein temps, et lorsque les développeurs ont commencé ce
projet, il ne connaissaient pas le SQL. Ils n'ont eu qu'un problème
majeur de SQL depuis que le jeu existe (soit plus de 2 ans), et, comme
la plupart de leurs bugs, il était dû à un problème de pilote de réseau
plus qu'à un réel problème dans le coeur du système.Alors, comment cela
fonctionne-t-il ? Plusieurs choses liées aux bases de données ont lieu
dans un MMORPG instancié.

Les personnages du jeu trouvent des objets ; par exemple, il y a
des transactions d'inventaire. La plupart du temps celles-ci sont
unilatérales. Les objets proviennent de nulle part et il n'y a donc pas
à supprimer les objets du stock d'origine. De la même façon, ils
achètent et vendent aux PNJ marchands. Un personnage porte jusqu'à 60
objets différents, chacun d'entre eux étant une combinaison de
plusieurs token (nbtr: ouais voila quoi si vous comprennez vous ... )
ou attributs choisis dans une liste prédéfinie.

Les personnages évoluent. Ils gagnent en puissance. La part de
carte qu'ils peuvent voir augmente. Ils vivent des événements qui
modifient le jeu. Etc.

Il existe des modifications temporaires au monde de jeu lorsque
les personnages explorent des zones. Celles-ci doivent être maintenues
en l'état tant que ce personnage est connecté et se trouve dans cette
zone. Mais puisque le jeu est instancié, elles n'ont pas besoin d'être
mémorisées après cela (à quelques exceptions près).

Il y a certains systèmes secondaires qui utilisent des
transactions ordinaires, tels que la fenêtre de guilde et le système de
tournois. Au vu de leur mode de fonctionnement, il semblerait qu'ils
suivent des schémas très simples.

Dans certains MMORPGs, l'inventaire est géré de façon évidente – chaque objet a un enregistrement qui lui est associé.

Mais Guild Wars fait les choses différement. Tout ce qui concerne
un personnage se trouve dans un gros BLOB (Binary Large OBject), qui a
généralement une taille de 10K à 30K. (un élément est la carte
complète, ou du moins l'enregistrement des pixels découverts.) Plus
précisément, il existe un BLOB par personnage et un BLOB par compte.
Les BLOBs sont mis à jour au fur et à mesure que le jeu progresse, et
sont sauvegardés à intervalles réguliers (quelques minutes).

En fait, s'il y a 150,000 transactions et plus par minute, et que
chaque personnage génère une transaction toutes les quelques minutes,
ça signifie qu'il y a environ 0,5 million de personnages en ligne en
permanence, avec des pics à 1 million. Selon ce que je connais sur le
gameplay, je pense que ce chiffre est 10 fois trop élevé environ. Je
n'arrive pas à expliquer cette contradiction pour le moment.

Bien sûr, il n'existe quasiment pas de transaction aussi simple que de rentrer un BLOB dans une base de données.

Cependant, il y a beaucoup de BLOB qui transitent. Et donc entre le
serveur de jeu et les backends de la base de données (lieu de
stockage), il y a des serveurs de cache personnalisés. Les serveurs de
jeu envoient des messages à propos de diverses transactions d'objets au
serveurs de cache ; puis ces derniers envoient les BLOBs mis à jour à
la base de données. Ces serveurs de cache sont extrêmement stables,
restant opérationnels entre 150 et 200 jours d'affilée.

ArenaNet est, globalement, très réactif aux demandes des joueurs.
Il y a cependant un point sur lequel ils ont déçu les joueurs : le fait
de ne pas avoir introduit d'hôtel des ventes, ce que la plupart des
autres créateurs de MMORPG ont été capables de faire. Même après cette
interview, je ne suis pas sûr à 100% des raisons, mais je pense que ça
se résume à cela – un hôtel des ventes serait de loin de système de
transaction le plus complexe qu'ils ont implémenté. Et étant donné que
l'inventaire n'est pas géré par enregistrement unique, ils auraient
besoin de recommencer à zéro. Ceci dit, bien qu'ils ne m'aient rien dit
à ce sujet, lorsqu'ils réexamineront ce problème pour GW2, je suis sûr
qu'ils réaliseront que ce n'est pas aussi difficile qu'ils le pensent
aujourd'hui.

En ce qui concerne l'avenir des bases de données: le fait de passer
le stockage d'un joueur (coffre Xunlai) de 20 à 80 emplacements a forcé
une expansion de la base de données. Il y aura probablement d'autres
augmentations de la base de données, bien qu'ils ne soient pas encore
entièrement décidés sur ce point. ArenaNet semble très satisfait des
serveurs SQL, et ils ne vont pas réparer ce qui n'est pas cassé; de
plus, ils sont situés à Bellevue. (à l'inverse, Sony Online est en
train de migrer Everquest d'Oracle à Enterprise DB. J'espère pouvoir
les interviewer à l'avenir) ArenaNet ne semble pas prendre en
considération la technologie "memory-centric" (ndt: les données sont
situées directement dans la mémoire dès le départ), bien que ce soit un
choix judicieux pour le cache ; en particulier, StreamBase semble
s'introduire dans le marché du jeu/des mondes virtuels (Je vous en
dirai plus la dessus si les gars de StreamBase m'aident a décrocher
quelques interviews).


Le 3eme article est en fait un resumé des 2 precedents:

* Ne vous attendez pas a avoir un hotel des ventes (raisons données vers la fin de l'article sur les bases de données)
* votre pourcentage d'exploration est reelement calculé en fonction de
chaque pixel exploré par rapport au nombre total de pixels possibles
(meme si 100% est atteignable avec un peu moins de pixel que ceux
reelement possibles)
* La gestion des instances etait moins compliquee que ce qu'ils
avaient prevu on peut donc s'attendre a des ameliorations pour GW2 vu
qu'ils seront plus conscient de ce que cela represente reelement.
Revenir en haut Aller en bas
https://odhd.1fr1.net
Lazarus
Admin
Admin
Lazarus


Masculin
Nombre de messages : 58
Age : 44
Localisation : Ile de feu
Emploi : Asservir les esprits
Loisirs : Arênes, AvA, PvE
Date d'inscription : 09/04/2007

GW coté technologie. Empty
MessageSujet: Re: GW coté technologie.   GW coté technologie. Icon_minitimeVen 15 Juin - 13:44

Coucou Rohi Wink

Je ne sais pas ou tu as trouvé ces infos, mais c'était très intéressant pour moi Smile
Me usis régalé à tout lire, histoire d'avoir une idée plus précise sur l'architecture réseaux de GW.

Encore merci Wink

Lazarus
Revenir en haut Aller en bas
 
GW coté technologie.
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum de L'Ordre des Huits Dragons :: Guilde de L'Ordre des Huits Dragons. :: Forum general-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser