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

Organisation des datas

Zatalyz

Nos datas sont actuellement organisés comme sur Ryzom. Ce n'est pas très pertinent vu que nous avons un fonctionnement différent. Comme nous commençons aussi à avoir nos propres assets... il est temps de réfléchir vraiment à l'organisation de tout ça.

Voici la liste actuelle des bnp dans data (trié par type) :
Spoiler for Hiden:
sheet_id.bin
characters_animations.bnp
characters_maps_fy_hof_cheveux_hr.bnp
characters_maps_fy_hof_underwear_hr.bnp
characters_maps_fy_hof_visage_hr.bnp
characters_maps_fy_hom_cheveux_hr.bnp
characters_maps_fy_hom_underwear_hr.bnp
characters_maps_fy_hom_visage_hr.bnp
characters_maps_hr.bnp
characters_maps_ma_hof_cheveux_hr.bnp
characters_maps_ma_hof_underwear_hr.bnp
characters_maps_ma_hof_visage_hr.bnp
characters_maps_ma_hom_cheveux_hr.bnp
characters_maps_ma_hom_underwear_hr.bnp
characters_maps_ma_hom_visage_hr.bnp
characters_maps_tr_hof_cheveux_hr.bnp
characters_maps_tr_hof_refugee_hr.bnp
characters_maps_tr_hof_underwear_hr.bnp
characters_maps_tr_hof_visage_hr.bnp
characters_maps_tr_hom_cheveux_hr.bnp
characters_maps_tr_hom_refugee_hr.bnp
characters_maps_tr_hom_underwear_hr.bnp
characters_maps_tr_hom_visage_hr.bnp
characters_maps_zo_hof_cheveux_hr.bnp
characters_maps_zo_hof_underwear_hr.bnp
characters_maps_zo_hof_visage_hr.bnp
characters_maps_zo_hom_cheveux_hr.bnp
characters_maps_zo_hom_underwear_hr.bnp
characters_maps_zo_hom_visage_hr.bnp
characters_shapes.bnp
characters_skeletons.bnp
characters_swt.bnp
construction.bnp
data_common.bnp
exedll.bnp
fauna_skeletons.bnp
fyros_ig.bnp
fyros_lightmaps.bnp
fyros_shapes.bnp
gamedev.bnp
indoors_ig.bnp
indoors_lightmaps.bnp
indoors_pacs.bnp
indoors_shapes.bnp
interfaces.bnp
jungle_bank.bnp
jungle_displaces.bnp
jungle_lightmaps.bnp
jungle_maps.bnp
jungle_pacs_prim.bnp
jungle_shapes.bnp
jungle_tiles.bnp
jungle_vegetables.bnp
jungle_vegetable_sets.bnp
lacustre_lightmaps.bnp
lacustre_maps.bnp
lacustre_pacs_prim.bnp
lacustre_shapes.bnp
leveldesign.bnp
matis_lightmaps.bnp
matis_pacs.bnp
matis_shapes.bnp
newbieland_ig.bnp
newbieland_maps.bnp
newbieland_pacs.bnp
newbieland_zones.bnp
objects.bnp
outgame.bnp
packedsheets.bnp
patch_lirria.bnp
pendo.bnp
sfx.bnp
sky.bnp
sound.bnp
tryker_ig.bnp
tryker_lightmaps.bnp
tryker_maps.bnp
tryker_shapes.bnp
zorai_lightmaps.bnp
zorai_maps.bnp
zorai_pacs.bnp
zorai_shapes.bnp
lmconts.packed
animation_fx.packed_sheets
animation_fx_set.packed_sheets
animset_list.packed_sheets
attack_list.packed_sheets
automaton_list.packed_sheets
building.packed_sheets
continent.packed_sheets
creature.packed_sheets
death_impact.packed_sheets
emot.packed_sheets
faction.packed_sheets
flora.packed_sheets
forage_source.packed_sheets
fx.packed_sheets
id_to_string_array.packed_sheets
item.packed_sheets
light_cycle.packed_sheets
mission_icon.packed_sheets
outpost_building.packed_sheets
outpost.packed_sheets
outpost_squad.packed_sheets
plant.packed_sheets
race_stats.packed_sheets
sbrick.packed_sheets
sitem.packed_sheets
skill_tree.packed_sheets
sky.packed_sheets
sphrase.packed_sheets
succes_chances_table.packed_sheets
text_emotes.packed_sheets
titles.packed_sheets
weather_function_params.packed_sheets
weather_setup.packed_sheets
world.packed_sheets
ssl_ca_cert.pem
khanat.png
cfg_.ref
exedll_.ref
fonts_.ref
packedsheets_.ref
md5sum.txt


Voici ma première proposition :
- Réunir dans un seul fichier les éléments des diverses races et genre. On en a que deux, en plus, pour démarrer. Et renommer tout ça proprement en anglais.
characters_maps_hair.bnp
characters_maps_underwear.bnp
characters_maps_body.bnp
characters_maps_clothe.bnp
characters_animations.bnp
characters_shapes.bnp
characters_skeletons.bnp

-Il y a les ra, et il y a les autres créatures.
fauna_skeletons.bnp
fauna_maps.bnp
fauna_animation.bnp
fauna_shape.bnp

-Un bnp uniquement pour les objets équipables (tenus en main). Actuellement ça devrait être object.bnp mais dans les faits ça me semble être un gros boxon. Enfin, bon, on peut aussi l'appeler comme ça :
handled_item.bnp

-Environnement : des éléments proches peuvent servir dans des régions très variées. Donc, je ne garde même pas l'idée de trier les dossiers par climat (ça peut se faire, par contre, dans le nom des fichiers). Par contre, on a les éléments naturels (environnement), les éléments fabriqués (construction), les intérieurs (indoor).  Et les cartes (map).
environnement_bank.bnp
environnement_displaces.bnp
environnement_lightmaps.bnp
environnement_pacs_prim.bnp
environnement_shapes.bnp
environnement_tiles.bnp
environnement_vegetables.bnp
environnement_vegetable_sets.bnp
environnement_ig.bnp
environnement_zones.bnp  (à voir si ça sert ou pas, c'est pas clair)
construction.bnp
indoors_ig.bnp
indoors_lightmaps.bnp
indoors_pacs.bnp
indoors_shapes.bnp
maps.bnp

-Garder un bnp pour tous les éléments d'interface, bien sûr. Ainsi que le dossier des packedsheets qui peuvent être en dossier, et le dossier pour les patchs.
interfaces.bnp
packedsheets.bnp
patch_lirria.bnp

-Dans autres autres média utiles : sfx pour les effets de particules, sky pour le ciel, sound pour les sons, rien de nouveau.
sfx.bnp
sky.bnp
sound.bnp

Ensuite il y a quelques bnp, je me demande ce que c'est et donc qu'en faire. Je soupçonne que ça pourrait être mieux rangé :
characters_swt.bnp
data_common.bnp
exedll.bnp (utile que pour les clients windows, donc devrait aller avec le client windows, non ?)
gamedev.bnp (le bazar des derniers dev, un peu comme notre patch)
leveldesign.bnp
outgame.bnp


Voilà pour les bnp. Ensuite, on a les packed_sheets et ça, je ne vois rien de trop choquant alors on peut garder tel quel. Il y a le dossier font : il faudra voir ce qu'il contiens, trier un peu... Il y a ssl_ca_cert.pem ; j'espère que c'est le notre et pas celui de ryzom...

Les .ref et sheet_id.bin doivent servir à l'arborescence donc pas à toucher ? ainsi que md5sum.txt, en principe celui de notre dossier...


Zatalyz

Une proposition de plus :
Je propose de commencer à réorganiser les datas, même si pour le moment ce sont en grande partie celles de Ryzom.

Les datas de Ryzom seront dans les bnp comme proposé plus haut, mais avec un préfixe ryz_ , par exemple ryz_characters_maps_hair.bnp

Les datas de Khanat seront dans des bnp avec le préfixe kh_ (par exemple kh_characters_maps_hair.bnp).

Comme le client cherche dans l'ordre alphabétique des bnp, il regardera en premier dans les "kh_" et s'il ne trouve pas, passera au "ryz_". Cela permettra de modifier et de mettre en place notre propre nomenclature, sans tout casser au niveau visuel, peu à peu.

Zatalyz

Et je propose aussi qu'on prépare une version Majeure des datas à cette occasion. En fait je vous fais même une proposition de Roadmap (sisi !).

Version actuelle (no_name, on va dire 1 pour pas se perdre) :  basée sur celles de ryzom, "nettoyées" (on a enlevé un tas de bazar)+le dossier de patch qui ajoute nos trucs

Version 1.5 : la proposition au dessus. Ce qui a été validé dans le patch se retrouvera dans son propre bnp. La nomenclature interne reste ryzomienne en partie, du coup (mais pas dans les nouvelles bnp, là il faudra voir en parallèle une nomenclature propre à Khanat). Ce serait cool aussi que le patch puisse mettre dans les bons dossier directement, à voir si c'est jouable.

Version 2 : nous aurons alors uniquement les bnp des dossiers Khanat, avec une nomenclature Khanat.


Pour le "numéro" des versions, tout est possible... Je trouve que le plus efficace est de donner le numéro des révisions en fonction de la date du jour, mais pour des versions qui annoncent un gros changement, X.X est bien. Si je propose qu'on démarre à 1 et pas à 0, c'est que c'est déjà fonctionnel, on ne part pas de zéro mais de ryzom. 1.5 pour indiquer la transition en cours. 2 pour la vraie prochaine étape.

Du coup en cas de paquet/zip des datas, notez de cette façon :
X.X.AnnéeMoisJour

Par exemple 1.5.20160416 (pour une 1.5 dont la dernière modif est faite le 16 avril 2016).

Ma proposition veut aussi dire qu'on va sérieusement devoir fixer une nomenclature. Il serait temps  :)

Tout au long du 1.5, au fur et à mesure qu'on va nettoyer les datas de Ryzom, transférer ce qu'on veut garder dans les datas de Khanat et créer les nôtres, il va falloir réfléchir à ça et prendre des décisions. La nomenclature pour les coiffures sera sans doute un peu différente de celle pour les systèmes de particules... Mais donc, interdiction de mettre quelque chose dans un kh_*.bnp tant qu'on a pas réfléchi à sa nomenclature ! Sisi ! On a le droit au bnp "lirria" pour les trucs en transition, les essais de patch ;)

En parallèle de ça il faudra aussi nettoyer sur le serveur et structurer en miroir les données, suivant une logique similaire. Mais je maitrise bien moins la partie serveur, je laisse les pros en parler...

Dremor

Sur le point de la numérotation des versions, je serais plus pour garder la même numérotation que le client en lui-même (1.0.13 client = 1.0.13 data). Ainsi, l'utilisateur pourra plus facilement retrouver les datas correspondant à une version donnée du client.

YannK

Une petite page de lien sur la numérotation sémantique des versions : http://semver.org/ pour aider à se faire une idée pour nos numéros  ;)

Licences Mentions légales Accueil du site Contact