La Quête des Héros

Pour partager vos applications (Excel, Calc et Google Sheets) avec les autres membres
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'665
Appréciations reçues : 322
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 26 janvier 2020, 22:03

Bonsoir @ tous !

Pour fêter mon nouveau record de téléchargement mensuel (et oui le 9543 vient d'être dépassé ! :lole: ) j'ouvre ce soir un sujet sur mon prochain (actuel, il est déjà commencé ! :lol: ) projet :
L'adaptation d'un jeu de plateau sur Excel : Hero Quest
heroquest.jpg
heroquest.jpg (38.78 Kio) Vu 899 fois
Je vous avoue que je commence à me rendre compte de mes capacités réduites en programmation, mais cela avance... Au moins au niveau Apparence !
Voici un screenshot :
La Quête des Héros.jpg
Bon la qualité de l'image n'est pas là mais sur l'écran ça rend plutôt pas mal ! :P
Sur cette image qui est prise lors de la première quêtes (un labyrinthe où les héros doivent se retrouver et découvrir un escalier qui va les mener vers de nouvelles aventures !), on peut y voir les 4 héros : le Barbare, le Nain, l'Elfe et l'Enchanteur. D'ailleurs c'est l'Elfe qui est en cours de jeu du fait de la "lumière" autour de lui, ainsi que le repère bleu sur son nom à droite de l'image.
Les Héros sont séparés, car ils sont partis chacun de leur coin. D'où le fait de devoir se retrouver !
Les monstres sont absents de l'image, mais ils sont bien là, il y en a 8 plus Le Seigneur Des Ténèbres :
les lutins, petits et espiègles, les Orcs coriaces et voraces, les Fimirs puissants et sans état d'âme, la famille des "revenants" avec les Squelettes, les Momies et les Zombis, tout ce petit monde surveillé par les Guerriers du Chaos et les Gargouilles !
Ce premier niveau est fait pour s'adapter à l'application...
Le principe est celui de mon démineur : je met en "papier peint" l'image du niveau et grâce à la mise en forme des cellules je peux afficher ou pas une partie de cette image. Du coup il existe un brouillard d'aventure qui empêche le joueur d'anticiper ce qui va arriver à son héros. C'est le principe du jeu de plateau : le maitre du jeu ne met les éléments de décors qu'une fois que ceux-ci sont visible par au moins un des joueurs Héros.

Le seul soucis c'est le temps que je peux y consacrer, mais en discutant ici et là sur le forum (ECG par exemple) j'arrive à surmonter les petits et gros problèmes que me pose ce petit jeu.

Alors je vous dis à plus tard, en espérant ne pas mettre trop de temps.

@ bientôt

LouReeD
1 membre du forum aime ce message.
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
E
ExcelCoreGame
Membre fidèle
Membre fidèle
Messages : 425
Appréciations reçues : 14
Inscrit le : 24 octobre 2017
Version d'Excel : 2007FR

Message par ExcelCoreGame » 27 janvier 2020, 22:27

Yeah la classe :)

Je regarde un peu le A* d'ailleurs pour le faire sur excel, cela devrait le faire ^^

Courage !
1 membre du forum aime ce message.
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'665
Appréciations reçues : 322
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 27 janvier 2020, 22:31

Bonsoir et merci !

En fait le A* ressemble un peu à la "propagation des cellules blanches" du démineur... On regarde si on peut y aller, si on peut pas on revient en arrière et on recommence. Après on s'arrête au chemin qui nous rapproche le plus vite du joueur...

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
E
ExcelCoreGame
Membre fidèle
Membre fidèle
Messages : 425
Appréciations reçues : 14
Inscrit le : 24 octobre 2017
Version d'Excel : 2007FR

Message par ExcelCoreGame » 27 janvier 2020, 22:39

Le démineur un peu la même chose exactement ^^, on y rajoute un aspect de "cout" pour savoir le chemin le plus rapide

Y a pas mal de vidéo sur le net la dessus de toute façon
Et le A* n'est pas le seul algo de calcule de chemin si j'ai bien compris mais le plus populaire en tout cas :)
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'665
Appréciations reçues : 322
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 28 janvier 2020, 17:55

Bonjour,

En plus l'algo de déplacement des monstres n'est pas obligé d'être "intégral" dans le sens où eux aussi sont limité en déplacement, donc pour certain seul 8 cases sont à trouver ! ;;)
Ce qui va me facilité la tâche je pense. Le seul truc c'est de vérifier que le monstre en question va bien aller sur un joueur visible de sa zone et qu'il n'ira pas vers un joueur qui pourrait se trouver sur une zone distincte de la sienne et qu'il y ait des cellules cachées entre eux. Mais ça c'est une autre histoire, d'autant plus que je crois que les monstres ne quitte pas une pièce tant qu'il reste des joueurs à l'intérieur ! Mais pour ça il faut que je relise les règles.

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
E
ExcelCoreGame
Membre fidèle
Membre fidèle
Messages : 425
Appréciations reçues : 14
Inscrit le : 24 octobre 2017
Version d'Excel : 2007FR

Message par ExcelCoreGame » 28 janvier 2020, 23:52

C'est sur que juste 8 cases max pour les monstres ça limite la chose mais un A* avec une modif en plus fera l'affaire quand même
Par contre lui le joueur se déplace comment? il peut traverser la map en automatique via un A* ou pas?ou déplacement limités aussi?
Tant que tu trouves une solution technique A* ou pas c'est good de toute façon :)

Pour les monstres il te faut un attribut pour savoir si le joueur à vu ou non le joueur et donc s'il se déplace j'imagine yes dans une variable ou simplement si cela suffit juste en regardant si la shape est visible ou pas, c'est que le monstre est actif ou pas

Et peut être plus ... dans le sens ou si un joueur voit un monstre et meurt, comment cela se passe après?
- il va que sur les autres joueur de l'équipe proche de lui?
- il va n'importe ou sur la map tant que le chemin est dégagé?
- il va n'importe ou sur la map même si le chemin est pas dégagé pour punir les joueurs qui avancent trop vite sans être assez fort?
- il revient à sa position de départ?reste sur place?

il faut revoir les règles ou en inventer yes et cela influencera ton code c'est sur ^^

En gros avec un A* pour tes soucis c'est ok je dirais:
1. 8 cases max
Tu calcules le chemin avec l'algo de base, une fois le meilleur chemin trouver au lieu d'avancer de toute les cases point A au point B avec un simple compteur tu arrêtes le déplacement au bout de 8 cases

2. Vérifier qu'il y ait des cellules cachées entre ton joueur et ton monstre
Que ce soit des mur, porte fermée ou brouillard de guerre, pour l'algo A* c'est la même chose, la case ne sera pas possible au déplacement donc pas de chemin possible donc pas de mouvement

Et comme on disait, l'A* y a pas mal de truc sur le net donc je pense autant comprendre et le faire sur excel plutôt que de coder un truc perso moins réutilisable mais si tu as tout en tête c'est toi qui voit :D
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'665
Appréciations reçues : 322
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 29 janvier 2020, 00:15

Bonsoir,

j'y ai travaillé un peu aujourd'hui, cela marche bien sauf sur un ou deux truc.
Pour ce qui est des règles c'est simple : un monstre non découvert (un monstre est découvert lorsqu'un joueur entre dans une pièce ou un passage qui "s'allume") ne bouge pas et n'est même pas gérer par le code.
Une fois découvert, les joueurs ne peuvent pas faire "d'action" dans la pièce ou le passage tant qu'il y a des monstres, donc combat s'ils veulent trouver des choses. Le déplacement des monstres est donc fait pour aller au contact des joueurs pour les attaquer, seul les joueurs peuvent "fuir".

Le 8 était un exemple, en fonction du monstre ce déplacement est variable.
Donc pour le déplacement du monstre :
- il est forcément "visible" d'un joueur car c'est le joueur qui allume la partie de la map où se trouve le monstre
- à son tour de jeu, déplacement pour se rapprocher du joueur présent dans la zone allumé, il n'ira pas courir vers un autre joueur si celui-ci n'est pas dans la zone allumée.
- une fois sur l'une des 4 cases possibles en vertical ou horizontal, le combat pourra commencer.
- un monstre qui attaque ne se déplace pas à l'issue, mais il peut se déplacer avant puis attaquer.
- une fois mort, le monstre disparaît.

Certaine aventure prévoit un monstre qui s'échappe pour attirer les joueurs vers un piège, mais là ça commence à être trop pour moi ! ::(

Surtout que j'essaie de faire que l'application soit évolutive, j'entends par là que les utilisateurs puissent faire leur propre quêtes et ce le plus simplement possible, voir avec la possibilité de faire des "exportations" de feuilles Excel qui contiendraient la map de la quête, ainsi que les données de jeu, et que ce soit compatible avec le module de base... Mais là je rêve ! :lol:

Vu ma construction du classeur ce n'est pas impossible :
- une feuille d'affichage du jeu (qui serait alors communes à toutes les quêtes, seul l'image d'arrière plan changerait)
- une feuille Map qui défini les point de blocage (mur, zone de la map inaccessible, mobilier...) position des monstres, positions des portes, position des bonus et des pièges etc, et tout ceci avec un code numérique :
0 mur, 1à9 les différents monstres, par dizaine 10,20 etc jusqu'à 90 les 9 types de porte qui avec 10 est fermée à clef et 11 est ouvrable, à partir de 100 ce sera le reste, mobilier, passage secret, coffre, équipement, "événement" etc...
- une feuille paramètre, avec la définition des différentes zones à allumer, c'est grâce à elle que lors d'un déplacement dans un couloir, le couloir s'allume au fur et à mesure de l'avancée du joueur, par exemple le jouer se trouve en B2, cela allume C2 et D2, et là en D2 il y a une porte, et s'il ouvre la porte alors c'est D4:G8 qui s'allume. En plus il y aurait toutes les données texte en fonction des numéro de la MAP : numéro 110 = texte "vous taper dans une pierre, mais en fait c'est un rubis ! 50 Po !"
Donc un "éditeur" pourrait faire ces deux feuilles excel avec toutes les données, il suffirait de les coller dans le classeur jeu et hop ! une nouvelle quête !

Voilà l'idée ! :-)

@ bientôt

LouReeD
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
E
ExcelCoreGame
Membre fidèle
Membre fidèle
Messages : 425
Appréciations reçues : 14
Inscrit le : 24 octobre 2017
Version d'Excel : 2007FR

Message par ExcelCoreGame » 29 janvier 2020, 22:50

Yes un éditeur de level serait super !
Et pour le déplacement, les monstres ne se déplaçant pas en diagonale cela simplifie pas mal les calcules je pense
Avatar du membre
LouReeD
Contributeur
Contributeur
Messages : 6'665
Appréciations reçues : 322
Inscrit le : 14 octobre 2014
Version d'Excel : 2013 FR, 2016 FR
Contact :
Téléchargements : Mes applications

Message par LouReeD » 29 janvier 2020, 23:09

Bonsoir,

je pense que je vais réduire la voile...
En fait ils iront au plus vite vers le joueur, puisqu'il va se trouver dans la même pièce et/ou même passage.
Du coup calcul de différence en H et V puis premier déplacement pour réduire le plus grand des deux, ensuite si le déplacement pas possible alors changement de direction (si V alors H et inversement) et toujours dans le but de réduire la distance de ce nouvel axe, et ainsi de suite, si pas bloqué sur cette nouvelle direction, alors lorsque le monstre se trouve sur la même ligne ou colonne, il rechange de direction afin de réduire de nouveau l'ancienne différence...Malgré cela s'il y a blocage, alors on reprend l'autre axe et ainsi de suite, et peu de chance de blocage ou répétition vu que le déplacement des monstre "est limité".

@ bientôt

LouReeD
Modifié en dernier par LouReeD le 30 janvier 2020, 08:17, modifié 1 fois.
Quelques règles à lire ICI ;;)
______________________________________________________Vous pouvez allez faire un tour sur : Index de "Mes applications" ;;)
E
ExcelCoreGame
Membre fidèle
Membre fidèle
Messages : 425
Appréciations reçues : 14
Inscrit le : 24 octobre 2017
Version d'Excel : 2007FR

Message par ExcelCoreGame » 30 janvier 2020, 00:42

Si c'est dans la même pièce en effet c'est aussi efficace et rapide à mettre en place carrément, un point technique de réglé :)
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message