Entwicklertagebuch

Wie wir den Festival-Circuit gebaut haben (und was kaputtgegangen ist)

Oct 27, 20265 Min. Lesezeit

Ein Entwicklertagebuch über das Design des Festival-Circuits: vier Stufen, Setzung über die ganze Saison, der Zeitzonen-Bug, der einen Spieler seinen Platz gekostet hat, und was wir danach geändert haben.

Das allererste Premier-Finale, das wir laufen ließen, wurde nie aufgelöst. Es stand einfach da, weit nach Mitternacht, ein Turnierbaum mit einer Lücke an der Stelle, an der ein Champion hätte stehen sollen.

Das ist die ehrliche Version davon, etwas Neues zu veröffentlichen. Also hier das Entwicklertagebuch: wie das Design unseres Festival-Circuits entstanden ist, was in der ersten Live-Saison funktioniert hat und welche drei Dinge innerhalb weniger Stunden kaputtgingen, nachdem echte Bands ihn angefasst hatten.

Warum ein Circuit und nicht einfach größere Auftritte

Wöchentliche Shows sind der Herzschlag des Spiels. Sie sind auch, ganz bewusst, Routine. Du buchst, du spielst, du lernst, was ein Raum mit einer Setlist macht, und die Zahlen klettern langsam nach oben.

Was uns fehlte, war ein Höhepunkt. Echte Musikjahre haben eine Form: Du quälst dich durch den Winter, und im Juli stellt dich jemand um vier Uhr nachmittags auf eine Bühne mitten auf einem Feld.

Diese Form wollten wir. Eine Festivalsaison innerhalb der Saison.

Das Festival-Circuit-Design, bei dem wir gelandet sind

Vier Stufen, von lokalen Bühnen bis zum Premier-Zelt. Die Teilnahme läuft automatisch, sobald der Circuit mitten in der Saison öffnet, und das war eine bewusste Entscheidung: Wir wollten nicht, dass ein Festivalplatz an den geht, der zufällig in der richtigen Minute eingeloggt war.

Der Rest funktioniert so.

  • •Circuit-Punkte sammeln sich die ganze Saison über aus deiner Live- und Release-Aktivität an, damit die Rangliste Monate an Arbeit abbildet und nicht eine Glückswoche.
  • •Die Setzung ergibt sich aus diesen Punkten, das heißt: Die Stufe, in der du landest, ist verdient und nicht ausgewählt.
  • •Die Turnierbäume laufen über einige Wochen der Saison, eine Runde nach der anderen, aufgelöst vom selben wöchentlichen Tick, der auch alles andere antreibt.
  • •Die Belohnungen sind Aufmerksamkeit und Ruf, kein Geld. Das war Absicht. Wir wollten nicht, dass der Circuit der schnellste Weg zu Reichtum wird, sondern nur der schnellste Weg, bekannt zu werden.

Der letzte Punkt hat in unseren eigenen Notizen etwa eine Woche lang für Streit gesorgt. Geldpreise sind der naheliegende Hebel. Sie sind auch der schnellste Weg, ein Prestige-Event in eine Farmroute zu verwandeln, und wenn das passiert, erinnert sich niemand mehr daran, wer irgendetwas gewonnen hat.

In der Setzung steckt das eigentliche Design

Alles Interessante an einem Turnierbaum passiert vor dem ersten Match. Wenn du die Setzung falsch machst, überreichst du entweder der größten Band die Trophäe kampflos, oder du erzeugst ein Chaos, das sich willkürlich anfühlt.

Wir haben uns für eine strenge Setzung an der Spitze und lockereres Matching weiter unten entschieden. Eine dominante Band sollte in den letzten Runden auf andere dominante Bands treffen. Aber eine Band in ihrem ersten Circuit sollte trotzdem ein echtes Match bekommen und keine rituelle Hinrichtung.

Ungerade Zahlen waren das fummelige Stück. Turnierbäume wollen Zweierpotenzen, und die Zahl der aktiven Teilnehmer weigert sich strikt, eine zu sein. Freilose lösen das, und Freilose sind auch die Stelle, an der wir unseren schlimmsten Bug eingebaut haben.

Drei Dinge gingen beim ersten Live-Durchlauf kaputt

Das erste war leise und furchtbar: Die Punktequelle, aus der wir lasen, gab nichts zurück. Jede Band wurde mit null gesetzt, was den Turnierbaum praktisch zufällig machte. Es sah so aus, als würde es funktionieren. Es funktionierte nicht.

Das zweite war das leere Finale. Unsere oberste Stufe lief in der letzten geplanten Woche, und der Code, der eine Runde auflöste, ging davon aus, dass danach immer noch eine Woche kommt. Kam sie nicht. Das Finale wurde also nie geschlossen, und als die Saison umsprang, riss es einen Teil des Festivalzustands mit sich.

Das dritte waren die Freilose. Wir behandelten ein Freilos in Runde eins korrekt und danach nie wieder, sodass eine Band, die in einer späteren Runde ohne Gegner weiterkam, stillschweigend gar nicht mehr weiterkam.

Der Zeitzonenfehler, der jemanden seinen Platz gekostet hat

Und dann der, der immer noch wehtut. Die Anmeldung schloss zu einer festen Uhrzeit, aber die Sperre wurde gegen die lokale Serverzeit berechnet, während der Countdown, den ein Spieler sah, in seiner eigenen Zeit angezeigt wurde. Für den größten Teil der Welt machte der Unterschied nichts aus. Für einen Spieler war es eine Stunde, und er bestätigte seine Teilnahme eine Stunde nach einer Frist, die er gar nicht korrekt sehen konnte.

Er hatte alles richtig gemacht. Er hat den Circuit trotzdem verpasst.

Wir haben es auf die langweilige Art repariert: Jede Sperre wird in UTC gespeichert und verglichen, die Oberfläche zeigt einen laufenden Countdown statt einer Uhrzeit, und das Anmeldefenster schließt jetzt mit einer sichtbaren Warnung statt lautlos. Außerdem haben wir den Resolver idempotent gemacht, sodass eine halb gelaufene Runde erneut laufen kann, ohne Ergebnisse zu verdoppeln.

Die vollständigen Mechaniken kannst du im Festivalabschnitt des Ingame-Guides nachlesen, und es gibt einen taktischen Begleittext dazu, wie man ein Festival gewinnt, falls du lieber spielst, als zu lesen, wie es verdrahtet ist. Die ursprünglichen Launch-Notizen stehen in die Festivals sind da.

Was wir daraus mitgenommen haben

Systeme, die nur einmal pro Saison laufen, sind am schwersten zu testen, weil du pro Saison einen Versuch hast, dich öffentlich zu irren. Die Lösung war nicht mehr Cleverness. Sie bestand darin, einen Weg zu bauen, einen kompletten Festivalzyklus vorzuspulen, bevor ihn sonst jemand sieht.

Der Circuit läuft jetzt, und er tut, was wir erhofft hatten: Die Mitte der Saison hat einen Berg. Bands planen darauf hin, und genau dieses Verhalten wollten wir.

Wenn du das Ganze von innen sehen willst, gründe kostenlos eine Band und spiele auf den nächsten Circuit hin. Es läuft im Browser, es kostet nichts, und deine erste Show ist in etwa fünf Minuten gebucht.

#dev-diary