In diesem Artikel möchten wir dir unsere Top 10 Tipps für Spieleentwickler an die Hand geben. Diese 10 Tipps beziehen sich auf verschiedene Themenbereiche. Von Mindset-bezogenen Tipps bis hin zu Programmier-Tipps ist also alles mit dabei. Es ist im Übrigen auch vollkommen egal, ob du noch ganz am Anfang stehst oder bereits Erfahrungen als Spieleentwickler gesammelt hast, denn in diesem Artikel ist für jeden etwas dabei.
Lese dir diesen Artikel also von Anfang bis Ende durch und sehe dir das Video unter diesem Absatz an. Du wirst auf jeden Fall Mehrwert für dich herausziehen können, versprochen!
Verlieren wir also keine Zeit und gehen der Reihe nach unsere 10 Top Tipps für Spielentwickler durch.
Tipp 1: Starte als Anfänger keine zu großen Projekte
Dieser erste Tipp richtet sich ganz speziell an Einsteiger. Wenn du aktuell in der Situation bist, dass du noch keine eigenen Spieleentwicklungsprojekte abgeschlossen und somit auch keinerlei Erfahrung mit der Aufrechterhaltung einer Projektstruktur hast, dann begehe nicht den Fehler, sofort mit zu großen und ambitionierten Projekten zu starten.
Die Folge wäre nämlich, dass du sehr schnell den Spaß an der Spieleentwicklung verlieren würdest, da du einfach überfordert wärst. Du würdest dein Spiel mit großer Wahrscheinlichkeit also nicht abschließen, somit kein wirkliches Ergebnis sehen und dementsprechend auch kein Erfolgserlebnis haben.
Der größte Motivationskiller ist es also, sich direkt zu Beginn auf zu große Projekte zu stürzen. Am besten ist es demnach, sich zunächst einmal kleine Projekte zu suchen, mit denen man die Grundlagen der Spielentwicklung vertieft und auch schnell erste Ergebnisse sieht. Von Projekt zu Projekt kann man sich dann in Sachen Umfang immer etwas steigern und so Schritt für Schritt an die größeren Projekte herantasten.
Tipp 2: Versuche dich an vielen verschiedenen Genres
Dieser Tipp ist sowohl für Einsteiger als auch für bereits erfahrenere Spieleentwickler sehr wichtig. In der Regel programmieren Spieleentwickler immer wieder Spiele im gleichen Genre. Wenn du aber wirklich Erfahrung und Fähigkeiten in der Entwicklung von Spielen aufbauen möchtest, dann ist der regelmäßige Wechsel zwischen den unterschiedlichen Genres sehr wichtig.
Programmiert man nämlich immer Spiele im gleichen Genre, dann bestehen die Spiele und somit der Code auch immer wieder aus den gleichen Grundelementen. Man lernt folglich von Spiel zu Spiel immer weniger dazu, weil derselbe Code immer und immer wieder in nur leicht abgeänderter Form wiederholt geschrieben wird.
Wechselst du hingegen regelmäßig die Genres, für die du Spiele entwickelst, dann hast du die größte Lernkurve, da die Spiele in der Regel sehr unterschiedlich aufgebaut werden. Du wirst dadurch also immer und immer wieder mit neuen Aufgaben konfrontiert, mit deren meistern du viel Erfahrung hinzugewinnen wirst.
Tipp 3: Setze dich mit der Trigonometrie und Vektor-Mathematik auseinander
Das klingt jetzt erst mal richtig erschreckend, vor allem dann, wenn man in der Mathematik kein so wirklicher Überflieger ist oder schlechte Erinnerungen an die Schulzeit hat. Aber keine Sorge, diese Themen sind eigentlich gar nicht so komplex und können auch von Programmierern gemeistert werden, die sich nicht schon im Kindesalter in die Mathematik verliebt haben.
Ich selbst war zu Schulzeiten auch nicht der beste Mathematiker, aber habe mich mit diesen zwei Bereichen der Mathematik in den letzten Jahren umfassend auseinandergesetzt, weil ich einfach gemerkt habe, dass dies grandiose Werkzeuge für die Spieleentwicklung sind.
Klar, die Game-Engines nehmen einem die gröbsten mathematischen Problemstellungen schon von Haus aus ab. Fakt ist aber, dass man einfach viel schneller und effektiver seine eigenen Spiele programmieren kann, wenn man weiß, wie beispielsweiße Vektoren eingesetzt werden können oder was für Operationen man an Vektoren durchführen kann.
Und auch die Trigonometrie mit Funktionen wie beispielsweiße dem Sinus und dem Cosinus ist sehr wichtig und kann im Bereich der Spieleentwicklung auch endlich mal sinnvoll und nicht nur im abstrakten Kontext angewendet werden.
Natürlich möchte ich dir auch mal ein paar Anwendungsbeispiele nennen:
Tipp 4: Schreibe wiederverwendbaren Code
Ein Tipp, der sehr einfach klingt, aber von vielen Spieleentwickler vernachlässigt wird. Schreibe deinen Code also immer so, dass du diesen während eines Projekts nicht hundert mal neu schreiben musst, wenn du beispielsweiße die gleichen Funktionalitäten auch in anderen Objekten des Spiels haben oder diese Funktionalitäten in komplett anderen Projekten wiederverwenden möchtest.
Eine Möglichkeit dies umsetzten, ist beispielsweiße das Erstellen von Basisklassen, die von anderen Klassen geerbt werden. Hierzu direkt mal ein kleines Beispiel:
Nehmen wir mal an, du programmierst ein Spiel, in welchem es mehrere Arten von Projektilen gibt. Egal, von welcher Art Projektil der Spieler getroffen wird, es soll immer so sein, dass er Schaden davon nimmt (beispielsweiße soll ein Lebenspunkt abgezogen werden). Aber jedes Projektil hat je nach Art besondere und ganz spezielle Eigenschaften, wie beispielsweiße das Bewegungsmuster. Ein Projektil fliegt beispielsweiße im Zickzack-Muster, während sich ein anderes Projektil wiederum geradlinig bewegt.
In so einem Fall ist es also sehr sinnvoll, eine Basisklasse zu definieren, in der alle Eigenschaften und Funktionalitäten definiert sind, die für JEDE Projektil-Art identisch sind. Alle speziellen Projektil-Klassen erben jetzt von dieser Basisklasse und implementieren dann zusätzlich noch die eigenen spezifischen Eigenschaften und Funktionalitäten, wie beispielsweiße das zuvor bereits angesprochene Bewegungsmuster des Projektils.
Man spart sich dadurch also, dass man die Eigenschaften und Funktionalitäten, die jedes Projektil benötigt, für jede spezifische Projektil-Art immer und immer wieder neu implementieren muss. Wir erreichen durch das Verwenden von Basisklassen also eine gewisse Wiederverwendbarkeit.
Diese Wiederverwendbarkeit lässt sich aber noch durch viele weitere Konzepte und Mechaniken erreichen. Solltest du also Interesse daran haben, mehr zu diesem Thema zu lernen, dann sehe dir mal unsere Design Patterns Masterkurse an. In diesen wirst du nämlich die wichtigsten Muster erlernen, mit denen du deinen Code sauber, hochwertig und in einem guten Design schreiben kannst. Es ist dabei im Übrigen vollkommen egal, ob du lieber Spiele oder lieber Anwendungen programmierst, denn diese Patterns lassen sich in jedem Bereich anwenden.
Tipp 5: Beschäftige dich mit jedem einzelnen Spielelement solange wie nötig
Damit ist gemeint, dass du dein Spiel nicht so schnell wie möglich „durchrushen“ solltest. Nehme dir immer die Zeit, die benötigt wird, um jedes einzelne Spielelement wirklich gut umzusetzen.
Warum ist dieser Tipp so wichtig, fragst du dich jetzt sicherlich?
Ganz einfach: Das Gesamtprodukt leidet sehr stark, wenn du die angeblich „weniger wichtigen“ Spielelemente ganz schnell durch programmierst, um diese so schnell wie möglich abhacken zu können. Benötigst du beispielsweiße eine Vielzahl von Stunden, damit sich das Spieler-Movement gut anfühlt? Kein Problem, nehme dir die Zeit, die du benötigst, um das Beste aus deinem Spiel zu machen. Gerade wenn du ein hobbymäßiger Spieleentwickler bist, besteht ohnehin kein Grund zur Eile!
Tipp 6: Beschäftige dich im Spiel mit dem Thema Feedback
Wir werden immer wieder gefragt, wie man den Spielspaß in den eigens programmierten Spielen steigern kann. Im Prinzip ist dieser Tipp die wichtigste Antwort auf diese Frage. Man sollte also ein ordentliches Feedback in das Spiel einbauen. Aber was genau meinen wir mit Feedback?
Wenn man in einem 2D-Shooter beispielsweiße mit einer Schrotflinte schießt, dann soll nicht einfach nur ein Projektil mit einem langweiligen Sound aus der Waffe rausfliegen, sondern das ganze soll mit einem realistischen Sound so richtig knallen. Der Spieler muss merken, dass er mit der Schrotflinte eine wirklich mächtige Waffe verwendet. Das meinen wir mit Feedback, doch wie kann man so etwas umsetzen?
Zum einen kann man dafür sorgen, dass der Spieler bei einem Schuss einen kleinen „knock-back“ hat, also leicht nach hinten fliegt. Zum anderen kann man zusätzlich noch den Bildschirm bei jedem Schuss wackeln lassen, um die Stärke so noch mehr zu verdeutlichen. Eine weitere Idee wäre es, die Gegner bei einem Treffer mit der Schrotflinte wesentlich weiter wegfliegen zu lassen, als bei einem Schuss mit einer einfachen Pistole.
Eine andere Art von Feedback wäre beispielsweiße eine ordentliche Signalisierung für den Verlust von Lebenspunkten. Wenn der Spieler leben verliert, dann sollen diese nicht einfach nur still und heimlich abgezogen werden. Der Bildschirm könnte stattdessen kurz rot werden, ein alarmierender Sound sollte abgespielt werden und die Spielfigur sollte vielleicht für einen kurzen Augenblick blinken und unbesiegbar sein, damit sie sich in Sicherheit bringen kann.
Ich denke, durch die eben vorgestellten Beispiele hast du ein Gefühl dafür bekommen, wie Feedback den Spielspaß von Spielern steigern kann. Jeder Spieleentwickler sollte sich also intensiv mit diesem Thema auseinandersetzen.
Tipp 7: Programmiere zu bestimmten und geplanten Zeiten
Du kennst es sicherlich: Du hast die Idee für ein cooles neues Spiel, das Konzept ist bereits ausgearbeitet und es muss nur noch programmiert werden. Doch jeder Mensch hat pro Tag nur 24 Stunden Zeit, um sich um alle Lebensbereiche zu kümmern.
Man muss schlafen, Zeit mit Freunden und Familie verbringen und natürlich auch arbeiten. Und ja, auch Spieleentwickler, die nicht hauptberuflich entwickeln, müssen noch einem Job nachgehen. Die Zeit ist also oft knapp, weshalb man seine Programmierzeit für die eigenen Projekte auf jeden Fall planen sollte.
Ich persönlich programmiere beispielsweiße morgens in der Früh nach dem Aufstehen sehr gerne an meinen Hobby-Projekten. Und zwar immer, bevor ich mit meiner richtigen Arbeit beginne. Für mich persönlich ist das ein entspannter Start in den Tag und zeitgleich erziele ich täglich Fortschritte in meinen Projekten. Wenn du als Spieleentwickler also deine Programmierzeit intelligent planst, kannst du aus jedem Tag das Maximum rausholen und wirklich schnell zu Ergebnissen kommen. Und zwar ohne, dass du dich in anderen Lebensbereichen sonderlich stark einschränken musst.
Tipp 8: Teile deine Fortschritte mit der Welt auf Youtube, Twitter, Reddit, Discord oder anderen Plattformen
Wenn man seine Fortschritte mit anderen teilt, dann bekommt man:
- Immer sofort Feedback und
- hat man immer eine gewisse Motivation beim Arbeiten, weil man neue Ergebnisse und Fortschritte instinktiv wieder mit der Welt teilen möchte, da man sich durch das regelmäßige posten stärker für das Projekt committed
Nutze also diese sehr positiven und genialen Möglichkeiten der heutigen Zeit, denn so wirst du definitiv ein besserer Spieleentwickler.
Tipp 9: Schließe dich einer Programmier-Community an
Dieser Tipp hat eine gewisse Ähnlichkeit mit Tipp 8, denn auch hier geht es um die sozialen Aspekte. Für so gut wie jede Game-Engine gibt es ein eigenes Forum, ein Subreddit oder einen Discord-Server. In der Regel findest du solche Communitys auch in deutscher Sprache.
Und sich so einer Community anzuschließen ist eine der wichtigsten Dinge überhaupt. Zum einen kann man aus solchen Communities einfach sehr viel Inspiration und Motivation ziehen. Zum anderen kann man dort auch Fragen stellen, wenn man spezifische Probleme hat.
Dies sind immense Vorteile und das Beste ist: Solche Communities sind in der Regel vollkommen kostenlos. Nutze also die Möglichkeit und schließe dich einer solchen Community von Spieleentwicklern an. Du wirst es definitiv nicht bereuen!
Tipp 10: Habe Spaß beim Spiele programmieren
Dieser zehnte und letzte Tipp mag der offensichtlichste sein, dennoch möchte diesen hier explizit ansprechen: Habe Spaß beim Spiele programmieren.
Es ist nicht neu, dass man mit dem Entwickeln von Spielen oder allgemein mit dem Entwickeln von Software viel Geld verdienen kann. Sehr viel sogar.
Wenn ich aber bei Freunden mitbekomme, dass diese durch ein Spiel einen großen finanziellen Erfolg eingefahren haben, dann habe ich immer wieder das Gleiche festgestellt: Sie haben das Spiel gar nicht mit der Intention entwickelt, um damit viel Geld zu verdienen. Es ging ihnen immer hauptsächlich darum, Spaß beim Entwickeln zu haben und ein möglichst gutes Spiel auf die Beine zu stellen.
Deshalb ist dieser Tipp auch so wichtig, denn sobald Spieleentwickler in die Goldgräberstimmung kommen und nur am späteren Gewinn interessiert sind, dann erreichen sie tendenziell eher keine finanziellen Ziele und auch keine Lernerfolge. Der Grund dafür ist, dass sie durch den Fokus auf das Geld verdienen, das eigentliche Entwickeln eines spaßigen und guten Spiels aus den Augen verlieren.
Verstehe mich nicht falsch: Es ist vollkommen in Ordnung, mit eigenen Spielen viel Geld zu verdienen. Aber du solltest dich nicht rein darauf fokussieren, weil du ansonsten die wichtigen Aspekte vernachlässigen wirst, die dein Spiel potenziell erfolgreich machen. Habe also als Spieleentwickler Spaß am Programmieren und entwickle Spiele, die du auch wirklich entwickeln möchtest. Nicht die, die gerade gehypt sind.