- Erläutert eine 0,5-A-Press-Strategie, um den Star „Watch for Rolling Rocks“ in Super Mario 64 ohne neue A-Eingabe zu erhalten, nur mit einem schon vor dem Start gehaltenen A
- A-Eingaben werden in press, hold und release unterteilt; wenn man ein in einem vorherigen Star gedrücktes A weiter hält, kann das pro einzelnem Star als 0,5 und im Gesamt-Run als 0 zusätzliche Eingabe gezählt werden
- Der Kern der Strategie besteht darin, die Home-Position eines Scuttlebug zu verschieben und ihn mithilfe der Aktivierungsgrenze des Raums nach oben zu bringen, um dann mit misalignment und einem Bounce genug Höhe für die Star-Plattform zu gewinnen
- Die nötige horizontale Geschwindigkeit wird mit Hyper Speed Walking erzeugt, indem flaches Wasser, steile Hänge, ein gate und eine out-of-bounds-Erkennung kombiniert werden; der Geschwindigkeitsaufbau dauert etwa 12 Stunden
- Die PU-Bewegungsroute ist so entworfen, dass sie die short-Konvertierung der floor collision, die slope-abhängige syncing speed und die QPU alignment nutzt, um zur main map zurückzukehren und den elevator sowie die Star-Plattform zu erreichen
Der Maßstab für 0,5 A-Presses
- Ein A-Press ist keine einzelne Momentaufnahme der Eingabe, sondern besteht aus drei Phasen: press, hold und release
- press wird verwendet, um Mario springen zu lassen
- hold kann für einen kleinen kick, einen swim unter Wasser, langsames Fallen während eines twirl und langsames Fallen mit der Wing Cap genutzt werden
- release hat derzeit keine nützlichen oder wichtigen Anwendungsfälle
- 0,5 A-Presses bedeutet, dass A nicht neu gedrückt wird, sondern ein zuvor gedrücktes A weiter gehalten wird
- Das Beispiel Over the Rainbow zeigt diese Zählweise
- Um die cannon platform zu erreichen, muss A nur gehalten werden
- Für den ersten cannon-Schuss und den zweiten cannon-Schuss ist jeweils ein A-Press nötig
- Betrachtet man nur diesen einzelnen Star, ergibt das 3 A-Presses
- Im gesamten A Button Challenge-Run kann jedoch ein vorheriger A-Press vom Betreten des Kurses weiter gehalten werden und so die erste hold-Anforderung abdecken
- Daher zählt Over the Rainbow als 2,5 A-Presses für den einzelnen Star und als zusätzliche 2 A-Presses im Gesamt-Run
- Auch bei der Watch for Rolling Rocks-Strategie ist A beim Start des Levels bereits gedrückt, und im Gesamt-Run wird diese Eingabe als Fortsetzung eines früheren A-Press gezählt
Scuttlebug-Transport und Anheben
- Scuttlebug Transportation nutzt die Eigenschaft, dass die Home-Position eines Scuttlebug aktualisiert wird, wenn er mit Mario kollidiert
- Ein Scuttlebug patrouilliert innerhalb eines bestimmten Radius um sein Home
- Betritt Mario diesen Radius, führt er einen lunging attack aus
- Wenn der Scuttlebug mit Mario zusammenstößt, wird seine Position zum Zeitpunkt der Kollision zum neuen Home
- Beim Transport gibt es Einschränkungen
- Ein Scuttlebug kann seinen nativen room nicht verlassen und bleibt an Türen hängen
- Wenn er sich deutlich unterhalb seines aktuellen Home in eine wall hineinbewegt, kann er verschwinden; das muss während des Transports vermieden werden
- Ziel ist es, den Scuttlebug und sein Home in die Nähe der Ecke unter dem Watch for Rolling Rocks-Star zu verlegen
- Scuttlebug Raising nutzt den Aktivierungsbereich des rolling rocks room, um den Scuttlebug nach oben zu bringen
- Der Raum und die darin befindlichen objects sind nur aktiv, wenn Mario sich im rolling rocks room oder in der kleinen yellow region außerhalb der Tür befindet
- Befindet sich Mario außerhalb davon, erscheint der Raum schwarz, die objects sind invisible und bewegen sich nicht
- Selbst im inaktiven Zustand kann sich der Scuttlebug zu Mario drehen und einen lunge beginnen
- Wenn Mario die yellow region betritt und damit den Scuttlebug aktiviert, dann aber die yellow region wieder verlässt, sobald der Scuttlebug den Höhepunkt seiner Flugbahn erreicht, fällt der Scuttlebug nicht herunter, sondern bleibt auf dieser Höhe stehen
- Durch Wiederholen dieses Vorgangs lässt sich der Scuttlebug immer weiter anheben
- Der Erkennungsradius des Scuttlebug ist keine sphere, sondern ein nach oben und unten unendlich ausgedehnter cylinder, sodass man lunge-Angriffe unabhängig von der Höhe weiter auslösen kann
- In dieser Strategie wird der Scuttlebug so gesteuert, dass er in Richtung seines Home lungt und direkt über der Ecke stehen bleibt
- Wenn Mario den Scuttlebug innerhalb seines Radius aktiviert, lungt der Scuttlebug auf Mario zu und kann sich in Richtung der Tür bewegen
- Das wäre schneller, wird hier aber nicht verwendet, weil die Position nahe der Ecke benötigt wird
Misalignment und Höhengewinn
- Oberhalb der Ecke gibt es eine Eigenschaft, die misalignment genannt wird
- Im Spielcode werden floor collision checking und wall collision checking unterschiedlich verarbeitet
- Dadurch entsteht ein Bereich von 1x1 units, in dem Mario nicht von der wall weggedrückt wird und unter den floor gelangen kann
- Wenn Mario weniger als 79 units unter dem floor ist, wird er auf den floor darüber geschnappt
- Am Ende werden ein Scuttlebug bounce und ein ground pound mit dem misalignment kombiniert, um genug Höhe zu gewinnen, um auf die Watch for Rolling Rocks-Plattform zu gelangen
Hyper Speed Walking und Parallel-Universe-Bewegung
- Die benötigte Geschwindigkeit wird mit Hyper Speed Walking erzeugt
- Auf zu steilen slopes kann Mario normalerweise nicht stehen und rutscht
- Im unter Wasser liegenden Teil eines flach überfluteten slopes läuft Mario beim Versuch, bergauf zu rennen, rückwärts, während seine Geschwindigkeit weiter steigt und keine obere Grenze hat
- Normalerweise fällt man dabei ins Wasser oder erreicht das Ende des slopes, sodass sich nicht viel Geschwindigkeit aufbauen lässt, aber mit einem gate und out-of-bounds kann man die Geschwindigkeit auf der Stelle aufbauen
- Die Unterseite des gate wird als ceiling behandelt
- Wenn Mario versucht, sich direkt unter einem ceiling zu weit nach oben zu bewegen, verweigert das Spiel die Positionsänderung
- Sobald etwas Geschwindigkeit aufgebaut ist, kann man den Winkel so drehen, dass die beabsichtigte nächste Position hinter der wall out-of-bounds wäre; dann lässt das Spiel Mario nicht out-of-bounds gehen und hält ihn an Ort und Stelle
- Da out-of-bounds unbegrenzt weiterläuft, kann man dort länger Geschwindigkeit aufbauen als unter dem gate-ceiling
- In dieser Strategie wird zuerst das gate geöffnet und unter dem gate-ceiling ein Teil der Geschwindigkeit aufgebaut, danach wird der Winkel in Richtung out-of-bounds gedreht, um den Rest aufzubauen
- Der Geschwindigkeitsaufbau dauert etwa 12 Stunden
PU, QPU und syncing speed
- Marios Position ist eine floating point number, wird für den floor triangle collision test aber in short umgewandelt
- Der fractional portion wird abgeschnitten
- Zu große oder zu kleine Werte werden per modulo operator in den Bereich von -32768 bis 32767 gebracht
- Selbst wenn die tatsächliche Position außerhalb dieses Bereichs liegt, wird die für die floor detection verwendete Position zurück in die ursprüngliche Box geloopt
- Auch wenn es an Marios echter Position kein Gelände gibt, behandelt das Spiel Mario als auf dem Boden stehend, wenn die floor-detection-Position über Gelände liegt
- Einen Bereich, der sich dadurch wie eine Kopie der ursprünglichen map verhält, nennt man Parallel Universe oder PU
- In einer PU gibt es keine graphics und auch keine objects, enemies, coins, stars oder walls wie elevator oder item block
- Auf echter N64-Hardware kann das Spiel abstürzen, wenn die camera Mario in eine PU folgt; deshalb fixiert diese Strategie die camera auf der main map, um einen Absturz zu vermeiden
- Das Spiel prüft bei jedem quarter step von Marios Bewegung, ob er über einem floor ist
- Für eine einfache PU-Bewegung muss man 4 PU auf einmal überspringen, damit jeder quarter step über Gelände liegt
- Diese Distanz von 4 PU wird QPU genannt
- Die tatsächliche speed und die für die Bewegung verwendete de facto speed sind unterschiedlich
- Die de facto speed wird abhängig von der steepness des slope als Teil der tatsächlichen speed bestimmt
- Je steiler der slope, desto kleiner ist bei gleicher speed die de facto speed
- Eine speed, bei der QPU-Distanz und quarter steps genau zusammenpassen, heißt syncing speed
- Die niedrigste syncing speed ist exakt die Geschwindigkeit, die eine Bewegung von 1 QPU ergibt
- Auch ihre Vielfachen sind syncing speeds, sodass mehrere QPU auf einmal zurückgelegt werden können
- Jede slope hat ihre eigene Menge an syncing speeds
- Im Beispiel der Secret Aquarium-PU-Bewegung mussten nacheinander die syncing speeds mehrerer slopes erfüllt werden; bis zur ersten syncing speed dauerte es etwa 12 Stunden, bis zur zweiten etwa 25 Stunden
- Die Watch for Rolling Rocks-Route ist so ausgelegt, dass statt 25 nur 12 Stunden Geschwindigkeitsaufbau nötig sind
- Der aufsteigende path am lake besteht aus Dutzenden floor triangles mit unterschiedlichen slopes
- Davon wurden sechs triangles von T1 bis T6 ausgewählt, deren steepness streng abnimmt
- Die Höhen dieser sechs triangles decken die benötigte vertikale Distanz vom unteren bis zum oberen Ende lückenlos ab
- Durch die Nutzung dieser triangles in Reihenfolge lässt sich die Routenstruktur allein mit der ersten syncing speed des initialen slope vervollständigen
Die finale Route und das Einsammeln des Stars
- Die Grundroute beginnt am Hyper Speed Walking-slope, führt den path über dem lake hinauf, nutzt zwei elevator und geht bis zur Amazing Emergency Exit platform, von wo aus Mario in Richtung der Watch for Rolling Rocks-Plattform geschleudert wird
- Während der PU-Bewegung bewegt man sich relativ nach vorn, wenn die speed leicht unter der syncing speed liegt, und relativ nach hinten, wenn sie leicht darüber liegt
- Schon eine kleine Abweichung vom cardinal direction-Winkel vergrößert durch die QPU-Distanz die seitliche Bewegung stark
- Das Management der QPU alignment ist entscheidend
- Das grid, das Vielfachen von 4 PU entspricht, wird QPU grid genannt
- Wenn Mario auf diesem grid steht, ist er QPU aligned
- Andere positive PU-Bewegungen benötigen besondere Bedingungen wie out-of-bounds oder einen slope-Wechsel
- Ist Mario QPU misaligned, kann die Rückkehr zur main map schwierig werden
- Auf dem lake-path wird auf jedem triangle von T1 bis T6 die speed nahe an die syncing speed des jeweiligen slope abgesenkt, dann bewegt sich Mario bergauf und wechselt zum nächsten triangle
- Bei jedem triangle-Wechsel ändert sich die QPU alignment, aber die Route ist so geplant, dass sich diese Änderungen am Ende gegenseitig aufheben und Mario wieder QPU aligned ist
- Auf dem sechsten triangle nähert sich Mario per Zickzack der main map
- Da es in einer PU keine objects gibt, können die elevator erst nach der Rückkehr zur main map genutzt werden
- A wird weiter gehalten, damit man mit B einen kleinen kick ausführen kann
- Ohne kick fällt Mario durch den elevator
- Mit kick kann er auf dem elevator stehen und Höhe gewinnen
- Die letzte Bewegung besteht darin, auf der Amazing Emergency Exit platform einen kick auszuführen, dann die Richtung zu ändern und sich auf den Scuttlebug zu schießen
- Diese Bewegung erzeugt eine Verschiebung von 10 PU nach rechts und 3 PU nach unten, daher positioniert man sich vorher 3 PU höher und 10 PU weiter links, damit man auf der main map endet
- Gleichzeitig wird auch die relative Position auf der map so angepasst, dass die letzte Bewegung möglich ist
- Der Scuttlebug wird in dem Moment aktiviert, in dem Mario den PU room betritt; man muss ihn erreichen, bevor er zu weit fällt, daher bleiben für den finalen approach nur wenige frames Spielraum
- Schließlich werden durch den Scuttlebug bounce und einen ground pound im misalignment genug Höhe gewonnen, um auf die Watch for Rolling Rocks-Plattform zu kommen und den Star mit 0,5 A-Presses zu erhalten
1 Kommentare
Hacker-News-Kommentare
Ich glaube, das könnte das perfekte YouTube-Video sein.
Im Hintergrund gibt es einen großartigen Mario-Soundtrack und Gameplay, selbst erstellte Diagramme visualisieren, was passiert, und der Voice-over erklärt das Geschehen auf dem Bildschirm.
Es bezieht sich sogar auf andere YouTube-Videos und Kommentare, ist unglaublich detailliert und kenntnisreich und versucht nicht, einem etwas zu verkaufen.
Es fühlt sich an, als sei es eher aus Leidenschaft als für Views gemacht; für mich ist das der Gipfel von YouTube.
Sie springen detailliert und kenntnisreich zwischen Neurochemie/Biochemie, Psychologie, Spielen, menschlichem Verhalten, Kultur und Religion hin und her – und dazu, wie sich all das im Lauf der Zeit verändert hat.
Für mich ist so etwas der Gipfel von YouTube.
Ich finde Hintergrundmusik schwer auszuhalten.
pannenkoeks Tiefe des Wissens und analytische Fähigkeit sind wirklich erstaunlich.
Nachdem ich seine SM64-Videos gesehen hatte, sind meine Ansprüche gestiegen; es ist sehr schwer geworden, bei anderen Spielen ein ähnliches Maß an Strenge und Produktionsqualität zu finden.
Am nächsten kam dem bisher ein Video darüber, wie Speedrunner den Zufall in einem Puzzle von Wind Waker bezwungen haben.
https://youtu.be/1hs451PfFzQ
AsumSaus hat auch viele Videos, die seltsame Mechaniken in Melee sezieren.
Fast alle sind hervorragend, daher ist die Auswahl schwer, aber https://www.youtube.com/watch?v=rA8kpvTBh8Q und https://www.youtube.com/watch?v=9fo0cPmj4VA sind gute Einstiegspunkte.
Er behandelt Speicherlayout, die Funktionsweise unbeabsichtigter Bugs, CPU-Befehlssätze und was auf Hardwareebene passiert.
Sehr zu empfehlen.
https://www.youtube.com/@RGMechEx
https://www.youtube.com/channel/UCYDnJiF0_RqSjkjvjRbG1tA
Besonders eine Serie, in der Paper Mario auf zahllose ungewöhnliche Arten zum Absturz gebracht wird, wurde zum Meme.
Leider ist der Kanal seit 2020 nicht mehr aktiv.
Die Videos sind kurz, aber die Analyse ist gut.
https://youtu.be/6sPS4yqC72I oder https://youtu.be/TM7SutJyDCk kann ich sehr empfehlen.
Das ist Nerd-Porno in reinster Form, und es ist großartig.
Erklärungen wie die, dass die Kollisionserkennung des Spiels tatsächlich Gleitkommawerte entgegennimmt und sie in
shortumwandelt, kitzeln einem irgendwie angenehm das Gehirn.Dass ein Spiel wie SM64 auch Jahrzehnte nach seiner Veröffentlichung Menschen immer noch fasziniert und fesselt, sagt viel aus.
Unter heutigen Mainstream-Spielen scheint es immer weniger Titel zu geben, die ein solches Maß an Spielerleidenschaft teilen.
Die komplette Geschichte der A-Button-Challenge
https://www.youtube.com/watch?v=yXbJe-rUNP8
Das Video ist über fünf Stunden lang; ich lasse es im Hintergrund laufen oder schaue es, wenn ich Zeit totschlagen will.
Die Menge an Wissen und das Niveau der Bug-Ausnutzung, die diese Leute zeigen, sind absurd.
Einige der entdeckten Dinge sind wirklich verrückt, und es ist erstaunlich, wie vieles davon nur gerade so funktioniert.
Bismuth ist insgesamt ein YouTuber mit hoher Qualität.
Bei dem Teil mit „12 Stunden lang Geschwindigkeit aufbauen“ bin ich völlig zusammengebrochen.
https://youtu.be/kpk2tdsPh0A?t=640
Die Denkweise ist wirklich kristallklar.
Ich finde es toll, dass es im Internet so viele unglaublich kluge Menschen gibt.
Natürlich steht es jedem frei, seinen Kopf zu benutzen, wie er will, aber sich derart in einen extrem obskuren Bug eines rund 30 Jahre alten Spiels zu vertiefen, um zu beweisen, dass ein Trick technisch möglich ist, der ohne Tool-Unterstützung praktisch nicht ausführbar ist, wirkt schon sehr seltsam.
Das Erklärvideo ist hervorragend, aber das zugrunde liegende Ziel erscheint mir absurd.
Wenn du Geschichten über Paralleluniversen magst, empfehle ich dringend den SM64-1-Key-Speedrun https://youtube.com/watch?v=iUt840BUOYA und danach Bismuths Erklärung https://youtube.com/watch?v=wjge1bVobN0.
Das ist eine wirklich erstaunliche technische Leistung, die stark auf der Forschung von pannenkoek2012 basiert.
Paralleluniversen und die ganze dazugehörige Vorstellung entstehen vollständig dadurch, dass ein 16-Bit-Integer im Bodenprüfungs-Code überläuft.
Mario 64 speichert Positionen normalerweise als Gleitkommawerte, wandelt sie bei der Kollisionsprüfung aber in 16-Bit-Integer um.
Wirklich erstaunlich
Immer wenn ich Menschen sehe, die von irgendeiner Leidenschaft so stark angetrieben werden, dass sie derart extreme Hingabe investieren, bin ich beeindruckt.
Ich habe nur selten eine Leidenschaft gespürt, die mich dazu bringen würde, so hart zu arbeiten.
Manchmal denke ich, es wäre schön, wenn solche Leute ihr Talent und ihre Energie für wirklich wichtige Dinge wie die Heilung von Krankheiten oder wissenschaftliche Durchbrüche einsetzen würden.
Zumindest könnten sie dann wohl auch selbst das Gefühl haben, dass ihr großes Potenzial nicht verschwendet wurde.
Allein mit dem Aufwand, der in dieses Video geflossen ist, hätte wahrscheinlich schon ein ordentlicher Forschungsaufsatz entstehen können.
Ich wünschte, ich hätte dieses Maß an Motivation auch für meine Arbeit, aber insgesamt bin ich einfach nur beeindruckt.
Ich mag dieses Video.
In jüngerer Zeit hat er auch ein Video zu konkreten technischen Aspekten des N64 gemacht, und Achtung: Gleitkommazahlen.
https://youtu.be/nYDmBdUalgo
Kann jemand noch mehr solcher Rabbit-Hole-Videos wie im Originalbeitrag empfehlen?
Das Thema ist völlig egal.
Ich mag solche Videos, die zeigen, wie tief man in irgendeine Sache eintauchen kann.
Mein aktueller Favorit ist https://youtu.be/_hjRvZYkAgA.
https://youtu.be/KVgoy_a_gWI
https://youtu.be/6gjsAA_5Agk
Dieses Video erklärt auch, was ein 0,5-A-Input ist und warum man sich überhaupt darum kümmert.
Da Mario 64 das Loslassen einer Taste nicht berücksichtigt, zählen Runner das Loslassen nicht separat.
Weil man sich jederzeit dafür entscheiden kann, A nicht loszulassen, lässt man in einem Minimum-A-Press-Run A nur los, um A erneut drücken zu können.
In einem Live-Kommentar kann man kurz erklären, was 0,5 A „bedeutet“, aber ohne diese Erklärung fragt man sich wahrscheinlich, warum das überhaupt relevant ist.
Man muss auch erklären, dass Mario sich anders verhält, wenn A gedrückt gehalten wird, als wenn A nicht gedrückt ist.
Wenn man im ersten Fall A drückt und nicht loslässt, kann der zweite Fall diesen Input mitbenutzen.
Wenn es auf den gedrückten Zustand achtet, etwa beim Gleiten in der Luft, dann muss es doch zwangsläufig auch auf den nicht gedrückten Zustand achten, etwa wenn man in der Luft ist, aber nicht gleitet.
Um vom Zustand „in der Luft und gleitend“ zu „in der Luft und nicht gleitend“ zu wechseln, muss man die Taste loslassen.
Verstehe ich da etwas falsch?
Ich habe M64 nur etwa fünf Minuten gespielt, aber es steht auf meiner Liste, und ich versuche meine Kinder immer wieder dafür zu begeistern, damit ich selbst auch Zeit finde, es zu spielen.
Um ein zweites Mal zu springen, muss man die Taste zuerst loslassen.
0,5 ist eigentlich eher das Konzept, dass ein einzelner A-Input über mehrere Level hinweg weiterläuft.
Oberflächlich fragt man sich: „Was soll denn 0,5 überhaupt sein?“, aber am Ende ist es nur eine Frage der Semantik.