Machen Sie Ihr erstes Spiel Matt Porters frühe Erfahrungen

Es gibt zwei Spiele, die ich als erstes betrachte: eines, das ich gemacht habe, bevor ich Code schreiben konnte (was schwieriger war, als es sein musste, aber keineswegs unmöglich), und eines, das ich in Zusammenarbeit mit einem Künstler gemacht habe, nachdem ich die Grundlagen von gelernt hatte Programmierung. In diesem Artikel werde ich meine Erfahrungen mit Ihnen teilen, um zu beweisen, dass Sie, egal auf welchem ​​Skill-Level Sie sich gerade befinden, alles, was Sie zum Spielen brauchen, Leidenschaft ist - keine Ausreden!


Mein Vorprogrammierspiel

Bevor ich Spieleentwickler, insbesondere Programmierer, bin, habe ich mich mit Flash 4 mit Animationen befasst. Zu der Zeit war ich nur etwa 12 Jahre alt, aber ich hatte viel Spaß beim Erlernen der Grundlagen durch Stockkämpfe, die von meinen unzähligen Stunden sehr inspiriert waren verbrachte Newgrounds. Dies führte mich schließlich dazu, kurze Animationen zu erstellen, darunter Pre-Loader, Play-Buttons und die halt() Funktion (im letzten Bild des Films platziert, um ein Looping zu vermeiden).

Ich wollte schon immer Spiele machen, aber das schien mir völlig unmög- lich zu sein - bis ich merkte, dass diese wenigen Tools, die ich bereits verwendete, mir die Macht dazu gaben.

Treffen Sie Omnigosha

Der Name meines ersten Spiels war Omnigosha. Bis heute habe ich keine Ahnung, wo ich diesen Namen gefunden habe, aber es hörte sich zu der Zeit cool an, also blieb ich dabei.

Omnigosha war ein Point-and-Click-Abenteuer, das in einer großen Stadt stattfand, in der ein Verbrechensyndikat nichts Gutes im Sinn hatte. Dem Spiel fehlte es meistens an Geschichte, aber aus den wenigen Briefen und Büchern, die Sie während des Spiels finden, erfahren Sie, dass eine Gruppe, die sich "Schwarze Mönche" nennt, illegale japanische Waffen importiert und von ihrem Anführer Don Etello (ich war ein kluges Kind, ich weiß).

Sie würden das Hauptgebäude erkunden (Gebäude A, da dies das einzige Gebäude war, das für dieses ehrgeizige Projekt jemals fertiggestellt wurde), Gegenstände sammeln und sich nach vorne arbeiten. Da ich über keine Programmierkenntnisse verfügte, gab es kein Inventar. Das Spiel hatte also einen linearen Elementfortschritt, was bedeutet, dass Sie das Spiel in einer bestimmten Reihenfolge weiterentwickeln mussten. (Obwohl es einen optionalen Mini-Boss-Kampf gab, der aufgetreten ist, wenn Sie einen Alarm ausgelöst haben, indem Sie versuchten, zu früh im Spiel einen Gegenstand aus einem sicheren Schließfach abzuholen.)

Ein Spiel mit (fast) keinem Code

Obwohl es absolut lächerlich erscheinen mag, habe ich tatsächlich meine gesamte Idee und noch einige davon fast ohne Code durchgebrannt. Die einzigen Tools, die ich hatte, waren Flash-Buttons und die Kenntnis der folgenden Funktionen:

 halt(); // stoppt den Film auf dem aktuellen Bild (); // setzt den Film vom aktuellen Bild fort gotoAndStop (Bild); // stoppt den Film auf dem angegebenen Frame gotoAndPlay (Frame); // nimmt den Film ab dem angegebenen Bild wieder auf

Ich dachte mir, ich könnte mit den oben genannten Tools so etwas wie ein Buch "Choose your own adventure" erstellen. Der Player springt zwischen den Seiten (Frames), indem er eine Auswahl trifft (das, worauf er geklickt hat), das bestimmt, an welche Seite (Frame) er gesendet wurde.

Zum Beispiel gab es 12 Etagen in meinem Spiel, so dass sich jede Etage auf den ersten 12 Frames befand. Der Aufzug, der zwischen den Etagen führte, war nichts weiter als ein Index von Knöpfen, die zu jedem Bild führten. Für die Räume mit mehreren Etagen habe ich die zusätzlichen Räume am Ende angeheftet.

Dieses System funktionierte tatsächlich ziemlich gut, um die Welt zu erkunden, die ich geschaffen hatte, aber ich hatte absolut keine Ahnung, wie man ein Inventar erstellt, in dem die Dinge schwierig wurden.

Das Inventar

Da ich kein Inventarsystem hatte, musste ich kreativ werden, wie sich das Spiel tatsächlich entwickelte. Dafür habe ich etwas absolut Lächerliches getan, aber ich wusste es nicht besser - und hey, es hat funktioniert.

Ich habe meine kopiert ganze Welt (alle Frames meines Spiels) zu mehreren "Szenen", eine für jede Fortschrittsphase des Spiels. Dann nahm ich leichte Änderungen an jeder Szene vor, je nachdem wie weit Sie im Spiel waren.

Wenn Sie zum Beispiel mit Szene 1 beginnen und der erste Gegenstand, den Sie sammeln, ein Schlüssel in Etage 4 ist, dann werden Sie, wenn Sie auf den Schreibtisch klicken, um diesen Schlüssel zu "sammeln", zu dem gleichen Boden und Rahmen bewegt, in dem Sie sich befanden , aber in Szene 2 In Szene 2 ist die Welt die gleiche, außer jetzt haben Sie den Schlüssel und können die Tür öffnen, die sie entriegelt. Es gibt kein System, das die Tatsache festhält, dass Sie den Schlüssel in der Hand halten: Sie befinden sich einfach in Szene 2, wo der Schreibtisch jetzt leer ist und die Tür geöffnet werden kann.

Dies gilt für jeden einzelnen Gegenstand, den Sie während des Spiels sammeln, was gut 20 bis 30 Kopien von fast jedem Frame in meinem Spiel erzeugt. Soweit ich wusste, habe ich nichts falsch gemacht! Und ich war bereit, trotz meines geringen Wissens noch mehr zu schaffen.

Kämpfen!

Als ich mich immer mehr für mein Projekt freute, wurde ich ehrgeiziger und begann mich zu fragen, wie viel ich mit dem Wenigen schaffen könnte, das ich wusste. Irgendwann in meinem Spiel treffen Sie sich mit den Mitgliedern der "Schwarzen Mönche" und haben ein Gewehrduell. Hier werden die Dinge verrückt.

Sie fragen sich vielleicht, wie dies ohne Programmierkenntnisse überhaupt möglich ist. Durch einige äußerst komplizierte Framesets und verschiedene Schaltflächen, die Sie je nach Vorgabe zu bestimmten Frames führen, war ich in der Lage, einen sehr ordentlichen Waffenabstand zu schaffen. Während dieser Pause können Sie den Abwärtspfeil drücken, um sich hinter einer riesigen Kiste zu verstecken, den Abwärtspfeil drücken, um aus dem Deckungsbereich zu gelangen, und auf Gegner klicken, die nicht in Deckung sind, um sie abzuschießen. Um alles abzuputzen, machte ich jede Kiste im Raum zu einer Schaltfläche, die angeklickt werden konnte, die einen Soundeffekt auslösen und ihre Grafik in eine Kiste mit einem Einschussloch ändern würde (das Einschussloch war vorbestimmt und nicht an der Stelle, die Sie geschossen haben ).

Später erstellte ich mit sehr ähnlichen Techniken sogar einen riesigen Panzer-Boss, der Raketen auf den Bildschirm schoß und einen Schwachpunkt hatte, der nur geschossen werden konnte, wenn die Wache deaktiviert war.

Kämpfe niemals ohne Waffe

Falls Sie es noch nicht erkannt haben: Meine oben genannten Methoden sind in jeder Hinsicht absolut lächerlich. Wenn ich die extremsten Grundlagen des Programmierens kennen würde, hätte ich dieses Spiel viel schneller erstellen können. Darüber hinaus hätte ich die Dateigröße deutlich verkleinern können, da ich keine Frames für jede Stufe des Spiels immer wieder kopieren musste.

Ein grundlegendes Verständnis von Arrays hätte es mir ermöglicht, ein einfaches Inventarsystem zu erstellen, das es dem Benutzer ermöglicht, Gegenstände zu sammeln, sobald sie sie gefunden haben, und das Spiel zu wissen, welche Gegenstände zu einem bestimmten Zeitpunkt aufbewahrt wurden. Wissen über ob Aussagen und Booleans hätten mir dann erlaubt, alle meine Türen, Kommoden, Gitter usw. zu überprüfen. Diese beiden zusammen mit ein paar anderen Grundlagen ermöglichten es mir, das Spiel richtig zu programmieren, sodass ich es je nach Bedarf bearbeiten und erweitern konnte. Jedes Mal, wenn ich ein neues Element am Anfang oder in der Mitte des Spiels hinzufügte, musste ich enorme Änderungen vornehmen, da alles im Spiel Frame- und Szenenspezifisch war und die späteren Werte sich mit früheren Ergänzungen änderten.

Behinder dich niemals durch mangelndes Wissen

Das Wertvollste, was ich aus diesem Spiel gelernt habe, ist, dass Sie sich niemals durch mangelndes Wissen behindern sollten. Wenn Sie versuchen, ein Problem ohne die richtigen Tools zu lösen, sollten Sie das Problem am besten von den Problemen lösen und die richtigen Tools zuerst erwerben.

Wenn Sie Schwachstellen in Ihren Programmierfähigkeiten haben, sollten Sie sich einen Aspekt nach dem anderen stellen, und Sie erwerben langsam aber sicher das Wissen, das Ihnen erlaubt, niemals Fehler zu machen, die ich gemacht habe.


Meine Echt Erstes Spiel

Ein paar Jahre nachdem ich Omnigosha gegründet und auf Newgrounds veröffentlicht hatte, lebte ich in der kleinen Stadt Moskau, Idaho. Hier arbeitete ich fünf Stunden pro Stunde in einer Pizza-Hütte, und hier entschied ich, dass sich mein Leben ändern musste. Ich hatte meinen Job völlig satt und hatte kein richtungsweises Verhalten in meinem Leben. Ich hatte zuvor ein Wacom-Grafiktablett gekauft, um meine Animationsfähigkeiten zu verbessern, aber Kunst war nie meine Stärke, und ich hatte endlich akzeptiert, dass meine Animation nur ein Hobby ist. Obwohl die Animation nicht meine Aufgabe zu sein schien, war alles in Ordnung, denn zum ersten Mal in meinem Leben wusste ich, was es war: Spieleentwicklung.

Ich wusste, dass ich nicht in der Lage war, dies in naher Zukunft zu verwirklichen, aber meine Motivation, den Tagesjob, den ich früher hatte, zu verlassen, war stark genug, um voranzukommen. Ein paar Monate später veröffentlichte ich mein erstes richtiges, vollständig programmiertes Spiel - Stabika Episode 1: Escape.

Wie ich Teil des Projekts wurde

Als Teil meiner Reise, um die Fähigkeiten zu erwerben, die ich brauchte, um Spieleentwickler zu werden, ging ich zu dem einzigen Ort, von dem ich wusste, dass er mich damals unterrichten konnte, Newgrounds. Hier habe ich unzählige Stunden in den Flash-Foren verbracht und jede Anfängerfrage gestellt, die der Mensch kennt. Ich habe Tutorials gelesen, die Fragen anderer Leute durchsucht und die Antworten, die sie erhalten haben, zur Kenntnis genommen. Das, was ich lernte, war zwar nicht nur formell oder bewährte Praktiken, aber es war ein großer Schritt in die richtige Richtung und nichts wie die Monstrosität von Praktiken, die ich zuvor verwendet hatte.

Als ich weiter lernte, wurde ich immer mehr darauf bedacht, jemandem zu helfen, zu dem ich fähig war, da dies mir beweisen würde, dass ich tatsächlich lernte, und es wäre großartig für mich, der Gemeinschaft, die mir gelehrt hat, was ich wissen konnte, etwas zurückzugeben . Eines Tages stellte David Mills eine besonders interessante Frage in den Newgrounds-Foren zur Erstellung einer zeitlosen God of War-Sequenz. Zu meiner Überraschung war ich tatsächlich in der Lage, seine Frage zu beantworten. Während die Codierung hinter der Idee meistens eine Logik war, die jeder verstehen konnte, war es einfach so, dass ich auch die Fähigkeit hatte, diese Logik zu programmieren.

Nach ein paar Antworten hin und her dankte er mir sehr und versprach, mich im Spiel anzurechnen. Ein paar Tage später war er zurück in den Foren, zeigte eine Demo mit dem Code, den ich ihm gab, und erhielt Feedback. Nicht lange danach stellte er wieder Fragen, wie er die Vorschläge der Leute einbeziehen sollte, und ich antwortete ihm wieder. Bevor wir es wussten, waren wir eine Partnerschaft eingegangen, und ich entwickelte mein erstes richtiges Spiel.


Wenn Sie sich für den ersten Austausch interessieren, finden Sie die Beiträge hier und hier.

Dies war die ursprüngliche Tech-Demo, die ich Mills lieferte, als Beweis für das Konzept, dass ich den Job erledigen konnte:

(Ein großes Lob an ImageShack für das Hosting der SWF all die Jahre.)

Stabika Episode 1: Flucht

Das Spiel selbst ähnelte den Zeitsequenzen von God of War, wie Mills in seinem ersten Beitrag erwähnte. Es war mehr oder weniger eine Animation mit interaktiven Momenten, in denen sich die Zeit verlangsamte und der Spieler vor dem Ablauf der Zeit eine zufällig ausgewählte Taste eingeben musste.

Diese Momente waren immer zu Zeiten, an denen eine Gefahr bestand. Wenn Sie also auf die richtige Taste tippen, wird die Animation wahnsinnig großartig fortgesetzt. Wenn Sie die falsche Taste drücken, führt dies zu einem blutigen Tod. Das Spiel dauerte nur wenige Minuten, wenn Sie gut genug waren, aber die meisten Spieler mussten immer wieder üben, um die Reaktionszeit einzustellen und sich zu erinnern, wann die zeitgesteuerten Sequenzen kamen.

Unabhängig von der kurzen Dauer haben wir kurz vor der Endbossenszene einen Kontrollpunkt hinzugefügt, um das Spiel angenehm zu gestalten und nicht zu sehr zu bestrafen. Um das Spiel zu beenden, machten wir eine letzte Sequenz, die auf Mortal Kombat verwies: Die Zeit würde vollständig einfrieren und der Text "Finish Him" ​​würde sich über den Bildschirm ausbreiten. Die Spieler mussten dann fünf zufällig generierte Schlüssel nacheinander eingeben, um den endgültigen Schlag zu erzielen. Während die Spieler diese letzte Sequenz nicht vermasseln konnten, war es ein ziemlich böser Weg, das Spiel zu beenden, und die Leute schienen es zu lieben.

Türen öffnen

Die Veröffentlichung von Stabika war ein großer Schritt auf dem Weg zu meinem Ziel, Spieleentwickler zu werden. Ich hatte mein Programmierwissen erfolgreich eingesetzt, dieses Wissen verfeinert und eine brandneue Partnerschaft eingegangen, die zu zahlreichen zukünftigen Spielen führte, was mir wiederum wesentlich mehr Erfahrung als Entwickler brachte.

Wir haben Stabika 1 vielleicht nur zum Spaß veröffentlicht, aber die Aufmerksamkeit und das Feedback, die wir erhalten haben, führten zu unserer ersten Sponsorschaft mit CrazyMonkeyGames, die uns eine völlig neue Welt der Möglichkeiten eröffnete.

Ich kann ehrlich gesagt nicht genug Gutes über die Veröffentlichung meines ersten Spiels sagen, und ich möchte Sie dringend dazu auffordern, auf dieses Ziel hinzuarbeiten, wenn Sie daran interessiert sind. Die Ergebnisse können Sie überraschen.


Schlussgedanken

Egal auf welchem ​​Skill-Level Sie sich gerade befinden, Sie brauchen nur Leidenschaft, um Spiele zu entwickeln.

Wie Sie sehen, variieren meine beiden Spiele ziemlich. Ein Spiel erforderte fast keinen Code, und das andere war fortgeschrittener, erforderte etwas Programmierung und war viel polierter. Unabhängig von ihren Unterschieden haben sie eines gemeinsam: Mein Wunsch, Spiele zu entwickeln, hat sie zum Leben erweckt.

Wenn Sie daraus etwas herausholen, möchte ich, dass Sie erkennen, dass Sie, egal auf welchem ​​Skill-Level Sie sich gerade befinden, alles, was Sie brauchen, um Spiele zu machen, Leidenschaft ist. Einfache Spiele können fast ohne technisches Wissen erstellt werden, und kompliziertere Spiele liegen direkt vor Ihnen - wenn Sie sich die Zeit nehmen, um die erforderlichen Fähigkeiten zu erlernen. Wenn Sie Spiele wirklich erstellen möchten, verspreche ich Ihnen, dass Sie fähig sind. Sie müssen sich nur darum kümmern.