Aller au menu du forum Aller au contenu du forum Aller à la recherche dans le forum
Logo Khaganat
Menu principal

Comment est organisé le jeu

Zatalyz

Je me permet de copier le log ici, en attendant d'en faire une fiche wiki (si ce n'est déjà fait ? j'ai un doute).
Peut-être à lier avec http://khaganat.ninm.net/wikhan/fr:serv ... un_univers et  http://khaganat.ninm.net/wikhan/fr:serv ... datasheets

Spoiler for Hiden:
[09:54:48] <lodnexus> tu sais quel est le langage de programmation de Ryzom Core YannK ?
[09:54:59] <YannK> c++ la plupart
[09:55:11] <lodnexus> euh, ca fait pommes des pommes de terre sautées...
[09:55:34] <lodnexus> oulah, vraiment pas réveillé...
[10:00:22] <liria> c++ et php pour une partie des services via le web
[10:05:27] <lodnexus> ok merci
[10:06:45] <liria> toute l'api ryzom est en php en fait
[10:06:57] <liria> le serveur, le client et les outils sont écrit en c++
[10:07:39] <liria> la base de données mysql est utilisée pour le stockage des données coté api web/web ig
[10:08:05] <liria> toutes les données du jeu sont par contre dans des fichiers directes sans base de données pour le fonctionnement du serveur
[10:14:13] <lodnexus> Est-ce-que tu sais comment sont répartis les données entre le client et le serveur? ex : les assets, j'imagine sont dans les archives .bnp du client, toutes ca je ne sais pas...
[10:15:31] selpa`i_ (~Siah@morla.virt.lxd.bz) joined #khanat.
[10:17:19] <liria> en fait tout les données du jeu
[10:18:08] <liria> son dans le dossier code/ryzom/common/data_leveldesign
[10:18:13] <liria> ce sont des fichiers textes
[10:18:24] <liria> plus exactement des fichiers xml qui décrivent chaque élément du jeu
[10:18:47] <liria> un mobs, la carte, le comportement d'un pnj, etc...
[10:19:11] <liria> ces fichiers textes références les images des assets lorsqu'il s'agit d'indiquer au client quel éléments visuel correspondant à tel décor, armure, mobs, etc...
[10:19:18] <liria> ces donnes du jeu sont appelés datasheets
[10:19:22] <liria> +e
[10:19:40] <liria> et elles sont toutes visibles sur  docuwiki
[10:19:43] <liria> j'ai écrit un script qui génère une version lisible
[10:19:54] <liria> pour le momment on nepeut les éditer par le wiki mais le but à terme
[10:20:21] selpa`i (~Siah@morla.virt.lxd.bz) got netsplit.
[10:20:36] <liria> pour te donner un exemple je vais te pointer un datasheet
[10:21:29] <liria> http://khaganat.ninm.net/dswiki/datashe ... 1.creature
[10:21:48] <liria> par exemple ce datasheet décrit les yubo allaitants visible autours du point de respawn à silan
[10:21:53] <liria> regarde pa exemples ces lignes
[10:22:15] <liria>    <STRUCT Name="Combat">
[10:22:15] <liria>       <ATOM Name="AggroRadiusNotHungry" Value="15"/>
[10:22:15] <liria>       <ATOM Name="AggroRadiusHungry" Value="15"/>
[10:22:15] <liria>       <ATOM Name="AggroRadiusHunting" Value="15"/>
[10:22:27] <liria> elle te montre que pour les mobs la distance d'agro change en fonction de sa fin
[10:22:33] <liria> qui le savait IG ?
[10:22:51] <liria> ensuite à partir de ces datasheet
[10:22:57] <liria> ils sont compilés dans des versions binaires
[10:23:10] <liria> une sorte de zip pret à l'emploi pour le client et le serveur de jeu
[10:23:22] <liria> ces fichiers ont l'extension ".packed_sheet"
[10:23:33] <liria> tu en trouvera dans le dossier "data" de ton install ryzom
[10:23:56] <liria> les fichiers ".bnp" sont aussi des sortes de zip, mais plutot réservé pour les assets graphiques
[10:24:03] <liria> maintenant comment se répartissent ces données
[10:24:14] <liria> ces data sheet sont divisé en deux
[10:24:29] <liria> une partie sera comilé et copié dans le dossier ryzom/server
[10:24:40] <liria> et sera utilisée par le serveur lors de son exécution
[10:24:57] <liria> l'autre partie sera compilée et copié dans le dossier "data" de l'install du client ryzom
[10:25:17] <liria> tu devine déjà que les assets graphiques vont dans le dossier client
[10:25:29] <liria> le serveur n'a pas besoin de savoir comment dessiner un arbre
[10:25:42] <liria> pour les données autres cela est à prendre au cas par cas
[10:25:48] <liria> par exemple pour le yubo :
[10:25:57] <liria> il y aura deux version de ce datasheet compilé
[10:26:10] <liria> celle coté serveur va conserver les données comme la distance d'agro, etc...
[10:26:23] <liria> car c'est le serveur qui va calculer le comportement du mobs sur le monde
[10:26:51] <liria> coté client on ne vera que ce qu'il fait
[10:26:51] <liria> verra*
[10:26:52] <liria> et coté client le data sheet contiendra plutot les données relatives à son affichage
[10:27:11] <liria> la liste des textures utilisées, le modèle 3D, etc...
[10:28:02] <lodnexus> ce qui explique qu'un mob on peut le voir graphiquement, mais qu'il n'aura aucune interaction avec nous s'il n'a pas d'infos de comportements provenant du serveur
[10:28:10] <liria> oui
[10:28:34] <liria> le client ne recoit que l'info, le mobs est là dessine le dans l'état "en cours d'attaque" de l'animation XX
[10:28:37] <liria> point
[10:28:57] <lodnexus> Mais au moins les variables sont clair : "AggroRadiusNotHungry"
[10:28:57] <lodnexus> clairs*
[10:29:05] <liria> c'ets aussi le serveur qui gère l'info si tu reçois un coup, si tu perds de la vie etc...
[10:29:10] <liria> oui
[10:29:15] <liria> les datasheets sont très lisibles
[10:29:22] <liria> c'est aussi la raison de notre idée
[10:29:32] <liria> de mettre tous ces datasheet dans des pages de docuwiki
[10:29:42] <liria> et à terme de pouvoir les modifier directement
[10:29:55] <liria> mais il faudrait documenter ces variables
[10:30:02] <liria> autant "AggroRadiusNotHungry" est claire
[10:30:16] <liria> ou
[10:30:17] <liria> <STRUCT Name="Protections">
[10:30:20] <liria>       <ATOM Name="PiercingMax" Value="0"/>
[10:30:20] <liria>       <ATOM Name="PiercingFactor" Value="0"/>
[10:30:20] <liria>       <ATOM Name="SlashingMax" Value="0"/>
[10:30:20] <liria>       <ATOM Name="SlashingFactor" Value="0"/>
[10:30:35] <liria> est compréhensible pour un joueur ryzomien
[10:30:55] <liria> autant que je ne comprend pas le sens de
[10:31:00] <liria>      <STRUCT Name="Characteristics">
[10:31:00] selpa`i (~Siah@morla.virt.lxd.bz) got lost in the net-split.
[10:31:00] <liria>         <ATOM Name="DynamicEnergyValue" Value="0.00126"/>
[10:31:00] <liria>       </STRUCT>
[10:31:03] <liria> dans ce même datasheet
[10:31:26] <liria> et les datasheets des mobs sont relativement simple à comprendre
[10:31:44] <liria> regarde aussi  la page d'explication des datasheets sur wikhan
[10:31:54] <liria> Yannk a fait un super travail de vulgarisation
[10:32:07] <lodnexus> yap, je vais lire ca
[10:33:28] <lodnexus> euh vide... je suis peut-être pas au bon endroit :x
[10:33:41] <liria> il faut lire cela lodnexus
[10:33:43] <liria> http://khaganat.ninm.net/wikhan/fr:serv ... datasheets
Dernière édition: 01 Janvier 1970 à 01:00:00 par Guest

Licences Mentions légales Accueil du site Contact