Dieser Eintrag ist eine kostenlose Nacherzählung des Videos.
Ist es möglich, ein unmögliches Level in Super Mario Maker hochzuladen? .
Das Video enthält einen Link zum Video "
The Impossible Level" , daher werde ich es auch noch einmal erzählen. Meine Nacherzählung gibt nicht vor, korrekt zu sein, ich möchte nur interessantes Material teilen.
Was wird diskutiert
Das Auffinden von Fehlern in der Software kann sehr unterschiedlich sein. Ich suche nach Fehlern in Quellcodes, in Binärdateien, in großen Softwarekomplexen und sogar in Hardware. Aber es gibt einen Bereich, in dem ich fast nie etwas getan habe - die Suche nach Fehlern in Computerspielen.
Die Leute verbringen viel Zeit damit, Fehler in Spielen zu finden. Dies können logische, mathematische und sogar Programmiererfehler sein. Jemand tut dies, um das Spiel aus einem neuen Blickwinkel zu betrachten, während jemand versucht, das Spiel mindestens einige Sekunden schneller als jeder andere Spieler zu bestehen. Es scheint mir, dass es die Community der Speedraner (Leute, die Speed Games spielen) war, die einen großen Beitrag zur Suche nach Spielfehlern und -fehlern geleistet hat. Aber wir werden während der Passage ein anderes Mal Zeit sparen. Heute geht es nur darum, Fehler in der Spielelogik zu finden.
Im September 2015 veröffentlichte Nintendo Super Mario Maker, einen Plattformer über den berühmten Mario-Klempner. Eines der Hauptmerkmale des Spiels war die Möglichkeit für Benutzer, selbst Levels zu erstellen (hier werden sie Kurse genannt) und diese mit anderen Spielern zu teilen. Jemand erstellt Ebenen, verfolgt den Prozentsatz der Erfolge und jemand durchläuft diese Ebenen. In diesem Moment haben sich die Spieler der Forscher die Hände gekämmt - ist es möglich, ein unpassierbares Level zu veröffentlichen?
Es macht keinen Sinn, so etwas zu zeichnen, obwohl das Level wirklich unpassierbar ist, können wir es auch nicht veröffentlichen.
Nintendo stand vor einer ziemlich interessanten Aufgabe - wie man verhindert, dass die Bibliothek mit leeren und unpassierbaren Ebenen „überfüllt“ wird. Und sie kamen gut mit ihr zurecht. Die Lösung ist recht elegant und wurde mehr als einmal in Spielen mit einem ähnlichen kreativen Konzept verwendet: Sie müssen das Level selbst durchlaufen, bevor Sie es veröffentlichen und auf den Server hochladen. Und einmal von Anfang an und einmal von jedem Kontrollpunkt. Tatsächlich läuft die Aufgabe darauf hinaus, dass ein Kurs entwickelt werden muss, den der Autor während der Veröffentlichung belegen kann, jedoch nicht danach.
Versuchsnummer 1. Codesperre
Das Spiel hat viele Objekte, die nach bekannten Regeln miteinander interagieren. Sie können versuchen, so etwas wie eine Codesperre zu spielen.
Sie können beispielsweise das folgende Werkstück nehmen:
Ein Kupa (1) kann mit Ausnahme von Geistern (2) nicht durch einen Schwarm von Monstern auf seinem Weg (3) gehen. Monster zerstreuen sich nicht gegenseitig und stehen still, während sie sich auf den Köpfen des anderen befinden. Wenn Mario einen Ziegelsteinblock (4) trifft, stirbt das untere Monster vom Stapel und lässt den Geist einen Block tiefer fallen. Befindet sich der Geist in derselben Linie wie das Abteil, kann er weiter gehen. Der Level-Autor kennt die Anzahl der Monster vor jedem Geist und weiß, wie oft Sie jeden Block treffen müssen, um den Weg für das Abteil freizumachen. Sobald das Coupé alle Monster passiert, aktiviert es den Abzug und macht den Durchgang für Mario frei.
Dieses Beispiel dient nur zur Veranschaulichung - bei realen Versuchen, eine Codesperre zu erstellen, war alles komplizierter. Der Spieler sieht keine Monster, das Level ist in unabhängige Segmente unterteilt, in denen Sie jeweils wissen müssen, wie oft und welchen Stein Sie schlagen müssen. Und nur der genaue Durchgang aller Segmente öffnet den Durchgang zum Ausgang des Kurses.
Leider weist dieser Ansatz eine Reihe erheblicher Nachteile auf:
- Eine Art
Nerd- Enthusiast kann viel Zeit damit verbringen, alles quantitativ zu sortieren. - Ein erfolgreicher Spieler trifft einfach die zufällig ausgewählten Blöcke und PLÖTZLICH sind dies genau die Blöcke, die gleich oft getroffen werden müssen.
- Spieler können den Kurs einfach herunterladen und im Editor öffnen. Nach dem Studium lernen sie mit gebührender Sorgfalt den "Code".
Wir setzen die Suche nach einer Möglichkeit fort, ein unpassierbares Level herunterzuladen.
Versuch Nummer 2. Rote Münzen
Der Benutzer ReflectivistFox veröffentlichte ein Video von
The Impossible Level, in dem er eine interessante Idee für die Veröffentlichung eines unpassierbaren Levels vorschlug. Es stimmt, es gibt eine erhebliche Einschränkung: Wir durchlaufen den Kurs, wenn Sie ihn vom Anfang bis zum Ausgang spielen, und ABSOLUT GENAUIGKEIT-VOLLSTÄNDIG-ALL ist unpassierbar, wenn Sie den Checkpoint verwenden. Es scheint, dass es unter solchen Einschränkungen nicht so interessant ist, das Konzept einer Ebene zu betrachten, aber tatsächlich ist sogar ein solcher Schritt sehr wichtig. Erinnerst du dich noch daran, dass es beim Laden des Levels notwendig ist, es nicht nur von Anfang an, sondern auch von jedem Kontrollpunkt aus zu durchlaufen? ReflectivistFox hat die Hälfte der Einschränkung überwunden - sein Level kann beim Booten erreicht werden, jedoch nicht im normalen Modus.
Die Schlüsselidee ist die Verwendung des Spielelements "Rote Münze" (ich werde sofort klarstellen, dass die Spieler sie sowohl "Rot" als auch "Rosa" nennen. Sie waren in früheren Spielen der Mario-Serie rot und in Super Mario Maker rosa. Das Prinzip ihrer Arbeit ist dasselbe. Daher werde ich im Folgenden nur "rot" verwenden. In normalen Levels werden rote Münzen als Teil des gesammelten Schlüssels verwendet. Der Autor des Kurses hat mehrere solcher Münzen an schwer zugänglichen Stellen. Sobald Mario sie alle einsammelt (der Spieler kennt die genaue Anzahl der Münzen), erhält er den Schlüssel zu einer speziellen Tür, hinter der sich möglicherweise einige Boni oder eine Passage weiter oben befinden.
Ein wichtiges Merkmal ist, dass diese Punkte von diesen Punkten besonders betroffen sind. Checkpoint speichert das Spiel, wenn Mario es aktiviert. Wenn der Spieler verliert, stirbt der Charakter und das Laden vom letzten Kontrollpunkt erfolgt. Alle Spielelemente werden wiederhergestellt: Feinde, Boni und mehr. Aber keine roten Münzen. Sie werden nicht wiederhergestellt, obwohl die Anzahl der gesammelten Münzen erhalten bleibt. Und das ist nicht das ganze Feature. Wenn Sie alle roten Münzen einsammeln und verlieren, ändert sich das Verhalten - der Zähler wird auf Null zurückgesetzt und die Münzen befinden sich an ihren ursprünglichen Stellen.
ReflectivistFox verwendete auf seiner Ebene zwei Funktionen des Spiels.
Bitte beachten Sie, dass der Kontrollpunkt (rote Fahne in der Mitte) vom Block zur Hälfte geschlossen ist. Eine solche Einstellung erzeugt einen interessanten Effekt - Sie können sie aktivieren, indem Sie den obersten Block erreichen. Wenn Sie das Spiel laden, können Sie keinen Charakter innerhalb des Blocks erstellen, und sie wird unten in der Nähe der Türen und des Dinosauriers „herausfallen“.
Somit wird der Spieler, der vom Checkpoint startet, auf eine alternative Route gebracht. Auf dieser Strecke erwartet ihn folgendes:
Es gibt viele Elemente und es ist sehr schwierig, sie kurz zu beschreiben. Daher werde ich nur die wichtigsten Dinge hervorheben.
Mario erscheint von der Tür und sein Blick ist auf die gleiche Weise wie auf dem Bild gerichtet, aber er muss zur Tür rechts gelangen (4). Dazu muss er entlang der Pfeile nach links gehen, nach oben und durch die Blöcke von oben nach rechts gehen (im Screenshot verläuft der Pfad nach oben und rechts entlang der Grenze, aber Sie können keinen besseren Schuss machen). Die spezielle Konstruktion von Objekten (1) verhindert, dass sich der Charakter dreht. Wenn dies der Fall ist, verschwindet das Objekt (2) und die darüber liegende bewegliche Wand schließt den Durchgang. Alle anderen Methoden sind mit dem Kriegsgefangenenblock (3) an den Drachen gebunden - er stößt ab und bewegt seinen Rücken, wodurch er nach links gelangen kann, ohne die Gruppe frühzeitig zu provozieren (1). Leider macht es das Bewegen der Kriegsgefangeneneinheit (3) unmöglich, die Tür (4) zu benutzen. Um die Tür zu betreten, muss der Spieler etwas unter die Tür legen, um mit ihr auf gleicher Höhe zu sein. Der Spieler kann versuchen, den Kriegsgefangenenblock (3) mit Fingerspitzengefühl aufzunehmen und zur Tür zu bringen, aber der Autor hat sich auch darum gekümmert - der vertikale Teil der Route ist zu hoch, um mit einem normalen Sprung überwunden zu werden. Alle dem Spieler zur Verfügung stehenden Optionen führen zu einer Kriegsgefangenenexplosion oder der Unfähigkeit, dieses Gerät zur Tür zu bringen (4). Es sind genau solche unlösbaren Situationen, denen ein Spieler begegnet, der beschließt, dieses Level von einem Kontrollpunkt aus zu bestehen. Aber wie hat der Autor es bei der Veröffentlichung selbst weitergegeben?
Achten Sie auf den Block (leer), den ich mit der Nummer 5 markiert habe. An dieser Stelle befindet sich zunächst eine rote Münze. Während der Passage, bis zum Kontrollpunkt, kann der Spieler diese Münze nicht passieren und wird sie sicher nehmen, und deshalb ist sie an dieser Stelle jetzt leer. Während des Checks kann das Spiel nicht feststellen, welche roten Münzen der Spieler gesammelt hat. Durch das Laden des Spielstatus in den Checkpoint werden alle roten Münzen wiederhergestellt, sodass der gurgelnde Spieler bei Bedarf alle sammeln kann. Die zweite rote Münze ist in die Wand eingemauert und kann nicht eingesammelt werden, wodurch sichergestellt wird, dass der Münzzähler nicht nachgeladen werden kann. Daher wird während des Spiels keine Münze anstelle von Block (5) verwendet, wenn sie benötigt wird. Und zum Zeitpunkt der Veröffentlichung ist es dort garantiert - so können Sie es anstelle des POW-Blocks (3) verwenden, um sich nach links zu bewegen und die Tür (4) ruhig zu verlassen. Und es gibt bereits einen Ausgang vom Kurs in der Nähe.
Das Ergebnis dieses Versuchs:
- Sie können das Level bestehen, wenn Sie den Checkpoint überhaupt nicht verwenden. Daher passt diese Methode nicht zu uns.
- Das Bestehen des Levels während der Veröffentlichung und während des Spiels weist immer noch Spielunterschiede auf, was bedeutet, dass wir weiter suchen müssen.
Verliere nicht den Mut, mach weiter und schau.
Versuch Nummer 3. Seltsamer Pilz
Der Unterschied wurde gefunden! Dies ist der sogenannte "seltsame Pilz". Mit einer Wahrscheinlichkeit von 1% erscheint ein seltsamer Pilz anstelle des üblichen.
So sieht ein seltsamer Pilz aus.
Aber Mario danach, hmm ... mit dem Pilz. Seltsamer Mario unterscheidet sich von den üblichen deutlich höheren und längeren Sprüngen. Wenn Mario zuerst einen gewöhnlichen Pilz isst und dann seltsam ist, wird Mario außerdem seltsam. Wenn Sie das Gegenteil tun, bleibt es immer noch seltsam - ein gewöhnlicher Pilz hat keine Wirkung.
Wenn alles so einfach wäre, könnte jeder ein Level wie dieses erstellen:
Die Länge des Wassergrabens ist speziell so ausgelegt, dass der übliche Mario nicht darüber springt und der seltsame leicht ist. Es reicht aus, es immer wieder abzuspielen, bis ein seltsamer Pilz herausfällt. Leider passt diese Methode nicht zu uns, da sie für die Wahrscheinlichkeit des Bestehens ganze 1% ergibt. Glücklicherweise ist das Nintendo-Level auch nicht glücklich, da es bei 99% unpassierbar ist und sie beschlossen, diese Situation zu beheben. Zum Zeitpunkt der Veröffentlichung werden niemals seltsame Pilze auftauchen.
Hier ist es! Wir müssen nur die Logik umkehren. Wenn während der üblichen Passage der Pilz herausfallen kann, aber nicht während der Veröffentlichung, müssen Sie alles auf ein absolutes Niveau bringen. Es ist notwendig, den Pilz zum Erscheinen zu zwingen, und dann wird im üblichen Modus immer der seltsame Mario gespielt, und zum Zeitpunkt der Veröffentlichung - der übliche.
Dies mag wie eine ganze „Pilzfarm“ aussehen, die Mario zwingt, ungefähr 200 Pilze zu sammeln (maximal 100 Blöcke eines Typs, aber Sie können 100 in der Hauptwelt und weitere 100 in der zusätzlichen Welt platzieren).
Und hier ist ein Beispiel für eine „Falle“ für den seltsamen Mario. Aufgrund eines höheren Sprungs kann er sich nicht in einen Ast auf der linken Seite verwandeln und wird gesperrt, bis der Timer abgelaufen ist (genauer gesagt, es gibt ein gerissenes System von Bomben und Hindernissen, die Mario zwingen, höher zu springen, und für den seltsamen Mario reicht dies aus, um sich selbst zu sperren, und der übliche aktiviert nur die Bombe und kann vom Kurs abweichen).
Zusammenfügen und zusammenfassen:
- Ein sehr guter Versuch, der es mit nur großer Wahrscheinlichkeit nicht erlaubt, das Spiel im normalen Modus zu bestehen.
- Und doch besteht eine Wahrscheinlichkeit von 13,4% (0,99 ^ 200 ~ 0,134, wenn wir glauben, dass alles mit der gleichen Wahrscheinlichkeit erzeugt wird), dass der seltsame Pilz nicht herausfällt und das Niveau dennoch überschritten wird. Und selbst wenn nicht gleichmäßig, dann gibt es immer noch eine Chance, und das Niveau kann möglicherweise erreicht werden.
Was tun? Letzte Chance.
Versuch Nummer 4. Blöcke mit einer doppelten Entität
Erinnerst du dich an das erste Bild zu diesem Artikel? Ich werde es wiederholen:
Diese Ebene wurde tatsächlich unter anderen Ebenen veröffentlicht. Und es kann noch veröffentlicht werden.
Nintendo hat gute Arbeit geleistet, als sie die Logik zur Überprüfung der Pegel entwickelte, aber dies war nicht immer der Fall. Als das Spiel gerade veröffentlicht wurde, hatte es Fehler. Und wenn wir einen davon verwenden, können wir unseren Plan erfüllen.
Zuerst müssen Sie alle Daten auf Wii U löschen und Super Mario Maker v1.0 installieren. Sie müssen dies offline tun, damit das Spiel nicht aktualisiert wird. Und es wird möglich sein, das Spiel so zu spielen, wie es zum Zeitpunkt des Starts war.
Jetzt müssen wir über Blöcke mit einer doppelten Entität sprechen. Dies ist eine Panne, die es den Blöcken ermöglichte, in eine Richtung auszusehen, obwohl sie tatsächlich völlig unterschiedlich sind. Um einen zu erstellen, mussten Sie einen von drei Arten von Blöcken nehmen - eine Münze, eine Wolke oder einen festen unpassierbaren Block, ihn auf der Karte platzieren und einen weiteren Block oben auf demselben Satz platzieren, sich jedoch entlang der Route bewegen und dann die Route entfernen (Blöcke mit einer Route haben anfangs kleiner Weg).
Wir setzen einen fortlaufenden Block mit einer Route in die Cloud.
Solche Blöcke werden kollabieren und sich wie der ursprüngliche Block verhalten und wie überlagert aussehen. Nach einiger Zeit hat Nintendo es gepatcht, wodurch alle Ebenen, die diesen Fehler verwendeten, gebrochen wurden, da die Reparatur von praktisch doppelten Blöcken nur noch überlagert blieb.
Blöcke (1) sehen nur solide aus, aber logischerweise sind sie gewöhnliche Münzen.
Nachdem eine solche Ebene erstellt wurde, muss sie nicht sofort veröffentlicht werden. Genauer gesagt ist es einen Versuch wert - das Spiel bietet an, unseren Kurs zu belegen, was wir leicht tun können. Das Senden an den Server schlägt jedoch fehl. Das Internet wurde nicht aktiviert. Der Level wird jedoch als bestanden markiert und ohne zusätzliche Überprüfungen an den Server gesendet. Auch nach dem Update des Spiels auf die aktuelle Version. In dem ist der Kurs schon unmöglich zu absolvieren.
Fertig! Hier ist es - geladen und absolut sicher in keiner Weise und unter keinen Umständen ein passables Level. Beim vierten Versuch wurde Erfolg erzielt. Damit ist unsere kurze Reise in die Welt der Erforschung des Spiels Super Mario Maker abgeschlossen.
Fazit
Vielen Dank, dass Sie dieses Textblatt mit Bildern gelesen haben. Ich habe versucht, über das Auffinden von Fehlern in der Logik der Anwendung zu sprechen. In diesem Fall ist dies ein Spiel, aber die allgemeinen Ansätze bleiben erhalten, wenn sie auf das System und die Anwendungssoftware übertragen werden. Der Code kann gut geschrieben werden, dies bedeutet jedoch nicht, dass alles wie beabsichtigt funktioniert. Logische Schwachstellen sind sehr gefährlich und schwer zu erkennen, aber das ist auch interessant.
Alles gute Spiele, Schwachstellen und gut!