Messagerie


Cheminement

Menestroll
lundi 22 février 2016 à 11:45
Bonjour à tous !


Je me suis fixé comme devoir de vacances l'élaboration d'un prototype du Tock (une variante des petits chevaux que je recommande à tous !)


Je suis en train d'explorer un peu toutes les fonctionnalités que je vais devoir développer (plus ça avance plus je sens que cela va être ardu, notamment le multijoueur)

Pour le moment, je m’intéresse au système de déplacement case par case. Je pensais exploiter le système de cheminement : un noeud représente une case.
Je me tourne vers cette solution durant le jeu le joueur va avoir le choix entre rentrer sa bille dans l'écurie ou bien refaire un tour de plateau. Je pensais calculer ça de cette manière la : Si (N° noeud position arrivé - N°nœud position bille) > Valeur déplacement bille alors fixer drapeau OFF
Si drapeau OFF alors brancher bille au noeud n°1


Problème je n'arrive pas à récupérer le n° des noeuds dans le tableau d'évènement. Quelqu'un aurait une idée ? ou une solution alternative ?


Je cherche aussi un système pour distribuer des cartes. Comment écarter 10 valeurs aléatoires parmi 52 ?


Bonne journée à tous,
Menestroll


PS : je ferai un mfa quand j'aurai quelques minutes, mais pour le moment je bosse surtout sur papier. je vérifie juste la viabilité de mes pistes sur mmf2.
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 22 février 2016 à 12:03
bonjour ça peu être intéressante j ai regarde la régle sur se lien je c est pas si c est bon ICI
je pense que le faire avec les noeud sera pas le bon truc a faire.
Menestroll
lundi 22 février 2016 à 12:09
Oui c'est bien ce jeu la.
Je le recommande à tous au passage, très bonne replay value, un gameplay bien plus enrichi que les petits chevaux, et on joue en équipe de deux. Des années que j'y joue sans me lasser :)


C'est vrai que le mode cheminement est surement pas très optimisé. Surtout que cela impliquerait que je fasse un chemin pour chacune des équipes (soit 4 chemins de plus de 60 cases.
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 22 février 2016 à 13:10
si non du peu de basée sur exemple que a fait Kloug ICI
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 22 février 2016 à 14:01
voila pour toi j ai fait ça pour les choix des carte tout et pas encore réglés mais comme il et l heure que je part au travaille je finirez demain

a bientot
Pièces jointes
denisstephane
lundi 22 février 2016 à 14:02
C'est vrai que le cheminement est pas simple a utiliser ici.
Par contre pour récuperer des noeuds,il faut déja les nommer.Ce ne sont pas des valeurs mais des noms.
Pour les nommer,il faut faire un click sur les points en mode edition et choisir renommer.
Xsoul
lundi 22 février 2016 à 15:21
Ce qui me paraît le plus simple c'est d'avoir des colliders des 4 côtés pour chaque objet qui peut se déplacer sur la grille et regarder s'il est au dessus d'une case où il peut se déplacer

Et après utiliser l'objet Easing object pour déplacer ton objet de là où il est au point d'action de la case adjacente avec un mouvement personnalisé et fancy ;)
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 22 février 2016 à 17:06
Ce que je trouves embêtant avec le mouvement Cheminement' c'est le manque de précision quand on le paramètre. J'airais bien aimé pouvoir placer les nœuds au pixel prêt, avec des cordonnées par exemple et/ou une grille aimantée.
Menestroll
lundi 22 février 2016 à 23:36
Merci pour l'exemple sur les cartes ! Je vais plonger le nez dedans pour comprendre tout ça avant de l'utiliser.


J'ai mis de côté le système de cheminement pour me concentrer sur un déplacement case par case comme le preconisait XSoul



En fait je cherche à faire un pathfinding de ce genre https://www.youtube.com/watch?v=M0LO33ybg-g


Quelqu'un saurait m'aiguiller ?
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 23 février 2016 à 12:41
Bonjour tu peu aussi utiles deux extension pour sortie les numéro de carte sans qui a le mème numéro leur nom et (Random Pool et Random Multipool object).
il y a aussi la solution de mettre tout les actif des carte au mème endroit et de le demande de prendre 10 carte  au hasard. 
Menestroll
mardi 23 février 2016 à 13:44
Merci Emmanuel, je vais regarder ça, mais si je peux je privilégie les solutions ne nécessitant pas d'extensions :)


D'ailleurs à ce propos, quelqu'un a-t-il déjà utilisé le PathfindingObject ?
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mercredi 24 février 2016 à 16:41
Bonjour, j'arrive à la bourre, comme d'hab.
Je pense que la solution de Xsoul peut être sympa (fichier joint).
Le Pathfinding est une vieille marrote, je te souhaite bien du courage si tu débute avec le logiciel... mais tout est possible.
Je n'ai pas joué au jeu de Tock, mais je ne pense pas qu'un pathfinding soit nécessaire.
Pour le tirage des carte, je te conseille de zieuter mon mfa "Tirage aléatoire discriminant" ici : http://comptoir-mmf.eu/Forum/index.php?topic=1371.0
J'ai ajouté une variante avec tirage de carte
++
Modifié le mercredi 24 février 2016 à 16:56 par Patrice
Pièces jointes
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mercredi 24 février 2016 à 17:09
Rhooo, j'avais pas vu l'exemple d'Emmanuel, quel génie ce type !!! :bravos
J'ai ajouté mon système de visualisation des cartes sur son exemple.
Pièces jointes
Kloug
1497 messages
Fusion 2.5
mercredi 24 février 2016 à 17:19
Salut,

Merci pour le lien, le jeu à l'air fun.

Avec un klik soft, on peut résoudre une problématique de deux façons, schématique, ou codée.

Pratiquant plus le monopoly ou le cluedo, je pense que tu compliques la méthodologie.

A mon humble avis laisse tomber le Path, pour le moment.

Le déplacement se fait via des cartes, cela ne change rien au principe de base.
http://biblioklik.free.fr/MMF2/04sources/ashe/DepDes/DepDes_CR.7z

Une case représente une boite pas un nœud.

Pour le cluedo la distribution des cartes (3 joueurs, 3 cartes cachées) se résout sans forcer, avec 9 lignes de façon schématique.

Le mieux est de réaliser son moteur, car le meilleur moteur est celui que l'on comprend de A à Z.

A+
Menestroll
mercredi 24 février 2016 à 18:40

Salut,

Avec un klik soft, on peut résoudre une problématique de deux façons, schématique, ou codée.

Pratiquant plus le monopoly ou le cluedo, je pense que tu compliques la méthodologie.

A mon humble avis laisse tomber le Path, pour le moment.

Le déplacement se fait via des cartes, cela ne change rien au principe de base.
http://biblioklik.free.fr/MMF2/04sources/ashe/DepDes/DepDes_CR.7z

Une case représente une boite pas un nœud.

Pour le cluedo la distribution des cartes (3 joueurs, 3 cartes cachées) se résout sans forcer, avec 9 lignes de façon schématique.

Le mieux est de réaliser son moteur, car le meilleur moteur est celui que l'on comprend de A à Z.



Je suis bien d'accord Kloug (j'avais déjà retenu cette phrase en lisant tes tutos). D'ailleurs la première chose que j'ai faite c'est de prendre une feuille de papier et imaginer mon code.


J'ai déjà réfléchi à un système case par case mais à mes yeux ça ne couvre pas tous les besoins que j'ai.


En déplacant ma bille je peux :
- avancer
- manger une bille en tombant sur la même case (ou en passant dessus si un 7 est joué)
- rentrer ma bille dans l'écurie ou refaire un tour de plateau
- échanger avec une autre bille


Un bille qui vient de sortir de l'écurie bloque les autres billes tant qu'elle n'a pas été déplacée.


Du coup j'ai besoin de calculer le nombre de case (dans la limite de 13 cases)
- entre ma bille et l'arrivée
- entre ma bille et la bille qui bloque le passage


Pour ensuite permettre au joueur de poser une carte inférieur au nombre de case qu'il reste (si il est bloqué) ou de refaire un tour de plateau.


Encore bravo pour le tirage de carte c'est au poil !
Kloug
1497 messages
Fusion 2.5
mercredi 24 février 2016 à 19:01
Ayant un peu d'expérience, je n'utiliserai pas le système liste pour la distribution des cartes...

Le déplacement case par case est le meilleur compromis.

Une fois le moteur de déplacement case par case au point (finalisé), tes cases sont simplement des "boites", une boite représente une ou des valeurs, numériques ou alphanumériques.

A l'aide de ces valeurs on met au point des restrictions, par exemple la case prison au monopoly a deux fonctions.

Suivant les restrictions (filtres) ta case, doit avoir plusieurs fonctions, ce n'est pas compliqué à faire suivant les situations, il suffit de faire des tests.

Bon courage pour la suite.

Édit: Pour la distribution des cartes, je préfère utiliser principalement un actif. Un obstacle est une restriction ("préprogrammée"), on se retrouve donc avec une case libre ou non libre, suivant la situation, n'ayant aucune formation dans le domaine du jeu vidéo, de la programmation, je me permets de préciser, n'hésitez pas à me reprendre si mes explications sont mauvaises.

En gros le déplacement des pions, doit modifier la ou les valeurs des cases, "boites", d'après les valeurs on réalise les conditions dans le klik tableau.

Voilà la procédure logique et basique pour un klik codeur, évidemment, il est possible d'améliorer le principe quand les pions trimbalent aussi des valeurs.

Cluedo Free:
Exemple de distribution des cartes du Cluedo ( 3 joueurs) de façon schématique >> 7 lignes.
https://www.dropbox.com/s/d4gxg3ltm6ct36j/Cluedo_Free.mfa?dl=0

De façon (hard) codée cela devrait tourner autour des 2, 3 lignes.
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 25 février 2016 à 11:58
Merci Patrice d avoir fini a ma place.  :-*
voila une autre méthode pour la Distribution comme j ai dit dans le message des fois il ne faut pas trop chercher loin.  :P
Pièces jointes
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 25 février 2016 à 13:35
Genius  :bravos
Kloug
1497 messages
Fusion 2.5
jeudi 25 février 2016 à 20:47
Hello!

:D

La distribution des cartes se fait normalement à l'aide de 2 lignes.

Le klik tableau a des limites, le mieux est de débuter avec le moins d'actifs possibles, c'est plus lisible.

Exemple de distribution, avec en prime l'identification des cartes, etc.
https://www.dropbox.com/s/sjkwifrq2obeegt/Playing%20Cards.mfa?dl=0

8)

A+
Menestroll
samedi 27 février 2016 à 17:03
Bonjour à tous !


J'ai continué à bosser sur mon pathfinding. Contrairement au conseil avisé de Kloug, j'ai repris un moteur déjà existant dans une archive que j'ai trouvé sur le net qui s'appelle AutoTiles par Adam Sketchy (http://biblioklik.free.fr/MMF2/04sources/sources05.htm) Il y a de très bons exemples, notamment celui du déplacement au tour par tour que je me suis permis de reprendre.


J'ai compris la manière dont il prévoit son pathfinding (ce qui m'a pas mal rassuré car j'envisageais la chose de la même manière) mais bien entendu pas mal de choses me dépassent. Je commence à me débrouiller avec les tableau et les boucles, mais il y a une ligne qui me laisse perplexe, c'est la ligne 17 qui lance une boucle -1 fois ! Je trouve ça plutôt curieux, si quelqu'un à un avis.




Du coup je vous partage mon prototype en PJ. (Je tiens à préciser que je n'ai fait que des retouches sur le moteur de Sketchy.)
Pour le moment, il est possible de lancer un dès de déplacement et d'avancer suivant la valeur correspondante.
Maintenant, il faut que j’intègre des contraintes de direction :
- Reculer quand le dès = 4 (probablement fixer la direction à -1 non ?)
- Prendre le chemin de l'écurie
- Désactiver le déplacement si la valeur est trop grande.


Je compte bientôt intégrer la distribution des cartes, mais je n'ai pas encore décidé quelle solution me plaisait le plus  :D


Bonne journée,
Menestroll
Pièces jointes
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 30 visiteurs au total

Derniers messages