Einsteiger FAQ
Von Marc Kamradt
Computerspiele zu entwickeln ist für viele ein Traumberuf. Das Hobby zum
wird zum Beruf, man wird vom Konsument zum Macher.
So ungefähr stellen sich viele Einsteiger die Arbeit in der Branche vor.
Und obwohl die genannten Punkte sicherlich zutreffen muss man sich doch
darüber im Klaren sein, dass die Entwicklung von Computerspielen (genau wie
jede andere Software) ein unglaublich komplexer Vorgang ist, den man in
mühevoller Kleinarbeit lernen und begreifen muss.
Der Einstieg in die Spieleentwicklung ist also nicht „mal eben schnell“
möglich und schon gar nicht wird man sich in der ersten Zeit mit Firmen und
deren Produkten messen können, die schon über viele Jahre eine Vielzahl von
Spielen entwickelt haben.
Es ist also immens wichtig sich am Anfang nicht in unrealistische
Vorstellungen zu verlieben oder an den Aufgaben zu übernehmen. Leider zählt
auch in dieser Branche der Satz: Jeder hat mal klein angefangen.
Bei Fragen oder Anregungen:
marc@spieleentwickler.org
Eine Spieleentwicklung läuft in mehreren Schritten oder Phasen ab. Meist werden alle Phasen einer Entwicklung mehrmals durchlaufen um den
aktuellen Gegebenheiten angepasst zu werden. Es wird also immer nur ein Teil
des Spiels entwickelt, um dann inne zu halten und auf ungeplante Ereignisse
zu reagieren. Es ist unrealistisch anzunehmen, dass man am Anfang eines
Projekts alle Unwegsamkeiten einplanen kann. Trotzdem kann man sich die
Planung nicht schenken, denn der bestmögliche Plan zu einer gegebenen Zeit
ist immer noch um ein Vielfaches besser gar kein Plan.
Grundlage für alle späteren Arbeiten an einem Spiel ist das
Design-Dokument. Es enthält die Informationen, damit Programmierer,
Grafiker, Leveldesigner und alle anderen Beteiligten wissen wie das Spiel
aussehen und ablaufen soll. Gibt es von einem Beteiligten am Projekt eine
Frage zum Spiel, so sollte er die Antwort im Design-Dokument finden.
Das Design-Dokument wird meist von einer Untermenge des Teams erstellt,
die dann die Rolle des Spieledesigner haben.
Auf der Grundlage eines guten Design-Dokuments wird ein Projektplan
erarbeitet, der dazu dient abzuschätzen, wie lange das Projekt dauert, wie
viele Personen für das Projekt notwendig sind und in welcher Reihenfolge die
einzelnen Zwischenergebnisse geliefert werden müssen, damit alle Beteiligten
möglichst optimal arbeiten können.
Ist die Planung abgeschlossen beginnt die eigentliche Entwicklung. Das
Programm, die notwendigen Tools (Leveleditor etc.), die Grafiken, Levels,
Musik und alle anderen Daten werden von den verschiedenen Beteiligten anhand
er Planung und der Design-Dokuments erzeugt und zusammengefügt.
Während der Entwicklung, spätenstens jedoch am Ende wird das Spiel auf
Herz und Nieren getestet und die Fehler und Unschönheiten werden korrigiert.
Anschließend kann das Spiel „released“ werden. Ein Release muss dabei
nicht das Ergebnis sein, dass später veröffentlicht wird, sondern kann auch
eine Zwischenversion sein, die dann die Grundlage für eine Anpassung des
Design-Dokuments, der Planung und einer anschließenden weiteren
Entwicklungsphase darstellt.
Zwischenversionen können untern anderem für Präsentationen beim
Publisher, als Demoversion für Zeitschriften oder als öffentliche Betatests
genutzt werden.
Irgendwann kommt für das Team der letzte Release des Spiels, welcher dann
für die Vervielfältigung im Presswerk zum Publisher geschickt wird.
Ähnlich wie bei der Frage „Wie werde ich Spieledesigner?“
muss man sich ein paar grundlegende Fakten aus der Spieleentwicklung vor
Augen halten.
Wenn man sich einmal ein professionelles Team von Spieleentwicklern
vorstellt und dann überlegt, dass dort im Regelfall 10 bis 20 Personen etwa
18 bis 24 Monate an der Entwicklung eines Spiels arbeiten, kann man sich
leicht ausrechnen, dass der Bedarf an neuen Spielideen relativ gering ist.
Außerdem sind die zwei Jahre in denen man an einem Spiel arbeitet eine
ausreichend lange Zeit für alle Beteiligten sich Gedanken zum nächsten Spiel
zu machen.
Es macht also wenig Sinn mit einer Spielidee an ein bestehendes
Entwicklerteam heranzutreten und zu hoffen, dass dieses einen mit offenen
Armen empfängt und die Idee zur Realität werden lässt. Ein Entwicklerteam
versorgt sich aus sich selbst heraus mit neuen Ideen und Konzepten.
Wenn die Entwicklerteams also nicht die richtigen Ansprechpartner sind,
dann sind es folglich die Publisher. Doch auch hier muss man wieder einige
Gegebenheiten im Kopf haben. Die wichtigste wäre, dass die Entwicklung eines
Vollpreis-Videospiels ab 1 Mio. Euro aufwärts kostet. Da ein Publisher einem
Entwicklerteam dieses Geld im Voraus für die Entwicklung eines Spiel zur
Verfügung stellen muss kann man sich vorstellen, dass man absolut
herausragende Argumente braucht um den Publisher vom eigenen Spiel zu überzeugen.
Interessant in diesem Zusammenhang ist sicher auch die Tatsache, dass
größere Publisher allein von deutschen Teams ca. 150 Projekte im Jahr
angeboten bekommen. Am Ende sind es keine 10 bei denen ein Publisher in
Erwägung zieht die Entwicklung zu finanzieren.
Obwohl hier keine ausführliche Behandlung der notwendigen Materialien
gegeben werden kann, die notwendig sind um einem Publisher das eigene Spiel
schmackhaft zu machen, kann man anhand der folgenden Punkte zumindest einen
Eindruck davon bekommen. Es ist selbstverständlich, dass all diese
Materialien absolut professionell sein müssen – immerhin konkurriert man mit
Teams, deren Produkte man bei Media Markt und Saturn in den Regalen stehen
sieht.
Ein Designdokument
Noch am nächsten dran an der „Idee für ein Spiel“ ist eine besondere Form
des Designdokuments. Dieses enthält kurz und prägnant alles für den
Publisher Wissenswertes über das Spiel, z.B. Grundlegende Spielmechanik,
Zielgruppe, Alleinstellungsmerkmale gegenüber bereits existierenden
Produkten, Marktanalysen, Zielplattform(en), Entwicklungszeitraum,
Grafikstil etc.
Einen Prototypen
Da mit einer Menge Papier heutzutage kein Publisher mehr zu überzeugen
ist, muss man eine Demo bzw. einen Prototypen des Spiels herstellen. Dieser
Prototyp sollte demonstrieren, dass das Spielprinzip funktioniert und Spaß
macht sowie einen ersten Eindruck der Grafik vermitteln.
Ein vertrauenswürdiges Team
Der schönste Prototyp und das beste Designdokument nützen wenig, wenn der
Publisher nicht darauf vertrauen kann, dass das Team in der Lage ist das
Spiel auch wirklich unter den gegeben Umständen fertig zu stellen. Dazu ist
es nicht nur notwendig im Umgang mit dem Publisher professionell
aufzutreten, sondern auch Erfahrungen im Bereich der Spieleentwicklung
vorweisen zu können. Das ist für neue Teams sehr schwer, wenn sie nicht aus
Personen bestehen, die schon länger in der Branche tätig sind. Dort helfen
nur abgeschlossene Projekte im Bereich der Hobbyentwicklung, die das
Potenzial des Teams zeigen.
Da es für Einsteiger in die Spieleentwicklung normalerweise keine
Möglichkeit gibt die Anforderungen eines Publishers zu erfüllen und die
Finanzierung für eine Vollpreis-Entwicklung zu bekommen, bleibt nur die
Möglichkeit die Idee im Rahmen eines Hobbyprojekts zu verwirklichen. Doch
auch hier ist es nicht so, dass bestehende Teams nur darauf warten, dass
jemand eine neue Spielidee an sie heranträgt. Vielmehr gilt, dass man erst
einmal seine Fähigkeiten als Programmierer, Grafiker oder Leveldesigner
beweisen und Erfahrungen mit der Materie der Spieleentwicklung sammeln muss,
bevor man realistischerweise Spieledesigner werden kann. Zu diesem Thema
gibt es ja auch noch einige Informationen in dem
Einsteiger-FAQ.
Gleichgesinnte Hobbyentwickler findet man bei den
Deutschen
Untergrund Spielen und deren Partnerseiten.
Vorrangig natürlich das Programmieren des Spiels oder der dazugehörigen
Tools, aber ebenso eine Menge Aufgaben im Umfeld. Beispielsweise das
Design-Dokument auf technische Machbarkeit zu überprüfen oder die
Architektur des Programms entwerfen.
Insgesamt laufen beim Programmierer alle Stränge zusammen und es liegt in
seiner Verantwortung aus all den Grafiken, Leveldaten, Soundeffekten ein
Spiel zu erstellen, das hinterher richtig Spaß macht.
C/C++
Grundvoraussetzung für die Spieleprogrammierung sind solide Kenntnisse
der Programmiersprache C/C++. Diese Programmiersprache ist zur Zeit die
einzige Programmiersprache, die für alle Plattformen erhältlich ist und wird
daher fast ausschließlich verwendet.
Andere Hochsprachen
Kenntnisse in anderen Hochsprachen sind ebenfalls nützlich, werden jedoch
höchstens bei der Entwicklung von Tools benötigt. Dort können jedoch Visual
Basic bzw. Delphi gerade für kleinere Tools sehr praktisch sein.
Assembler
Der Umgang mit verschiedenen Assembler-Dialekten ist ein Pluspunkt, denn
trotz steigender Prozessorleistung und besser optimierender Compiler kann
man bestimmte Programmteile durch den Einsatz von Assembler noch stark
beschleunigen. Einige Spezialprozessoren, wie z.B. die Vector Units der
Playstation 2 lassen sich ohnehin nur mit Assembler programmieren.
Algorithmen
Die grundlegenden Algorithmen und Datenstrukturen, die üblicherweise in
der Softwareentwicklung vorkommen sollten ebenfalls geläufig sein. Viele
davon werden in guten Lehrbüchern zu C/C++ oder etwa
R. Sedgewick, Algorithmen in C++ vorgestellt.
Eine Aufzählung oder Erläuterung der Themengebiete mit denen man sich
beschäftigen sollte würde hier den Rahmen sprengen, es ist jedoch
empfehlenswert sich über das Programmieren kleiner, überschaubarer Spiele
die notwendigen Grundlagen der Spieleprogrammierung anzueignen.
Dies kann mittels Tutorials im Internet oder Büchern geschehen oder aber
auch anhand der eigenen Analyse von einfachen und bewährten Klassikern, wie
Asteroids, Break-Out, Bomberman oder Ähnlichem.
Auf keinen Fall sollte man sich eines der aktuellen Topspiele zum Vorbild
nehmen und dies zu erreichen versuchen. Ein solches Topspiel zu entwickeln
setzt meist jahrelange Erfahrung voraus und man ist schnell enttäuscht, wenn
man das gesetzte Ziel nicht einmal annähernd erreicht.
Spezielle anerkannte Ausbildungsmöglichkeiten oder Studiengänge gibt es
für Spieleprogrammierer nicht. Die meisten sind daher Autodidakten oder
Quereinsteiger.
Grundlagen der Software-Entwicklung kann man sich natürlich mittels eines
Informatik-Studiums aneignen. Etwas näher an der Thematik der
Spieleentwicklung ist der Studiengang Medieninformatik, den es seit einiger
Zeit gibt.
Einige Firmen bilden auch Fachinformatiker im Rahmen einer
Spieleentwicklung aus.
Zu guter Letzt bleibt auch ein längerfristiges Praktikum, wobei die
meisten Firmen ein solides Grundwissen voraussetzen, damit man auch sinnvoll
an den Projekten mitwirken kann.
Adressen
Adressen von Spieleentwicklern finden sich im
Portfolio des USF
und in den Ressourcen von spieleentwickler.org. Auch auf der
Gamestar-Webseite findet sich eine
Liste von
Spieleentwicklern.
Bewerbungsunterlagen
Neben den üblichen Bewerbungsunterlagen wie Lebenslauf etc. ist die beste
Art der Demonstration der eigenen Fähigkeiten natürlich ein kleines Spiel
oder ein Tool für ein Spiel. Es kommt dabei nicht unbedingt auf den Umfang,
sondern vielmehr auf die Vollständigkeit an. Ein kleines, aber
abgeschlossenes Projekt zeigt nämlich, dass man in der Lage ist alle
anfallenden Probleme zu lösen und ausreichend Durchhaltevermögen mitbringt.
Auch eine Demo z.B. mit Terrain-Rendering oder anderen wichtigen
Techniken, die in Spielen Verwendung finden sind stellt die
Auseinandersetzung mit den richtigen Themen unter Beweis.
Ein Spieledesigner denkt sich Spielinhalte aus und bringt diese
detailliert zu Papier in Form eines Design-Dokuments. Dabei muss er darauf
achten, dass die Spielinhalte am Ende für die Spieler fesselnd sind, als
auch dass die Spielinhalte so detailliert beschrieben und durchdacht sind,
dass das gesamte Team aufgrund seines Design-Dokuments das Spiel entwickeln
kann.
Der Spieledesigner ist also besonders zu Beginn des Projekts maßgeblich
an dessen Erfolg beteiligt, denn nicht zuletzt sind ganze Entwicklerteams
aufgrund von schlechten, ungenauen oder unrealistischen Design-Dokumenten
gescheitert.
Als erstes muss man sich klar machen, das Spieledesigner eher eine Rolle
ist, die von Personen aus anderen Bereichen der Spieleentwicklung übernommen
wird. Es ist extrem selten, dass man ausschließlich als Spieledesigner bei
einer Firma tätig ist. Dieses Privileg genießen nur einige sehr Wenige und
auch diese haben sich zu Anfang parallel mit anderen Aufgaben beschäftigt.
Viele derjenigen, die programmieren, modellieren oder Levels entwerfen
möchten diese Tätigkeit auch nicht aufgeben und daher finden sich in Firmen
oft sogenannte Design-Teams aus Personen verschiedener Bereiche zusammen.
Also könnte man sagen, die Voraussetzung ist langjährige Erfahrung und
Mitwirkung an Spielen, aber in anderen Bereichen als dem Spieledesign.
Die IT-Akademie bietet Kurse im
Bereich Spieledesign an, mir ist jedoch niemand bekannt, der aufgrund einer
solchen Ausbildung als Einsteiger in ein Team geholt wird. Das gute Design
eines Spiels ist doch erheblich von Erfahrungswerten abhängig und die eignet
man sich nur im Laufe einer mehrjährigen Laufbahn in anderen Bereichen der
Spieleentwicklung an.
Den Einstieg in die Spieleentwickler-Branche über den Beruf eines
Spieledesigners ist also eher ein Mythos als eine realistische Möglichkeit.
Eine eigene Firma in Leben zu rufen ist keine leichte Aufgabe. Die
Freiheit der eigene Chef zu sein wird von dem Mehraufwand, den eine solche
Firmengründung mit sich bringt meist mehr als wett gemacht.
Die eigene kleine Spieleschmiede ist sicher der Traum der
Selbstverwirklichung, verlangt aber neben dem ohnehin schon hohen Aufwand
der Software-Entwicklung noch viel Aufmerksamkeit für
betriebswirtschaftliche Aufgaben. Mindestens die folgenden Punkte sollte man
daher beherzigen.
Eine der wichtigsten Voraussetzungen ist die Auftragslage. Mindestens
einen festen Auftraggeber oder Abnehmer für das eigene Spiel sollte man
haben. Dies erreicht man jedoch meistens nur durch die Präsentation eines
Prototypen bei einem Publisher. Mit einem Konzept allein kommt man nur in
den seltensten Fällen zum Ziel. Die Arbeit an dem Prototypen muss man aus
eigener Tasche finanzieren und nicht selten findet man am Ende überhaupt
keinen Abnehmer.
Hand in Hand mit dem ersten festen Auftrag geht das vorhanden sein eines
gut funktionierenden Teams, welches sich nicht erst zur eigentlichen
Firmengründung zusammenfinden sollte. Der größte Teil der Beteiligten sollte
sich bereits über das eine oder andere gemeinsame Projekt kennen. Von den an
einem Projekt arbeitenden Personen hängt der Erfolg der Firma ab und gerade
bei einer Neugründung hat man oft keine Reserven für Fehlschläge.
Sowohl beim Arbeitsamt, als auch bei der
Industrie- und Handelskammer (IHK) sollte man sich über die Gründung und
Leitung einer Firma informieren. Dort werden Existenzgründerseminare
angeboten und es kann sogenanntes Überbrückungsgeld als Starthilfe beantragt
werden. |