70
réponses
11
followers
Von : Eolindel | Sonntag, 13. August 2017 um 23:12
Eolindel
Eolindel
Bonjour,
Suite au message initial sur le gros post KS du 7 ème continent :  
Eolindel dit :J'ai un petit projet pour cartographier le 7ème continent, ce serait du gros spoil bien méchant de partout mais qui pourrait permettre de voir des relations complexes entre cartes et répondre de manière objective à des questions complexes (le chemin le plus court pour aller de A à B, comment aller à la carte X depuis la carte Y, etc).

Je suis en train de regarder du côté de Neo4j qui est un langage spécifique pour la représentation de graphs pour regarder ça (un exemple pour la saison 2013 de F1) :
https://neo4j.com/graphgist/3e7433e9-4295-4cfa-877b-f5124c32bd07

J'avais déjà commencé ce travail mais beaucoup moins bien sur le P&P :
http://eolindel.free.fr/images/map_demo.png (spoil donc à vous de faire un copier-coller)


Est-ce que ça intéresse du monde ?
Si c'est la cas, je vais faire une interface pour générer la base de données (sûrement en SQL old school) avant de pouvoir l'exploiter (en Neo4j super hype). Autant je maîtrise la partie SQL, autant je découvre neo4j qui a l'air assez rigolo comme langage. Mais c'est surtout la visualisation qui risque de ne pas forcément être la plus simple sur le web.

Et en fonction du nombre de personnes intéressées, je pourrais éventuellement faire en sorte que certaines personnes m'aident à générer ladite carte.
 
J'ai créé un message similaire sur BGG :
https://boardgamegeek.com/article/26621195#26621195



//////////////////////////////////
Quelques avancées datant du 23 août :

Default
Default

Cartes répertoriées :
//CARTE A 0001 - 169
//CARTE A 0175
//CARTE A 0185 - 189
//CARTE A 0192
//CARTE A 0195 - 196
//CARTE A 0207
//CARTE A 0209
//CARTE A 0211 - 215
//CARTE A 0221
//CARTE A 0255 - 256
//CARTE A 0268
//CARTE A 0270
//CARTE A 0280 - 363
//CARTE A 0369
//CARTE A 0375
//CARTE A 0400 - 401
//CARTE A 0404
//CARTE A 0407
//CARTE A 0423 - 424
//CARTE A 0427
//CARTE A 0430
//CARTE A 0433
//CARTE A 0440 - 442
//CARTE A 0449
//CARTE A 0456
//CARTE A 0479 - 488
//CARTE A 0504 - 505
//CARTE A 0508
//CARTE A 0512
//CARTE A 0515
//CARTE A 0518
//CARTE A 0521 - 523
//CARTE A 0526
//CARTE A 0531 - 533
//CARTE A 0537
//CARTE A 0539 - 540
//CARTE A 0543
//CARTE A 0545 - 546
//CARTE A 0548
//CARTE A 0558 - 560
//CARTE A 0563
//CARTE A 0566 - 569
//CARTE A 0574 - 575
//CARTE A 0578
//CARTE A 0580
//CARTE A 0582
//CARTE A 0584 - 585
//CARTE A 0588
//CARTE A 0591
//CARTE A 0594 - 596
//CARTE A 0601
//CARTE A 0606 - 607
//CARTE A 0609 - 612
//CARTE A 0616
//CARTE A 0618
//CARTE A 0633 - 634
//CARTE A 0636
//CARTE A 0649 - 650
//CARTE A 0655
//CARTE A 0657 - 658
//CARTE A 0671
//CARTE A 0677
//CARTE A 0679
//CARTE A 0684
//CARTE A 0711
//CARTE A 0714 - 716
//CARTE A 0719
//CARTE A 0722 - 723
//CARTE A 0727
//CARTE A 0729
//CARTE A 0733 - 735
//CARTE A 0740
//CARTE A 0744
//CARTE A 0750
//CARTE A 0756 - 758
//CARTE A 0777 - 778
//CARTE A 0783
//CARTE A 0791
//CARTE A 0798
//CARTE A 0800
//CARTE A 0806 - 807
//CARTE A 0816
//CARTE A 0818 - 820
//CARTE A 0823 - 824
//CARTE A 0828
//CARTE A 0831
//CARTE A 0851 - 853
//CARTE A 0866 - 867
//CARTE A 0869
//CARTE A 0872
//CARTE A 0875
//CARTE A 0877 - 878
//CARTE A 0884
//CARTE A 0887
//CARTE A 0890
//CARTE A 0896
//CARTE A 0909 - 911
//CARTE A 0921 - 922
//CARTE A 0926
//CARTE A 0930
//CARTE A 0933 - 934
//CARTE A 0936
//CARTE A 0942
//CARTE A 0944
//CARTE A 0947 - 948
//CARTE B 0950 - 951
//CARTE B 0953
//CARTE B 0962 - 967
//CARTE B 0992
//CARTE B 1051
//CARTE C 1059 - 1063
//CARTE D 1155 - 1159
//CARTE E 1251 - 1252
//CARTE E 1254 - 1256
//CARTE E 1258
//CARTE G 1314 - 1315

Total : 452/1355 33,35%
//////////////////////////////////


J'ai un peu avancé sur le sujet en refaisant la cartographie du P&P du 7ème continent sur neo4j (inutile de passer par du SQL qui impose des contraintes qui n'existent pas avec neo4j).

C'est plus ou moins le foutoir et pour l'instant, je n'ai pas encore fait l'intégralité du P&P (carte 24 sur 48). Il y a des petites évolutions de règles, en particulier les états qui maintenant sont des numéros.

Pour la première carte du P&P, ça donne ça pour l'instant :
Default

Et pour représenter le fait de tirer une carte :Default
mais je pense refaire les choses car ça ne me plaît pas trop sur certains points (cf ci-dessous).


Pour l'instant, j'ai identifié plusieurs catégories de nœuds :
- Les actions pour symboliser les pioches de carte (avec une carte de départ, une carte d'arrivée, un nombre de cartes à tirer, un nombre de succès à avoir et un type d'action)
- Les catégories d'actions (celles listées sur l'aide de jeu)
- Les cartes (avec un identifiant unique donc toutes discernables)
- Le nombre de cartes à tirer (pour les actions)
- Les cards_trait qui sont les types de carte : bonus, états, objet, malédiction, compétence
- les types de carte : action, aventure, compétence, indice, personnage
- Les numéros : 001 à 017 qui sont différents des cartes car il peut y avoir plusieurs numéros 17
- Les ressources : bois, pierre, etc
- les nombres de succès (0, 0.5 gauche, 0.5 droite, 1, 2, ...)
- Les symboles (carré, triangle, dièse)
- Les zones (1 à 10)

Toute la difficulté, est la différence entre numéros et cartes. Du coup, pour modéliser les actions, c'est assez compliqué car il y a des actions qui sont communes à des numéros (001 et 008 pour le P&P par exemple) et d'autres qui sont spécifiques à des cartes précises (cartes 017).

Du coup, j'ai un problème assez simple pour l'identification des actions, au départ, j'avais pris 001_002 pour l'action qui relie la carte 001 à la 002, mais il y  a des actions qui sont spécifiques à des cartes données (une des cartes 017 par exemple) donc je ne peux pas mettre 017_X car le lien n'existe pas pour toutes les cartes et à l'inverse, il y a des actions qui font piocher le numéro 17 qui correspond à plusieurs cartes. Et je n'ai pas de manière simple du coup de décrire l'action par un identifiant unique qui ne soit pas un bête numéro généré automatiquement.


De plus, le mécanisme des actions est assez compliqué à modéliser car il rajoute une couche entre deux cartes/numéros et est au final assez compliqué. J'ai déjà évolué trois fois sur la manière de les modéliser :

LA première version avec beaucoup trop de liens.
Default

La deuxième version (actuelle) un peu mieux mais pas encore très synthétique pour les cas où il y a échec et réussite
DefaultLa troisième version, plus synthétique mais qui rend moins tangible le lien entre numéros, tout le problème étant de trouver un nom pour le cadre orange :
Default


Si vous avez des commentaires, remarques, etc, n'hésitez pas.


 
expectral
expectral
Projet d'envergure :)

Le travail risque d'être colossal.

Ne serait-il pas plus simple, dans un premier temps, d'uniquement "dessiné" les cartes terrains du continent, puis y ajouter ensuite les actions liées a chacune des cartes terrains ?
My top
No board game found
Pit0780
Pit0780
Perso je trouve que ça rend le jeu trop calculatoire et mathématique, ce qui n'est pas sa raison d'être. Mais bon courage 😉
Eolindel
Eolindel
Pit0780 dit :Perso je trouve que ça rend le jeu trop calculatoire et mathématique, ce qui n'est pas sa raison d'être. Mais bon courage 😉

Ça ne change pas le jeu, ça le décortique. Ça peut surtout permettre de donner des réponses définitives à des questions complexes. En particulier celles liées aux meilleurs chemins pour aller d'un point à un autre.

C'est aussi pour moi l'occasion de tester les forces et faiblesses de no4j tout en décortiquant dans le détail la mécanique du 7ème continent. Je suis en train de raffiner les méthodes pour simplifier le fait de rentrer les données dans la base de données. J'ai déjà fait pas mal de petites évolutions et je suis reparti de zéro hier soir. Mais ça prend pas mal de temps pour amorcer à chaque fois : 1 à 2 journées sur un rythme "vacances". Ça permet de maintenir le cerveau occupé.

Comme dit sur BGG, le but initial est de cartographier au fur et à mesure de mes parties avant de passer à une exploration méthodique. Si j'arrive au bout du projet, (ce qui n'est effectivement pas gagné), ça pourra faire un exercice intéressant qui intéressera peut-être du monde.

En s'occupant du P&P, ça permet de tester la robustesse de mon système tout en me permettant de patienter avant la réception du jeu (n'ayant pas pris l'option ASAP ou Wave 1 )

Eolindel
Eolindel
Bon, ça avance mieux vu que j'ai créé de nouvelles couches d'abstractions qui permettent de faciliter le travail.

Pour la première carte du P&P, ça donne ça :
Default
C'est un peu monstrueux mais on s'y retrouve. Les P1_X sont les actions depuis cette carte. Les autres sont des propriétés rentrées en double en tant qu'attribut du noeud P1.

En terme de compacité du code pour obtenir ce genre de schéma :

//CARTE P1
var Card={'type':'Card','properties':{}};
Card.properties.id='P1';
Card.properties.number='001';
Card.properties.colorName='green';
Card.properties.fluff_fr="Engourdi par le froid, vous émergez sur ce qui s'apparente à un petit îlot. Vous êtes convaincu que le septième continent ne doit pas être bien loin.";
Card.properties.resources=['stone'];
Card.properties.card_type='adventure';
Card.properties.card_trait='terrain';
Card.properties.origin='pp';
$('#neo4j').append(createNode(Card));
Actions = [];
Actions.push(basicAction(Card.properties.id,'west','pathfind',1,0,'006'));
Actions.push(basicAction(Card.properties.id,'south','spot',0,0,'002'));
Actions.push(linkZone(Card.properties.id,'east','z1','003'));
Actions.push(hiddenCard(Card.properties.id,'008'));
for (m=0;m<Actions.length;m++) {
    $('#neo4j').append(createAction(Actions[m]));
}


Une visualisation "simplifiée" des même données avec les connexions sans leurs attributs :
Default
Hadoken
Hadoken
Bon ce serait bien de mettre SPOILER dans le titre,j ai du fermer les yeux en ouvrant le thread 😆


Sinon j'avoue ne pas comprendre l'intérét d'un tel boulot,la cartographie existe déjà..chez les Serious Poulp.
Puisque le jeu a éte conçu ainsi,donc pour un joueur ça n'a pas trop d'intérêt en fait.

Le plaisir du jeu c'est la découverte.Pas de savoir toutes les interactions.
Surtout pour jeu a peine ou pas sorti encore 🙄
 
My top
No board game found
Eolindel
Eolindel
Hadoken dit :Sinon j'avoue ne pas comprendre l'intérét d'un tel boulot,la cartographie existe déjà..chez les Serious Poulp.

Puisque le jeu a éte conçu ainsi,donc pour un joueur ça n'a pas trop d'intérêt en fait.

Le plaisir du jeu c'est la découverte.Pas de savoir toutes les interactions.
Surtout pour jeu a peine ou pas sorti encore 🙄
 

La cartographie a été faite par les SP, mais peut-être pas avec les même outils. J'avoue que j'aimerai bien savoir comment eux s'y sont pris et les outils à leur disposition. En tout cas, plus ça va, plus je trouve neo4j ultra puissant pour ce projet et clairement une BDD classique serait rapidement complètement dépassée pour transcrire la richesse des interactions. Le concept de "graph database" prend tout son sens ici.

Mais je ne leur ai pas encore envoyé de mail car je suppose qu'ils ont d'autres chats à fouetter (et je n'aime pas trop déranger les gens).

Après, c'est comme tout, il y a les joueurs qui ne veulent surtout pas qu'on leur donne les ficelles, astuces, etc pour découvrir le jeu à leur rythme sans rien devoir à personne et il y a ceux qui cherchent à optimiser, avoir des réponses et décortiquer les choses. Clairement, le projet s'adresse à la deuxième catégorie et devrait rebuter la première.

Personnellement, c'est avant tout l'occasion de tester neo4j sur un loisir avant de voir si je peux l'appliquer à mon boulot pour faire des cartes mentales. C'est aussi l'occasion de partager un petit truc qui n'ira peut-être jamais à son terme mais qui peux intéresser des personnes et vivre sous différentes formes. Bref, échanger.

Mais il faut bien voir que mine de rien, traiter une carte, c'est 5 à 10 minutes, donc clairement, c'est chronophage et d'une utilité très modérée mais ça m'intéresse et c'est bien le principal. Car le "travail" pour décortiquer la conception dure déjà depuis une bonne semaine et même si vu que c'est mon premier projet, je met plus de temps qu'un habitué, c'est intellectuellement super intéressant pour moi.

Phoenixeux
Phoenixeux
Moi qui suis habitué à dessiner le graph de mes LDVELH ou des BD du même type, je comprend parfaitement ta démarche. Et même intellectuellement parlant, c'est instructif, donc gogogo. :)

En revanche, ayant le jeu en main avec quelques dizaines d'heures à jouer, je t'annonce que chaque cas particulier va être une torture pour toi. ^^

Et combien même tu surpasserais ces problèmes, j'imagine mal qu'on puisse en tirer quelque chose au niveau optimisation de parcours. En effet, il y a tellement d'éléments aléatoires (issus de la pioche des compétences et autres objets trouvés) qui viennent influencer le chemin idéal, que ce me semble délicat de dire "c'est par là qu'il faut aller pour réussir rapidement". A la rigueur, avec un aventurier "vide" (sans inventaire et main), on pourrait peut-être donner un chemin par défaut. Mais il suffit de lui donner, disons, des raquettes pour marcher dans la neige, ou une amulette favorisant le repos, et ca devient d'une complexité folle.
D'ailleurs, quel intérêt d'un chemin si le niveau d'énergie (taille du Deck d'action) n'est pris en compte (il faut se reposer et se nourrir pour avancer vers son objectif)...

Enfin tu vois ce que je veux dire. J'espère ne pas te démoraliser...
My top
No board game found
skrohmagnon
skrohmagnon
Moi je viens de realiser la carte de mes explorations a l ancienne avec un papier et un crayon sur une feuille 50*60, 3*3 par carte. C est presque complet alors que je suis loin d avoir tout explorer.
Mais ca a vraiment de la gueule.
 
Eolindel
Eolindel
Phoenixeux dit :En revanche, ayant le jeu en main avec quelques dizaines d'heures à jouer, je t'annonce que chaque cas particulier va être une torture pour toi. ^^
Le système est vraiment souple et permet de vraiment traiter les cas particuliers sans grosse difficulté.  Par exemple, de ce que j'ai compris des cartes 50, il est possible de rajouter les ressources secondaires à la volée.
Et combien même tu surpasserais ces problèmes, j'imagine mal qu'on puisse en tirer quelque chose au niveau optimisation de parcours. En effet, il y a tellement d'éléments aléatoires (issus de la pioche des compétences et autres objets trouvés) qui viennent influencer le chemin idéal, que ce me semble délicat de dire "c'est par là qu'il faut aller pour réussir rapidement". A la rigueur, avec un aventurier "vide" (sans inventaire et main), on pourrait peut-être donner un chemin par défaut. Mais il suffit de lui donner, disons, des raquettes pour marcher dans la neige, ou une amulette favorisant le repos, et ca devient d'une complexité folle.
D'ailleurs, quel intérêt d'un chemin si le niveau d'énergie (taille du Deck d'action) n'est pris en compte (il faut se reposer et se nourrir pour avancer vers son objectif)...

Enfin tu vois ce que je veux dire. J'espère ne pas te démoraliser...

Oui, il y a forcément des chemins qui demandent des ajustements, mais par exemple pour la carte 015 du P&P, il est possible de voir que la carte radeau (P38) est indispensable pour y aller.

Default
J'ai fini de rentrer le P&P et je suis en train de peaufiner mes fonctions avant de passer à de l'affichage.

Pour les curieux, je peux partager mon dossier graph.db et/ou mes fonctions et pages javascript. C'est rudimentaire mais ça marche correctement.

Eolindel
Eolindel
Je suis en train de voir pour faire des rendus en direct avec vivagraph.js. C'est encore rudimentaire, mais à priori je devrais encore pouvoir avancer.

DefaultVoilà un résultat plus que primaire pour le rendu de la première carte du P&P, les couleurs sont rendues automatiquement pour les nœuds correspondant à des cartes. Les autres types de nœuds sont en bleu clair. Vu que c'est du SVG, je pense pouvoir rapidement améliorer le rendu et je vais tenter de rendre le tout interactif.

EDIT :
DefaultAvec un peu de tuning pour que ça corresponde plus à l'iconographie du jeu.
Phoenixeux
Phoenixeux
Pour une meilleure iconographie, tu pourrais éventuellement utiliser les images du site officiel ?
Dans le forum, avec la fonction "émoticones", on a accès aux principales catégories de symboles. Un clic droit et hop, tu récupères les images pour ton usage privé.
My top
No board game found
Eolindel
Eolindel
DefaultC'est effectivement beaucoup plus joli !

Le crâne est pour les cartes aventure, le logo SP pour dire que ça vient du P&P. Les flèches indiquent la position de la carte à poser.
Eolindel
Eolindel
Et maintenant, j'arrive à rendre le tout un minimum dynamique :
https://www.youtube.com/watch?v=NvBD8hcr4d8

Phoenixeux
Phoenixeux
Aaaah ! Ca commence à ressembler à un truc compréhensible par un simple futur-utilisateur !
2 questions (si c'est déjà traité dans ton modèle) :
- Comment gères-tu les restrictions sur les actions ? (cadenas rouge, liseré rouge, coût à piocher avec nombre fixe ou avec X+)
- Comment gères-tu cartes liées par des numéros cachés, des modificateurs (drapeaux souvent dépendant d'une carte possédée en Main ou dans la Besace), ou même des pioches de carte suite à une énigme sans mécanisme déterminé ?

Enfin, outre l'intérêt de la modélisation, quelles fonctionnalités facilement accessibles prévois-tu de mettre en place pour exploiter la richesse de ton graph ?
My top
No board game found
Eolindel
Eolindel
Phoenixeux dit :Aaaah ! Ca commence à ressembler à un truc compréhensible par un simple futur-utilisateur !
2 questions (si c'est déjà traité dans ton modèle) :
- Comment gères-tu les restrictions sur les actions ? (cadenas rouge, liseré rouge, coût à piocher avec nombre fixe ou avec X+)
Je rajoute simplement des contraintes (des liens ou des attributs) mais pour simplifier, je vais également les mettre en attributs du nœud correspondant à l'action pour pouvoir faire le rendu directement à partir des attributs du nœud.
- Comment gères-tu cartes liées par des numéros cachés, des modificateurs (drapeaux souvent dépendant d'une carte possédée en Main ou dans la Besace), ou même des pioches de carte suite à une énigme sans mécanisme déterminé ?
Je rajoute des liens et pour la carte 008 du P&P, tu peux voir que j'ai fait un schéma (27 à 31 secondes sur la vidéo ci-dessus) qui permet de relier les noeuds cf cartes P1 et P10 qui sont les carte 001 et 008 du P&P (lien :HIDDEN puis :REPLACE).

Default
Pour le radeau, c'est un peu plus complexe, je montre que la carte P38 (radeau) influence (liens :IF :THEN) la carte P9 (007)
Default

Pour la carte 016, toujours pareil, il suffit de créer un lien de type :ENIGME entre les cartes concernées
Default

 
Enfin, outre l'intérêt de la modélisation, quelles fonctionnalités facilement accessibles prévois-tu de mettre en place pour exploiter la richesse de ton graph ?

Je vais voir, sûrement rendre les type de liens plus explicites, représenter graphiquement les actions de manière automatique. Et après, je vais voir comment faire pour enrichir les requêtes possibles (chemin de la carte X à Y). Tout le problème étant de simplifier le graph tout en répondant à des questions complexes car le graph complet est assez indigeste. S'il y a des suggestions de questions intéressantes à représenter, je suis toute ouïe.
Pour l'instant, je pense à trois représentations :
- Une représentation "carte physique" qui montre toutes les interactions (en gros de trois type : Build pour contruire, Action pour une action, et Effect pour un effet de carte)
- Une réprésentation "interactions locales" pour les cartes exploration : comme ce qui est représenté sur la vidéo ci-dessus
- Une représentation "carte" pour une représentation du continent mais pour ça, j'ai des soucis de positionnement de nœuds non encore résolus.

Une représentation simple du graph complet juste pour le P&P, histoire montrer que sans filtre, c'est un peu incompréhensible :
Default
Alors qu'un peu mieux filtré, c'est déjà moins brouillon :
Default
(Au passage, ça montre le niveau de connectivité du graph qui est déjà ultra dense sur seulement le P&P !)

Phoenixeux
Phoenixeux
Merci pour tes explications claires (pour peu qu'on s'y connaisse un peu de logique informatique et/ou mathématique).
Ton travail est remarquablement structuré pour selon que tu sembles développer en itération, un problème après l'autre. C'est d'ailleurs pour ça que je t'ai posé la question de la finalité, des fois que l'exploitation du graph demande d'anticiper plus en amont le découpage attributs/liens/etc...
 
Eolindel dit : S'il y a des suggestions de questions intéressantes à représenter, je suis toute ouïe.

Pour l'instant, je pense à trois représentations :
- Une représentation "carte physique" qui montre toutes les interactions (en gros de trois type : Build pour contruire, Action pour une action, et Effect pour un effet de carte)
- Une réprésentation "interactions locales" pour les cartes exploration : comme ce qui est représenté sur la vidéo ci-dessus
- Une représentation "carte" pour une représentation du continent mais pour ça, j'ai des soucis de positionnement de nœuds non encore résolus.

Je ne suis pas tout à fait sûr de bien saisir les "vues" que tu proposes. J'attendrai ta 2ème vidéo. ;)

Quelques questions d'utilisateur :
- Quel est le parcours le moins coûteux de AAA vers BBB, en considérant que j'ai crafté des raquettes pour la neige ?
- Quel est le parcours le moins risqué de AAA vers BBB (c'est à dire en minimisant la distance d'un point de Chasse) ?
- Pour un parcours de AAA vers BBB, indique-moi le nombre d'évènements aléatoires minimum (carte Exploration) et la moyenne de coût d'énergie imposé par ces évènements ?
- Affiche-moi les objets liés à la quête X et les terrains/Evènements associés le cas échéant.

C'est du vrac. Je me doute que c'est pas forcément judicieux. Mais c'est un premier jet, façon méthode itérative. ^^

My top
No board game found
Eolindel
Eolindel
Phoenixeux dit :Quelques questions d'utilisateur :

1 Quel est le parcours le moins coûteux de AAA vers BBB, en considérant que j'ai crafté des raquettes pour la neige ?
2 Quel est le parcours le moins risqué de AAA vers BBB (c'est à dire en minimisant la distance d'un point de Chasse) ?
3 Pour un parcours de AAA vers BBB, indique-moi le nombre d'évènements aléatoires minimum (carte Exploration) et la moyenne de coût d'énergie imposé par ces évènements ?
4 Affiche-moi les objets liés à la quête X et les terrains/Evènements associés le cas échéant.

1 ça doit être faisable même s'il faut être un peu malin je pense.
2 ça ce sera plus dur à faire, la notion de moins risqué étant assez complexe à définir.
3 ça ça devrait être facile
4 ça aussi je pense mais idem, si j'ai bien compris la quête peut débloquer un ensemble de terrains/cartes donc à priori toucher pas mal de cartes.

Je suis en train de refaire le système pour pouvoir simplifier les requêtes en dupliquant l'information  en mettant aussi en propriété les liens simples concernant les actions/constructions et effets. (nombre de cartes à tirer, type d'action, nombre de succès au minimum).

Mais pour le moment, je ré-écrit mon code pour qu'il soit un peu plus clair et me permette de faire des trucs qui ne marchent pas encore et ensuite je vais m'attaquer aux trois "vues" sus-citées. Il va surtout falloir que je travaille sur les cartes objets et actions pour lesquelles je n'ai pas encore trop géré l'affichage.

 

ImDarK
ImDarK
Très sympa ce projet je suis ça de loin :)
Eolindel
Eolindel
Vu que j'ai reçu le jeu hier, j'ai pu commencer à faire la cartographie du jeu complet. J'en suis à une trentaine de carte répertoriées en environ 3h. Forcément, ça m'a pris beaucoup plus de temps pour amorcer la machine. Je pense que ça va me prendre 2 à 3 minutes en temps de croisière par carte.

J'ai traité uniquement les cartes aventure et exploration correspondant à ma partie en cours pour le moment. Je vais procéder comme ça jusqu'à avoir exploré au maximum le 7ème continent en jouant.

 
Phoenixeux
Phoenixeux
Spécialement pour toi, considère que tu possèdes la carte suivante dans ta besace :
 

Topographe

A chaque fois que vous relevez complètement une carte du jeu dans votre système de cartographie futuriste, vous pouvez entreprendre l'action suivante :

[Cadenas] [Action Observer] 1/0 :
Choisissez une carte de la défausse et mélangez-là dans votre deck d'Action.

Pour réaliser le suivi exact des cartes que tu as déjà relevées ou non, n'oublie pas la liste des cartes avec ID qui est téléchargeable sur le site officiel. :)
My top
No board game found
Eolindel
Eolindel
C'est déjà plus ou moins ce que je fais. Mais je tiens à jour une liste des cartes déjà traitées.
Eolindel
Eolindel
Deuxième session, j'avance doucement, pour l'instant, j'en suis à 8,6 % des cartes répertoriées (mais répertorier les 001 fait vite avancer le compteur à moindre coût)). J'ai encore de petites modifications à faire à mon code pour améliorer les choses, mais je n'ai pas vu de grosses difficultés sur les cartes déjà répertoriées liées à des instructions trop difficiles à transcrire avec mon système.

La liste des cartes répertoriées est en tête du sujet.
Eolindel
Eolindel
Troisième session, le rendu de la carte totale commence à faire pleurer mon ordinateur.

DefaultPour ceux qui avaient des doutes, le réseau est quand même archi bien maillé avec une structure complètement non linéaire.

J'en suis à 11,2% des cartes répertoriées.
Phoenixeux
Phoenixeux
11,2% et l'ordi couine ? Du genre prêt à planter après un ralentissement de 3h50 ? Ou juste un freeze qui choque la fluidité habituelle ? Ce serait dû aux images ou aux boucles dans ton code ?

En tout cas, ça donne plutôt bien ! (si tu as l'image HD sans refaire le rendu, je veux bien le lien)

2 remarques :
- A quoi correspondent les couleurs des cartes brunes ou rouges ?
- Un exemple de rendu possiblement intéressant : peux-tu afficher uniquement les cartes Terrain positionnées orthogonalement avec leur position réciproque (Nord/Sud/Est/Ouest) ?
My top
No board game found
Eolindel
Eolindel
Du genre ça a ralenti au moment du lancement mais avec mon ordi pas mal sollicité à côté et au final ça le fait. C'est une des forces de vivagraph.js : le moteur est plus rapide que D3.js et encore, il y a une option webgl mais je reste en svg que je maîtrise beaucoup plus pour la personnalisation du rendu.

Pour les couleurs, le marron qui tire sur l'orange (#aa4400) c'est les terrains, le marron "caca" (#a2786f) c'est les événements permanents et le jaune moutarde (#cbad39) c'est les événements temporaires. C'est pas très chouette mais c'était juste pour voir.

Pour le positionnement, je n'ai pas encore de solution pour forcer le positionnement relatif, j'aimerai bien le faire, mais si c'est le cas, il y aura des limitations avec les cartes multiples ayant le même numéro. Et je peux difficilement positionner de manière absolue toutes les cartes. J'ai fait des tentatives mais qui ne donnent rien pour le moment.


Pour l'image :
http://eolindel.free.fr/images/7th%20Continent_full.svg à enregistrer, chez moi firefox ne rend pas bien l'image du tout.

http://eolindel.free.fr/images/7th%20Continent_full.pdf le pdf qui est pas aussi joli que le rendu de base avec vivagraph et qui n'est pas dynamique mais qui donne une bonne idée de l'image

Mais l'image ne représente qu'un petit sous-ensemble des données il y pour l'instant 1400 noeuds avec 4900 attributs et 1800 relations entre ces noeuds qui sont de 24 types différents.
Eolindel
Eolindel
Je n'ai pas trop eu le temps de jouer cette semaine mais j'ai un peu avancé sur les cartes actions ce qui fait que j'en suis à 200 cartes tout pile répertoriées et donc 14,76% du jeu traité. J'espère pouvoir finir les cartes compétences de personnage et action dans le week-end mais c'est ambitieux.

Je mets à jour la liste des cartes dans le premier post.

 
Phoenixeux
Phoenixeux
Eolindel dit :[...] 1800 relations entre ces noeuds qui sont de 24 types différents.

C'est justement ce que j'étais en train de me demander : le nombre de types de relation.
Alimenter ton système demande d'être super attentif sur le type de lien utilisé, d'être suffisamment précis dans leur dénomination et de les appliquer à bon escient, tout ça sans pour autant multiplier à tout va des nouveaux types car les requêtes futures seront d'autant plus complexes à composer...

Par exemple, j'ai vu des liens de type [... HAS ...] (avoir/posséder en français).
Une carte possède une ressource (basique ou secondaire comme les algues ou les tombes, ce qui est déjà une distinction potentiellement embêtante). Mais dans le système, on a aussi vite fait d'utiliser un lien avec ce nom pour plein d'autres usages.

24 types me parait plutôt un bon équilibre (à la louche), ce qui est de bon augure pour tes choix... sauf si tu multiplies les usages pas assez finement. no
Merci pour l'image et bon courage pour ta session du week-end !

My top
No board game found
Eolindel
Eolindel
Forcément, la manière de symboliser les choses ne permet pas toujours de retranscrire les effets sous forme de graphe. Par exemple, pour le craft, le fait que s'il y a du bois ce soit -1 ou de l'os -2, c'est deux choses en parallèle alors que ça devrait être deux trucs linéaires.

DefaultIci, on ne sait pas si c'est la liane ou le bambou qui font le -3 par exemple, mais pour l'instant, je n'ai pas trouvé de manière simple de rendre les choses et je préfère être légèrement imprécis. Pareil, les SP ont été suffisamment inventifs pour que rendre compte de certains textes compliqués soit très difficile sous forme schématisée.

Du coup, je pense que je manque 5 à 10 % des détails mais il sera toujours possible d'améliorer les choses plus tard.

Après, les différents types de relations utilisés sont les suivants :

Links.push({'hid':'ACTION','properties':{'fr':"Action",'en':"Action"}});
Links.push({'hid':'ACTION_TYPE_IS','properties':{'fr':"Type d'action",'en':"Type of action"}});
Links.push({'hid':'BUILD','properties':{'fr':"Construire",'en':"Construire"}});
Links.push({'hid':'CARD_NUMBER_IS','properties':{'fr':"Numéro de carte",'en':"Card number"}});
Links.push({'hid':'CARD_TRAIT_IS','properties':{'fr':"Facette de la carte",'en':"Trait of card"}});
Links.push({'hid':'CARD_TYPE_IS','properties':{'fr':"Type de carte",'en':"Type of card"}});
Links.push({'hid':'COMES_FROM','properties':{'fr':"Viens de",'en':"Comes from"}});
Links.push({'hid':'CONSTRAINT','properties':{'fr':"Contrainte",'en':"Constraint"}});
Links.push({'hid':'BANISH','properties':{'fr':'Bannir et mettre une carte jaune de même numéro','en':'Banish and put golden card'}});
Links.push({'hid':'ENIGMA','properties':{'fr':"Énigme",'en':"Enigma"}});
Links.push({'hid':'FAILURE','properties':{'fr':"En cas d'échec",'en':"If failure"}});
Links.push({'hid':'HAS','properties':{'fr':"a la resource",'en':"has the resource"}});
Links.push({'hid':'HIDDEN','properties':{'fr':"Carte cachée",'en':"Hidden card"}});
Links.push({'hid':'IF','properties':{'fr':"Si",'en':"If"}});
Links.push({'hid':"MOVE_TOGETHER",'properties':{'fr':'Aller collectivement','en':'Go together'}});
Links.push({'hid':"MOVE",'properties':{'fr':'Mouvement','en':'Movement'}});
Links.push({'hid':"MODIFIES",'properties':{'fr':'Changé par','en':'Modified by'}});
Links.push({'hid':'NB_CARDS','properties':{'fr':"Nombre de carte à prendre",'en':"Number of cards to pick"}});
Links.push({'hid':'NB_SUCCESS','properties':{'fr':"Nombre de succès à avoir",'en':"Number of stars to get"}});
Links.push({'hid':'PICK','properties':{'fr':"Prendre la carte",'en':"Pick the card"}});
Links.push({'hid':'PLACE','properties':{'fr':"Mettre la carte en jeu",'en':"Place the card"}});
Links.push({'hid':'POSITION','properties':{'fr':"Position",'en':"Position"}});
Links.push({'hid':'REPLACE','properties':{'fr':"Remplacer par une carte de même chiffre",'en':"Replace by same number"}});
Links.push({'hid':'REPLACE_BY','properties':{'fr':"Remplacer par la carte",'en':"Replace by the card"}});
//Links.push({'type':'RESOLVE','properties':{'fr':"Résoudre une carte exploration",'en':"Resolve exploration card"}});
Links.push({'hid':'SUCCESS','properties':{'fr':"En cas de succès",'en':"If success"}});
Links.push({'hid':'THEN','properties':{'fr':"Alors",'en':"Then"}});
Links.push({'hid':'TRIGGER','properties':{'fr':"Déclenche",'en':"Triggers"}});
Links.push({'hid':'USE','properties':{'fr':"Utiliser",'en':"Use"}});
Links.push({'hid':'ZONE_IS','properties':{'fr':"Zone correspondante",'en':"Corresponding zone"}});

Phoenixeux
Phoenixeux
Je ne sais pas si tu connais l'UML (Langage de Modélisation Unifié) ni si son fonctionnement est reproductible dans ton système, mais intuitivement, pour les relations Objet-à-crafter et Ressource, je verrai un lien de dépendance comme ceci :

e79b307b57c57c7f2831f040e6d10fb131cf.png
A un Objet donné, la Ressource fournie une Réduction de telle valeur.
Et on aurait ainsi pour une Ressource, tous les liens vers les Objets avec les Réductions associées.
My top
No board game found
expectral
expectral
Ca me rappelle tellement de fun l'uml :D 
My top
No board game found
Phoenixeux
Phoenixeux
expectral dit :Ca me rappelle tellement de fun l'uml :D 

Et moi donc !! yes
Pour la création du Fan-site (devenu finalement le site officiel avec des fonctionnalités assez différentes), j'avais planché sur un début de réflexion en UML (très très incomplet) :
e79b307b57c57c7f2831f040e6d10fb131cf.png

Et puis par la suite, comme on envisageait de demander aux joueurs de saisir les cartes rencontrées en jeu, j'ai conçu ce formulaire dont l'arborescence des questions dessine de fait les liens et attributs des cartes :
Formulaire test "Création d'une carte"

Tout ça c'est du prototype pour mieux réfléchir, et il ne faut pas faire confiance au contenu qui date d'il y a un moment. Mais c'est sait-on jamais si une seule info peu t'aider dans ton projet ? :)
 

My top
No board game found