|
SEB
|
Posté le 13 Août 2011 à 22:10
|
|

Messages : 554
GCPoints : 103313
|
Oui je sais c'est un peu lourd lool! surtout avec 3 branches ouvertes en mêmes temps! Pour spark oui je suis allé prendre directement la lib releasé sur le site, mais on est pas pressé et le moment venu on pourra la changer sans problèmes effectivement.
Normalement la doc j'ai tendance à dire un peu comme on veut mais c'est vrai que ça serait bien de l'uniformiser... donc... au pif... français pour la doc? anglais pour les noms réels.
NextGine : 3D games engine
Nombre de lignes actuel : 77683
|
|
Darktib
|
Posté le 14 Août 2011 à 12:33
|
|

Messages : 4017
GCPoints : 347288
|
Ok, je ferais en français pour la suite. Pour l'instant, je l'ai rédigée en anglais...
|
|
Mod
|
Posté le 17 Août 2011 à 08:58
|
|

Messages : 4954
GCPoints : 2100823
|
Un moteur de script dans le cadre d'un jeu de plate-forme peut être utile pour avoir du code en parallèle côté des maps pour gérer des évènements complexes in-game (ce qui peut être plus simple et performant qu'interpréter des évènements). A voir si dans ce cas précis c'est utile lorsque le gameplay sera défini de manière à peu près fixe.
Dernière édition le 17 Août 2011 à 08:59
|
|
Darktib
|
Posté le 22 Août 2011 à 14:06
|
|

Messages : 4017
GCPoints : 347288
|
Pour la sérialisation/désérialisation de la configuration du jeu, je propose d'utiliser XML, et de prendre PugiXML pour cela (très bonnes perfs, mais plus stable que RapidXml).
|
|
nepser
|
Posté le 22 Août 2011 à 14:42
|
|

Messages : 116
GCPoints : 23144
|
Du XML? J'aurai préféré rester sur du format type .ini beaucoup plus facilement éditable.
|
|
Darktib
|
Posté le 22 Août 2011 à 14:58
|
|

Messages : 4017
GCPoints : 347288
|
C'est aussi possible. Cependant, je pense que le XML permettra une plus grande flexibilité. Ca reste toujours éditable à la main...
Dernière édition le 22 Août 2011 à 14:59
|
|
nepser
|
Posté le 22 Août 2011 à 15:56
|
|

Messages : 116
GCPoints : 23144
|
De toute façon, avec une belle conception, le format du fichier ne devrait être qu'une formalité ^^'.
|
|
SEB
|
Posté le 22 Août 2011 à 16:54
|
|

Messages : 554
GCPoints : 103313
|
De mon humble avis pour le fichier de config il faut effectivement soit utiliser un format tres simple style .ini
Soit utiliser du XML. Cependant si on utilise du XML il n'est pas nécessaire de rajouter encore une lib puisque irrlicht fournit une classe xml et que la conception que tu as fait permettra de faire autant de spécialisation du ConfigSerializer que l'on veut. Donc si un jour on venait à se séparer d'irrlicht ce ne serait pas difficile à remplacer.
NextGine : 3D games engine
Nombre de lignes actuel : 77683
|
|
Darktib
|
Posté le 06 Sep 2011 à 18:42
|
|

Messages : 4017
GCPoints : 347288
|
Bon, j'ai regardé irrXML, et je sens que générer un beau fichier XML va pas être simple: irrXML ne gère pas de DOM, donc pas de possibilité d'avoir une organisation propre des propriétés.
Par exemple, supposons que l'on ait comme propriétés:
Code :
Config.Video.Driver
Config.Video.ResX
Config.Video.ResY
Config.Audio.Volume
Game.MysteryProperty
Avec PugiXml je pourrais générer un truc style
Code : XML
<?xml version="1.0"?>
<Configuration>
<Config>
<Video>
<Driver type="string">DirectX</Driver>
<ResX type="uint32">1024</ResX>
<ResY type="uint32">768</ResY>
</Video>
<Audio>
<Volume type="uint8">75</Volume>
</Audio>
</Config>
<Game>
<MysteryProperty type="sint8">42</MysteryProperty>
</Game>
</Configuration>
voire même:
Code : XML
<?xml version="1.0"?>
<Configuration>
<Config>
<Video>
<Driver>DirectX</Driver>
<ResX>1024</ResX>
<ResY>768</ResY>
</Video>
<Audio>
<Volume>75</Volume>
</Audio>
</Config>
<Game>
<MysteryProperty>42</MysteryProperty>
</Game>
</Configuration>
Avec un DOM, c'est très facile. Sans, je suis obligé d'en émuler un, via une structure d'arbre. Pas très efficace (et les propriétés ne peuvent pas être organisées en arbre).
Au final, deux choix se présentent:
- PugiXml, 3 fichiers + le readme contenant la licence (1 source et 2 headers)
- Émulation d'un DOM, pas super efficace. Il faudra alors créer une structure d'arbre générique (je veux bien le faire si on prend cette voie)
Laquelle prendre (je suis perso pour l'inclusion de PugiXml) ?
edit: 4000 messages ! ( -->[] )
Actuellement, le fichier peut ressembler à:
Code : XML
<?xml version="1.0"?>
<Configuration>
<Property name="Config.Video.Driver">DirectX</Property>
<Property name="Config.Video.ResX">1024</Property>
<Property name="Config.Video.ResY">768</Property>
<Property name="Config.Audio.Volume">75</Property>
<Property name="Game.MysteryProperty">42</Property>
</Configuration>
Si c'est ce que vous préférez, je prendrais cette solution.
Dernière édition le 06 Sep 2011 à 18:46
|
|
SEB
|
Posté le 06 Sep 2011 à 21:39
|
|

Messages : 554
GCPoints : 103313
|
Effectivement je n'était pas rentré dans le détail mais oui irrlicht et assez pauvre côté xml donc il faudra utiliser autre chose je suis d'accord. Je ne connais pas énormément de lib xml et je viens de jetter un oeil à PugiXml, effectivement 3 fichiers ce n'est pas grand chose mais j'ai jeté un oeil très rapide au code et je me demande si c'est très portable tout ca. Il va falloir tester.
NextGine : 3D games engine
Nombre de lignes actuel : 77683
|
|
Darktib
|
Posté le 07 Sep 2011 à 16:40
|
|

Messages : 4017
GCPoints : 347288
|
PugiXml est portable, au moins sur Windows/Linux/XBox360/MacOSX.
J'ajoute donc PugiXml aux dépendances de ma branche.
|