Sieben-Sekunden-Sektoren: Wie TUNL das Tempo eines Laufs steuert
Eine Schwierigkeitskurve sagt dir, wie schwer das Spiel in jedem Moment ist. Sie sagt dir nicht, wie sich der Lauf anfühlt. Das ist die Geschichte, wie ein Haufen unabhängiger Kurven durch einen Plan ersetzt wurde, und wie gemessen wurde, ob es funktionierte.
In den ersten gut einem Dutzend Versionen war TUNLs Schwierigkeit eine Reihe getrennter Kurven. Stalaktitenabstand hatte eine Kurve, Minenabstand hatte eine Kurve, Münzabstand hatte eine Kurve, und jede war eine Funktion davon, wie tief man in der Höhle war. Jede Kurve ergab für sich Sinn. Zusammen ergaben sie einen Lauf, der sich klumpig anfühlte, und als ich es schließlich maß, sagten die Zahlen dasselbe wie das Gefühl.
Was der Audit fand
Ich spielte die echten Spawner und die echte Physik mit Bots auf vier Könnensstufen nach, hundert Läufe pro Stufe, über 24 verschiedene tägliche Seeds. Dann schaute ich, wann neue Dinge passierten und wo die Bots starben. Vier Probleme stachen hervor:
- Das Tempo war klumpig. Sieben neue Elemente kamen in den ersten neun Sekunden. Dann nichts Neues für dreizehn Sekunden. Dann fünf in den nächsten vierzehn. Dann für den Rest des Laufs nie wieder etwas Neues.
- Der erste Fehler war für Anfänger tödlich. 41% der Läufe des schwächsten Bots endeten innerhalb von acht Punkten, nachdem die Wände tödlich wurden, und 91% der Tode dieses Bots waren gegen Wände. Die offene sichere Zone am Anfang stieß einen nur zurück, konnte also nicht das eine lehren, was Anfänger lernen mussten.
- Die Mitte war eine Klippe. Die Stalaktitendichte verdoppelte sich zweimal zwischen Punktzahl 300 und 1.150, und das beendete jeden Experten-Bot-Lauf irgendwo im Bereich 500-900.
- Minen verdreifachten sich versehentlich. Dünnere Stalaktiten hinderten eine Platzierungsregel daran, Minen und Münzen zu blockieren, sodass sich die Minenanzahl verdreifachte, ohne dass jemand danach gefragt hätte. Diese Kopplung ist später wichtig.
Die Idee: ein Lauf ist eine Abfolge von Sektoren
Statt getrennter Kurven schrieb ich einen Plan. Ein Lauf ist eine Abfolge von Sektoren, jeder sieben Sekunden lang bei einer festen Referenzgeschwindigkeit. Sektor 0 ist der sichere Eröffnungsflug. Jeder Sektor danach führt entweder genau eine neue Sache ein oder steigert etwas, das man schon kennt. Ab dem dritten erscheint an jeder Grenze ein „SEKTOR n"-Hinweis, damit ein Spieler die Struktur spürt.
Die Länge wird absichtlich in Sekunden gemessen, nicht in Pixeln. Die Höhle beschleunigt ständig weiter, also ist eine feste Anzahl Welt-Pixel im Laufe eines Laufs immer weniger Zeit. Ein in Pixeln definierter Sektor würde immer kürzer werden. In Referenzsekunden definiert und über die Integration des Referenzgeschwindigkeitstrends zurück in Weltposition umgerechnet, bleibt eine Sektorgrenze eine reine Funktion der Position. Das ist wichtig, weil das ganze Spiel für jeden Spieler identisch bleiben muss: Ich habe darüber im Beitrag zur täglichen Höhle geschrieben.
| Sektor | Punktzahl | Was ist neu |
|---|---|---|
| 0 | 0 - 50 | Offener Korridor. Gold- und Sanduhr-Münzen. |
| 1 | 50 - 110 | Erste Stalaktiten, Schild-Münze |
| 2 | 110 - 180 | Munition, Magnet |
| 3 | 180 - 250 | Erste Mine (allein, zentriert), Bomben-Münze |
| 4 | 250 - 330 | Felsbrocken |
| 5 | 330 - 410 | Engstellen, eingeblendet |
| 6 | 410 - 490 | Kanonen |
| 7 | 490 - 580 | Fallende Stalaktiten |
| 8 | 580 - 680 | Gift-Münze |
| 9 | 680 - 770 | Entzugs-Münze |
| 10+ | 770 und höher | Nichts Neues. Die Raten wachsen weiter. |
Zwei Regeln entscheiden über die Reihenfolge. Werkzeuge kommen vor der Bedrohung, die sie beantworten. Die Schild-Münze taucht einen Sektor vor der ersten Mine auf, damit ein Spieler eine zur Verfügung hat. Und die Werkzeuge dürfen nicht zu spät kommen, weil die täglichen Missionen („fünf Munition sammeln", „zwei Magnete holen", „drei Bomben benutzen") kumulativ für den Tag sind und für Gelegenheitsspieler erreichbar bleiben müssen, deren Läufe etwa im zweiten oder dritten Sektor enden. Bevor ich irgendein Münz-Gate verschob, prüfte ich die Missionsliste.
Dichten sind Raten, keine Abstände
Innerhalb eines Sektors ist die Dichte einer Gefahr eine Rate pro Referenzsekunde: Stalaktiten-Slots bei zwei pro Sekunde in Sektor 1, wachsend um 14% pro Sektor, und ab Sektor 8 abflachend auf 8% pro Sektor. Minen starten bei 0,28 pro Sekunde in Sektor 3, wachsend um 20% pro Sektor und dann 10%. Der Abstand in Pixeln wird aus der Rate abgeleitet und behält einen harten Boden, sodass die Raten grenzenlos wachsen können und jeder Lauf trotzdem endet. Die Mine garantiert das, weil eine Mine überall im Korridor liegen kann, sodass keine Korridorbreite eine ausreichend schnelle Höhle überlebbar macht.
Jeder Sektor ist außerdem ein Sägezahn. Sein erstes Fünftel läuft bei 55% seiner Zieldichte, mit zusätzlichen Münz-Kandidaten als Belohnung, und rampt dann von 80% auf 115% zur nächsten Grenze hoch. Der Spieler bekommt so am Anfang jedes Sektors eine Verschnaufpause, dann steigenden Druck, dann eine neue Idee. Ein stetiger Anstieg ist ermüdend. Ein Anstieg mit Pausen ist etwas, das Leute fair nennen.
Nach gemessener Rate abstimmen, nie nach der Abstandszahl. Platzierungsregeln blockieren Objekte, die irgendwo unfair landen würden, und der Anteil, den sie blockieren, ändert sich mit der Dichte. Einen Abstandswert zu halbieren verdoppelt nicht die Gefahren, und genau diese Kopplung ist der Grund, warum sich die Minenanzahl das erste Mal verdreifachte. Also endet jeder Abstimmungsdurchlauf mit einem Replay, das die tatsächlich pro echter Sekunde platzierten Objekte zählt.
Rumpfkratzer: die Wand vergeben, nicht den Stachel
Die zweite große Änderung war für die Anfänger, die an der ersten Wand starben. Ein Schiff hat jetzt zwei Rumpfkratzer. Ein Wandkontakt verbraucht einen, prallt das Schiff zurück nach innen und sagt „KRATZER!". Ohne welche übrig beendet der nächste Kontakt den Lauf.
Sie begannen als eine vorübergehende Hilfe, die in Sektor 3 auslief. Sobald jeder Lauf damit begann, in den Tunneleingang zu fliegen, mit von Anfang an tödlichen Wänden, ergab es Sinn, dass sie den ganzen Lauf über halten, und das tun sie jetzt. Die Schonfrist nach einem Kratzer schützt nur vor der Wand. Stalaktiten, Minen, Felsbrocken und Schüsse bleiben tödlich, und das Schiff blinkt nicht. Wenn die Schonfrist alles abdeckte, könnte ein guter Spieler absichtlich eine Wand streifen, um durch ein Stalaktitenfeld zu fliegen, also lautet die Regel: Kratzer vergeben Wandfehler, direkte Treffer sind die Aufgabe des Schilds.
Ich probierte auch die naheliegende Alternative, ein kostenloses Schild im selben Moment. Es half hauptsächlich der starken Stufe, die es nutzte, um später einen Stalaktiten zu überleben, und hob deren Medianlauf um etwa 72%. Es belohnte Können, das die Hilfe nicht brauchte, und ich verwarf es.
Hat es funktioniert?
Dieselben Bots, auf denselben Seeds, vorher und nachher. „Durchschnitt" ist die Stufe, deren Verhalten in der vorherigen Version am besten zu echten Spielern passte.
| Bot-Stufe | Median-Punktzahl | Erreicht 100 | Stirbt innerhalb von 8 Punkten, nachdem Wände tödlich werden |
|---|---|---|---|
| Anfänger | 65 → 95 | 4% → 39% | 41% → 3% |
| Durchschnitt | 107 → 155 | 32% → 70% | 16% → 2% |
| Gut | 205 → 401 | 80% → 91% | 1% → 1% |
| Experte | 715 → 928 | 100% | 0% |
Die Sterberate pro Sektor der Durchschnittsstufe wurde zu einer Rampe (38%, dann 60%, dann 68% in den ersten drei Gefahrensektoren) statt zu einer Klippe. Das ist die Form, die ich wollte: Ein Lauf sollte allmählich wahrscheinlicher enden, nicht plötzlich sicher.
Was es nicht behob
Experten stoßen immer noch um Sektor 10 und 11 auf eine Reaktionszeit-Wand, wo 63% und dann 77% der Experten-Läufe enden. Vor dem Plan waren es 100% bei Sektor 7 und 8, das ist also eine echte Verbesserung, aber nicht die sanfte Rampe, die die früheren Sektoren haben. Ich probierte zwei naheliegende Korrekturen: ein langsameres Wachstum der Stalaktitenlänge und eine langsamere Rampe der Engstellen-Wahrscheinlichkeit. Beide maßen sich als wirkungslos. Der Hebel, der bleibt, ist die Geschwindigkeit selbst, und die habe ich unangetastet gelassen, weil die Geschwindigkeit absichtlich nie plateaut, und eine Höhle, die aufhört, schneller zu werden, ist eine Höhle, die aufgehört hat, von einem sehr guten Spieler etwas Neues zu verlangen.
Was ich beibehalten würde
Zwei Gewohnheiten. Erstens: plane die Abfolge dessen, was ein Spieler trifft, nicht nur, wie schwer jede Sache ist: eine neue Idee nach der anderen liest sich, als würde das Spiel dich lehren, während fünf auf einmal sich liest, als würde das Spiel dich zuschütten. Zweitens: traue keiner Schwierigkeitsänderung, bevor dir eine Simulation nicht gesagt hat, wo jede Art von Spieler stirbt. Beide größten Überraschungen hier, die Minenanzahl und die Tode an der ersten Wand, waren beim Spielen unsichtbar und aus einer Tabelle offensichtlich.
Die spielerorientierte Version desselben Plans kannst du im Anleitungs-Guide nachlesen.