Die Veröffentlichung des VVVVVV-Codes zeigte, wie unhöflich die Spiele sind

Bild

Letzte Woche feierte Terry Cavana, der Erfinder von Dicey Dungeons , den zehnten Jahrestag seines langjährigen Spiels VVVVVV , indem er seinen Quellcode veröffentlichte . Einfach erklärt bedeutet dies, dass jeder nun sehen kann, wie das Spiel erstellt wurde, da jede Codezeile sorgfältig untersucht werden kann.

Dies kommt selten vor und daher ist der Wert der Veröffentlichung dieser Informationen sehr hoch. Die Leute können daraus lernen oder den Code verbessern. Einige Reviews des VVVVVV- Quellcodes waren schrecklich - die Forscher sahen Dinge, die besser geschrieben werden könnten. Vielleicht hat Cavana das vorhergesehen - in seinem Beitrag, in dem er die Veröffentlichung des Codes angekündigt hat, gibt Terry zu, dass „das Spiel VVVVVV technisch nicht sehr gut durchdacht ist! Selbst für die Standards von Indie-Autodidakten ist der Code ziemlich chaotisch. “

Es gibt ein Missverständnis, dass das Schreiben von Code an sich anmutig und nachdenklich ist, denn am Ende ist dies eine Art Schreiblogik, nicht wahr? Kein Wunder, dass es Informatik heißt? In Wirklichkeit ist alles viel komplizierter. Sehr oft zeigen Videospielentwicklungsgeschichten, dass es in Spielen so viele Elemente gibt, vom Spieldesign bis zum Sound, dass sie oft erst im letzten Moment , wenn überhaupt , zu einem Ganzen zusammengefügt werden .


„Es gibt einen Namen für Spiele, bei denen der Code kaum in Verbindung steht, die eine dumme Architektur haben, bei der Fehler fast unmöglich zu beheben sind und bei denen Krücken auf Fahrrädern gestapelt sind. Sie werden "veröffentlichte Spiele" genannt.

"Fast jedes Spiel, an dem ich gearbeitet habe, wurde in dem Moment veröffentlicht, als der Mist und die Stöcke, die das gesamte Gebäude vor der Zerstörung bewahrten, kurz vor der Katastrophe standen", schrieb Entwickler James Patton in einer Diskussion über den Code des Spiels auf Twitter .

Fast jeder Entwickler, mit dem ich gesprochen habe, sagt dasselbe.

„Spiele sind keine gewöhnliche Software, sondern ein komplexer Mechanismus, für dessen erfolgreiche Veröffentlichung Kenntnisse in vielen Disziplinen erforderlich sind. Oft muss man Opfer bringen, um die Frist einzuhalten“, schrieb Spieleentwickler James Simpson in einem Brief. „Ich kenne viele Entwickler, die versuchen, ihren Code zu perfektionieren. Dieses Beispiel für Open Source zeigt, dass Sie ein Spiel erfolgreich veröffentlichen können, ohne dieses Niveau zu erreichen. "

Im Fall von VVVVVV wurde eine ausführliche Diskussion durch ein separates Fragment des Quellcodes ausgelöst, das eine sehr chaotische Struktur aufweist. Tatsächlich hilft es, den Status des Spiels zu bestimmen: zum Beispiel in einer Zwischensequenz oder einem Teil eines Dialogs. In einer normalen Situation sind viele dieser Zustände separat gruppiert - der Code von Minispielen ist beispielsweise separat von der Springmechanik geschrieben -, aber nicht bei diesem Spiel. Beispielsweise sind im Cavan-Code Spielzustände, die mit Zwischensequenzen verknüpft sind, auf verschiedene Teile des Programms verteilt und mit Elementen wie Spielmodi und dem Hauptmenü gemischt.


Heute ist das VVVVVV-Videospiel nach #OpenSource umgezogen und jemand hat eine Konstruktion mit mehreren hundert Schaltern im Code entdeckt. #programming Das ist sowohl schön als auch ekelhaft.

Zack Gage, der an Handyspielen wie Pocket-Run Pool und Really Bad Chess gearbeitet hat , hat dieses berüchtigte Schalterdesign für uns demontiert und erklärt: „Dies ist ein großartiges Beispiel dafür, was Terry wahrscheinlich nicht wusste, als er anfing, das Spiel zu schreiben "Wie viele Zwischensequenzen werden darin enthalten sein, wie wird das Hauptmenü funktionieren und wie viele seltsame potenzielle Endzustände von seltsamen Modi können auftreten."

Wenn Cavana den Code fehlerfrei machen wollte, konnte er solche Änderungen einstellen und den Code besser organisieren. Stattdessen entschloss er sich, weiterzumachen und das zu tun, was geschehen war, und zwang ein riesiges Stück Code dazu, Hunderte verschiedener Optionen zu verwalten.

"Anstatt einen Schritt zurückzutreten und alles zu arrangieren, dachte Terry wahrscheinlich an etwas wie" Ja, ich werde der riesigen switch-Anweisung einfach jedes Mal Zustände hinzufügen, wenn ich etwas Neues brauche. " Dies ist zu 100% normal und für die Veröffentlichung des Spiels unbedingt erforderlich. "

Gage ist einer solchen Denkweise sehr nahe - er erzählte uns, dass er im Rückblick auf die Entwicklung des Spiels Ridiculous Fishing "buchstäblich nicht versteht, wie der Code funktioniert, weil er so schlecht geschrieben ist". Selbst andere Teammitglieder verstehen nicht ganz, wie ihr Spiel funktioniert.

Aber weißt du was? Das lächerliche Fischen erhielt immer noch mehrere Auszeichnungen und verdiente mehrere Monate lang fast eine Million Dollar . Natürlich müssen Entwickler Fehler beseitigen, die das Spiel zerstören, und alles, was einem Spieler im Weg steht, um das Spiel zu genießen. Aber wie sie sagen, das Beste ist der Feind des Guten.

"Ungeplante Teile werden immer angezeigt, und wenn Sie zur Organisation des Codes zurückkehren, bedeutet dies, dass Sie Zeit verlieren, um neuen Code zu schreiben, neue Funktionen hinzuzufügen oder Grafiken zu zeichnen", sagt Gage.

Aber trotz all des Snobismus, der durch das Spiel VVVVVV in sozialen Netzwerken verursacht wurde, scheint Cavana seinen Sinn für Humor und seine Witze darüber nicht zu verlieren.


Jeder Screenshot, den ich von schrecklichen Fehlern im Quellcode VVVVVV gesehen habe, macht mich nur stärker.

"Ich weiß nicht, was ich dazu sagen soll?", Schrieb er in einem Beitrag über die Veröffentlichung von Quellcode. „Ich war jung und es war für mich interessanter, etwas auf dem Bildschirm zu erstellen, als es richtig umzusetzen. Das Beste am VVVVVV- Quellcode ist wahrscheinlich, dass bewiesen wurde, dass Sie etwas selbst erstellen können, auch wenn Sie kein besonders guter Programmierer sind. “



Wie Spieleentwickler Probleme mit schnellen Hacks lösen, erfahren Sie in der Übersetzungsserie „Schmutzige Tricks im Videospiel-Code“:

Schmutzige Tricks im Spielcode

Entwickler über die schmutzigsten Software-Tricks in Spielen

Schmutzige Stunts und RAM

Schmutzige Videospielentwicklertricks

Source: https://habr.com/ru/post/de483874/


All Articles