Comment nous avons construit le circuit des festivals (et ce qui a cassé)
Un journal de développement sur la conception du circuit des festivals : quatre niveaux, un classement sur toute la saison, le bug de fuseau horaire qui a coûté sa place à un joueur, et ce que nous avons changé ensuite.
La toute première finale premier que nous avons lancée ne s'est jamais résolue. Elle est restée là, passé minuit, un tableau avec un trou à l'endroit où aurait dû se trouver un champion.
C'est la version honnête d'une nouveauté qui sort. Voici donc le journal de développement : comment la conception de notre circuit des festivals a pris forme, ce qu'elle a réussi dès la première saison en direct, et les trois choses qui ont cassé quelques heures après que de vrais groupes y ont touché.
Pourquoi un circuit, et pas juste des concerts plus gros
Les concerts hebdomadaires sont le battement de cœur du jeu. Ils sont aussi, volontairement, une routine. Tu réserves, tu joues, tu apprends ce qu'une salle fait à une setlist, et les chiffres montent doucement.
Ce qui manquait, c'était un sommet. Les vraies années musicales ont une forme : tu galères tout l'hiver, et en juillet quelqu'un te met sur une scène à quatre heures de l'après-midi au milieu d'un champ.
Nous voulions cette forme. Une saison de festivals à l'intérieur de la saison.
La conception du circuit des festivals que nous avons retenue
Quatre niveaux, des scènes locales jusqu'à un chapiteau premier. L'inscription est automatique dès que le circuit ouvre, en cours de saison, et c'était un choix délibéré : nous ne voulions pas qu'une place de festival revienne à celui qui se trouvait connecté à la bonne minute.
Le reste fonctionne comme ça.
- •Les points de circuit s'accumulent toute la saison à partir de ton activité sur scène et de tes sorties, donc le classement reflète des mois de travail plutôt qu'une semaine chanceuse.
- •Le placement découle de ces points, ce qui veut dire que le niveau où tu atterris se mérite, il ne se choisit pas.
- •Les tableaux se déroulent sur quelques semaines de la saison, un tour à la fois, résolus par le même tick hebdomadaire qui fait tourner tout le reste.
- •Les récompenses sont du buzz et de la réputation, pas de l'argent. C'était voulu. Nous ne voulions pas que le circuit devienne le moyen le plus rapide de devenir riche, seulement le moyen le plus rapide de se faire connaître.
Ce dernier point a provoqué une bonne semaine de dispute dans nos propres notes. Les récompenses en argent sont le levier évident. C'est aussi le plus court chemin pour transformer un événement de prestige en circuit de farm, et quand ça arrive, plus personne ne se souvient de qui a gagné quoi.
Le placement, c'est là que vit vraiment la conception
Tout ce qui est intéressant dans un tableau se joue avant le premier match. Rate le placement et soit tu offres le trophée au plus gros groupe par défaut, soit tu produis un chaos qui paraît arbitraire.
Nous avons choisi un placement strict en haut et des appariements plus souples en bas. Un groupe dominant doit croiser d'autres groupes dominants dans les derniers tours. Mais un groupe qui fait son premier circuit doit quand même avoir un vrai match, pas une exécution rituelle.
Les nombres impairs ont été la partie pénible. Les tableaux veulent des puissances de deux, et le nombre de participants en ligne refuse catégoriquement d'en être une. Les exemptions règlent ça, et les exemptions sont aussi là où nous avons introduit notre pire bug.
Trois choses ont cassé lors du premier passage en direct
La première était discrète et affreuse : la source de points que nous lisions ne renvoyait rien. Tous les groupes étaient placés à zéro, ce qui rendait le tableau à peu près aléatoire. Ça avait l'air de marcher. Ça ne marchait pas.
La deuxième, c'était la finale vide. Notre niveau le plus haut se jouait la dernière semaine prévue, et le code qui résolvait un tour supposait qu'il y avait toujours une semaine après. Il n'y en avait pas. La finale ne s'est donc jamais close, et quand la saison a basculé elle a emporté une partie de l'état des festivals avec elle.
La troisième, c'était les exemptions. Nous gérions correctement une exemption au premier tour et plus jamais ensuite, donc un groupe qui passait sans adversaire à un tour suivant arrêtait discrètement d'avancer.
Le bug de fuseau horaire qui a coûté sa place à quelqu'un
Et puis il y a celui qui pique encore. Les inscriptions se fermaient à une heure fixe, mais la fermeture était calculée sur l'heure locale du serveur alors que le compte à rebours affiché au joueur l'était sur la sienne. Pour presque tout le monde, la différence n'a rien changé. Pour un joueur, c'était une heure, et il a confirmé son inscription une heure après une date limite qu'il n'avait aucun moyen de voir correctement.
Il avait tout fait comme il fallait. Il a quand même raté le circuit.
Nous avons corrigé ça de la manière ennuyeuse : chaque fermeture est stockée et comparée en UTC, l'interface affiche un compte à rebours en direct plutôt qu'une heure de pendule, et la fenêtre d'inscription se referme désormais avec un avertissement visible plutôt qu'en silence. Nous avons aussi rendu le résolveur idempotent, pour qu'un tour à moitié exécuté puisse être relancé sans dupliquer les résultats.
Tu peux lire les mécaniques complètes dans la section festivals du guide en jeu, et il existe un article tactique complémentaire sur comment gagner un festival si tu préfères y jouer plutôt que lire comment c'est branché. Les notes de lancement d'origine sont dans les festivals sont là.
Ce que nous en avons retenu
Les systèmes qui ne tournent qu'une fois par saison sont les plus durs à tester, parce que tu n'as qu'un essai par saison pour te tromper en public. La solution n'a pas été plus d'astuce. Elle a été de construire un moyen d'avancer en accéléré un cycle de festivals entier avant que quiconque le voie.
Le circuit tourne maintenant et il fait ce que nous espérions : le milieu de saison a une colline. Les groupes s'organisent pour elle, et c'est exactement le comportement que nous voulions.
Si tu veux voir la chose de l'intérieur, crée un groupe gratuitement et joue en visant le prochain circuit. Ça tourne dans ton navigateur, ça ne coûte rien, et ton premier concert peut être réservé en cinq minutes environ.
