[Grand Plateau] jeu de simulation de course cycliste (en ligne : https://grand-plateau.netlify.app/)

Ah elle me plaît l’image de passer le relais.

Juste une chose que je n’ai pas documentée. Vous pouvez jouer de manière tout à fait anonyme. Les seules données que j’enregistre et qui m’intéressent c’est le résultat des équipes automas lorsqu’elles figurent dans des parties, afin de pouvoir, sur la base d’un nombre suffisant de parties, ajuster leur force, dans un sens ou dans l’autre. Les automas ayant un comportement base sur l’aléa, leurs performances peuvent varier une partie à l’autre (ils ont des bons et des mauvais jours), l’idée de savoir si statistiquement on est dans la bonne fenêtre ou pas.

Vous pouvez également commencer par renseigner votre pseudo dans Profil si vous le souhaitez. Cela a plusieurs intérêts :

  • se reconnaître sur les parties en ligne s’il y en a (j’en reviens toujours pas d’avoir dev ça);
  • pouvoir transférer ses données sur un autre device (téléphone, tablette) et continuer à jouer dans un autre navigateur en conservant ses records;
  • apparaître peut-être, plus tard, dans un hall of fame…

Bonne découverte :

https://beta–grand-plateau.netlify.app/

1 « J'aime »

C’est avec curiosité, avidité et grand plaisir que je m’en vais tester tout cela.

Première partie solo avec trois automates sur une étape de plat de Paris-Nice : comme les comportements automatisés peuvent être contre-intuitifs, je n’ai pas eu de mal à faire gagner mon sprinteur. Et comme je n’ai pas eu de malchance, je mets mes 4 dans le top 6 ! Va vraiment falloir tenter la version en ligne !!!
Points très positifs :
ça va à une vitesse …
Les cases surlignées pour les gains ou les pertes, c’est génial.
Les différents points de règles ont l’air d’être ok : Passage sur coéquipier, coût des cases de relief. Un seul détail, si un coureur décide de ralentir quitte à gâcher, le peut-il?
Autre question (avant des milliers d’autres), peut-on faire une partie en ligne avec des automates pour compléter?

Je tente un appel en ligne avec le code gp-dkq6 pour faire une étape.

Le mode de déplacement simplifié (par défaut) te propose la distance max - 1 et les cases atteignables en dépensant de l’énergie, afin de ne pas surcharger l’interface et avancer en automatique.

Pour te déplacer comme tu veux, tu peux switcher en déplacement manuel. À ce moment-là tu avances case par case et tu valides. Tu peux donc avancer moins. Le mode manuel est également la seule manière d’attaquer les descentes, le mode simplifié considère que tu n’attaques pas.

On peut inclure des automas dans les parties en lignes (non testé je crois !).

J’ai rejoint. Je te vois apparaître comme un automa, je n’ai jamais eu ça pendant mes tests, du coup j’ai un doute, on relancera s’il y a une bizarrerie.

Il y a un chat interne, on pourra basculer dessus.

Je suis bien là, et pas en automate. Où est le chat?

en bas à droite

de mon côté la partie n’apparaît pas comme lancée, tu dois avoir un bouton démarrer

gp-65uq pour 2.

Je reviens sur ce que j’ai dit plus haut, pas sûr de ce qui se passe si on inclut un automa dans une partie en ligne, et pas sûr qu’on puisse démarrer une partie en ligne à plus de deux équipes.

T’as tout dev à la main ou avec İA supervisée ?

J’ai commencé à la main il y a un an (bon prétexte pour faire du React), et j’ai tout repris il y a un mois avec Claude Code.

Quelques fix suite aux essais d’hier soir.

Le jeu en ligne devrait être opérationnel. Le host choisit un nombre d’équipes souhaité pour la partie. La première lui est attribuée, les autres sont disponibles. Soit elles sont réclamées par des joueurs, soit elles deviennent des automas. Le host peut aussi faire le ménage avant de lancer pour ne démarrer qu’avec les joueurs présents.

1 « J'aime »

Première course par étapes hier soir (ça joue beaucoup plus vite qu’en jeu de plateau!!).
Paris-Nice sans incident avec trois équipes adverses en niveau 4/5. Et ben, j’en ai ch…
Mon leader finit 2e en courant toujours à l’économie. Dernier par équipe.
Les automates ont des comportements globalement raisonnables même si cela ne peut remplacer l’intérêt stratégique d’une partie avec de vrais joueurs.
Très bien pour assimiler les règles, les cases surlignées pour les déplacements aident énormément.
Vivement les parties en ligne, c’est l’essence même du jeu que de s’affronter.

1 « J'aime »

Mise à jour.

Essentiellement autour de la création de parties en ligne.

Le système initial de partie privée (avec code pour rejoindre) est conservé, mais j’ai ajouté un paramètre public/privé au niveau des parties.

Les parties publiques apparaissent à l’ouverture du menu Parties en ligne et il est possible de rejoindre en un clic. Il est possible de quitter également (avant démarrage) pour finalement laisser sa place.

Le host configure toutes les options, qui sont affichées au niveau de la partie dans la liste (comme sur BGA). Chacun rejoint en connaissant de cause.

La partie démarre quand elle est complète. Le host a la possibilité de démarrer alors qu’il reste des places libres, les sièges non réclamés seront des automas. Le host a également la possibilité de faire le ménage et de supprimer des équipes non réclamées avant de démarrer s’il souhaite finalement une partie entre humains uniquement.

J’ai créé pour tester un tour d’Italie à 5 en tour par tour. Si vous voulez découvrir c’est l’occasion. J’ai ajouté une option « débutants » où l’énergie accumulée par chacun reste visible. Cela n’engage à rien, il y a peu de chances que le tour aille jusqu’au bout (sauf joueurs très motivés et qui accrochent), c’est surtout pour tester le flow, voir si la partie démarre et si tout est ok au niveau des options.

Normalement, il est possible de quitter une partie à tout moment, le joueur disparu étant remplacé par un automa.

1 « J'aime »

Excellente idée que celle des parties publiques. J’avais remarqué qu’il y avait eu une mise à jour des parties car mon Tour d’Italie à peine débuté avait disparu ce matin. Je vais de voir que si l’on veut s’engager dans une partie en ligne, il faut abandonner la partie locale engagée si elle existe.

En effet, bug, on ne doit pas perdre sa partie locale si on rejoint une partie en ligne.

J’ai modifié l’architecture pour séparer les données locales/en ligne (je n’avais pas bien anticipé ce que le tour par tour impliquait).

Il devrait à présent être possible de jouer un tour sur plusieurs étapes en local, et de jouer un coup en ligne de temps en temps, ou faire une partie en temps réel, puis reprendre sa partie locale.

Le lien vers la beta a permis de valider le fonctionnement global de l’application et l’implémentation des règles, mais n’était pas idéal à partager. Je viens de basculer en production.

J’ai clean la base de données, je ne me suis pas payé le luxe d’avoir une base de test et une base de prod, le pseudo devra être entré à nouveau.

Screenshot 2026-05-11 at 14-39-44 Grand Plateau Web
Le sprinteur vert joue un 5, il y a vent de face, il fait donc 4 sauf s’il s’abrite. : comment expliquer qu’il se retrouve avec deux cases -3 consécutivement? C’est parce que le vent devient neutre? Il faudrait certainement que les scores soient définis par la case de départ sans changer pendant le coup. Dans ce cas, c’est contre-intuitif.

Exemple intéressant.

Effectivement, en implémentant le vent (en l’occurrence de face), il fallait trancher entre le départ et l’arrivée. La case d’arrivée m’a semblé plus naturelle : tu termines dans le vent, tu as envie de t’abriter derrière quelqu’un; tu ne le fais pas, tu es pénalisé. L’inverse me parle moins. Tu démarres dans le vent, tu arrives dans une zone sans vent, le fait que tu sois abrité ou pas à l’arrivée fait moins sens. Ici d’ailleurs dans ton exemple le coureur démarre dans une zone sans vent donc ne serait pas concerné.

On peut argumenter que les zones de vent sont comme les reliefs et il y aurait une incitation à dépenser de l’énergie pour s’en débarrasser. Mais il y a une logique globale des déplacements dans le jeu qui est malmenée par cet exemple où, pour la même quantité d’énergie tu peux aller plus loin.

Mon intuition serait de conserver cette logique de l’abri à rechercher au niveau de la case d’arrivée, tout en pénalisant un effort dans le vent quand on traverse une zone. Dans l’exemple, le rendu serait tout pareil dans la zone de vent, sauf que la case d’après serait -4 au lieu de -3, et que la descente ne serait pas accessible. Il faudrait « simplement » ajouter ce paramètre que traverser une zone de vent sans s’abriter coûte, cela ne me semble pas insurmontable.