Hey ihr,

wir hatten beim Zukunftstreffen ja überlegt, dass wir eine generelle Einleitung zum Thema Game- bzw. Level-Design machen wollen. Ich bin gerade im Urlaub in der Nähe von Neapel (yay) und Freundin und Tochter sind leider etwas krank, sodass wir nicht so viel unternehmen (nay). Naja, da hat man wenigstens mal Zeit für andere schöne Dinge im Leben, wie z.B. mal wieder was für Mappingbase machen
Ich habe also mal angefangen, einen kleinen Guide zu schreiben, der die Dinge anschneidet, die ich erstmal für relevant erachten würde. Das ganze ist erstmal ein Entwurf und ich würde gern erfahren, was ihr so darüber denkt. Die Frage ist halt, wie umfangreich das alles gestaltet werden soll und wo wir das dann passenderweise platzieren.
Ich würde das dann auf jeden Fall noch mit Bilder aufpeppen, aber da ich hier grad nur an meinem kleinen Surface ohne Maus sitze, mache ich das lieber mal von Zuhause vom richtigen PC aus... OK; genug Vorgelaber, hier ist der Text, wie er erstmal ist:

-------------------------------------------

Du interessierst dich für Videospiele und würdest gern einmal dein eigenes erstellen? Ein Videospiel mit deinen eignen Ideen und Regeln? Wenn das für dich gut klingt, du aber nicht wirklich weißt, wo du dafür anfangen sollst, bist du bei uns genau richtig! Dieser Guide hier soll dir einen Überblick geben, worauf du dich einstellen musst, wenn du ins Game- oder Leveldesign eintreten möchtest und welche Programme du entsprechend benötigst (und beherrschen lernen musst).

1. Game- vs. Leveldesign
Zuerst solltest du dir klar werden, ob du ein komplettes Spiel erstellen möchtest (Gamedesign) oder lieber nur Inhalte für ein bestehendes Spiel erstellst, wie zum Beispiel einzelne Maps (Leveldesign). Ersteres erlaubt dir natürlich deutlich mehr Freiheiten, ist aber in der Regel mit einem deutlich erhöhten Aufwand verbunden. Allerdings gibt es hier natürlich eine extreme Spannweite an möglichen Spielen. Von einfachen mobile-Game alà „Rolle eine Kugel durch ein Labyrinth“, über einem recht simpel gehaltenen 2D-Jump’n’Run bis hin zu einem vollwertigen Open-World-RPG ist alles machbar, aber mit doch sehr unterschiedlichem Aufwand! Insbesondere als Einzelperson ist so ein Unterfangen oft nur schwer möglich und das Arbeiten im Team ist in vielen Fällen, insbesondere als Einsteiger, extrem empfehlenswert.
Beim reinen Leveldesign profitierst du deutlich stärker von schon vorhandenen Strukturen. Wenn du eine Map für beispielsweise Counterstrike Globlal Offensive (CS:GO) erstellst, kannst du auf die gesamten Spielmechaniken und einen umfangreichen Standardcontent an Texturen, Modellen etc. zurückgreifen. Du kannst deutlich schneller zu spielbaren Ergebnissen kommen, musst aber unter Umständen mit gewissen Limitierungen kämpfen. Auf Standardwegen ist es z.B. nicht so einfach, eine CS:GO-Map so zu erstellen, dass man am Ende quasi einen Flugsimulator spielt.

Anmerkung: MODDING??? Modding wäre hier halt noch ein weiteres Unterkapitel, was zwischen den Stühlen schwebt. Haben wir bisher hier kaum im Forum gehabt und ich persönlich habe keine Erfahrungen damit. Wollen wir das mit einbeziehen oder eben nur in dieser Form drauf verweisen?

2. Die Wahl der Engine
Wie auch immer du dich im ersten Schritt entscheidest, du solltest dir überlegen, auf Basis welcher Engine du arbeiten möchtest. Der Vollständigkeit halber soll erwähnt sein, dass du natürlich auch deine eigene Engine programmieren kannst… Damit kommen wir jetzt aber in deutlich fortgeschrittenere Bereiche der Programmierung, die wir hier nicht abdecken können. Und es gibt mittlerweile viele verfügbare Engines, sodass der Aufwand einer eigenen Engine für Hobbyentwickler (insbesondere bei nicht-kommerziellen Projekten) eigentlich kaum überlegenswert ist.
Im Folgenden werden ein paar der bekanntesten Engines kurz dargestellt. Die Auswahl ist natürlich subjektiv und ohne Anspruch auf Vollständigkeit, sollte aber einen guten Startüberblick geben.

Zuerst die Source Engine: Mit den Half-Life, Counterstrike, Left4Dead und TeamFortress2 hat man mit der Source-Engine eine sehr breite Basis für sowohl SinglePlayer-, als auch Multiplayerprojekte. Meiner Ansicht nach ist die Source-Engine nach wie vor unübertroffen, wenn es um Zugänglichkeit und Effektivität beim Mappen geht. Mit anderen Worten: Ich habe noch keine andere Engine gesehen, in der ich so schnell und simpel eine Map erstellen und gestalten kann. Das macht sie meiner Meinung nach sehr geeignet für Einsteiger, da man sich beim Mappen im Hammer-Editor sehr auf das eigentliche Erstellen der Maps konzentrieren kann. Es gibt ziemlich viel Standard-Content an Texturen und Modellen, sodass man da weit kommen kann, bevor man eigene Inhalte mit externen Programmen erstellen muss. Allerdings sollte auch klar gesagt sein, dass die Source-Engine und der Hammer-Editor von den hier vorgestellten Game-Engines ganz klar die „altbackenste“ ist… Leider wurden weder Engine noch Editor großartig weiterentwickelt, sodass man bei der Verwendung von Modellen, Texturen und insbesondere dem Einbinden von eigenem Inhalt schnell an unschöne Grenzen stößt, bzw. Dinge einfach sehr aufwändig und kompliziert sind, die in anderen Engines deutlich intuitiver ablaufen.
Für die Source-Engine findet ihr umfassende Tutorials hier bei uns im Forum!
TLDR: Source Mapping ist aufgrund seiner guten Zugänglichkeit gut für einen Einstieg ins Level-Design geeignet, komplexere Projekte stoßen allerdings schnell an die Grenzen der altbackenen Engine..

Eine kostenlos verfügbare Game-Engine mit großer Beliebtheit ist die Unity-Engine. Dabei handelt es sich um eine Engine, mit der sich im Prinzip jedes denkbare Spiel für Windows, Linux, Mac und mobile Plattformen erstellen lässt. Vorteilhaft gegenüber der Source-Engine ist, dass das Importieren und Verwenden von Texturen/Materialien und 3D-Modellen deutlich einfacher und flexibler funktioniert und Spiel-Mechaniken freier programmiert werden können. Die Programmierung erfolgt hier z.B. über das UnityScript oder C# - ist also für Leute, welche schon Programmiererfahrung haben gut zugänglich. Die Graphik-Engine ist außerdem sehr fortschrittlich und ermöglicht vielseitige Einstellungen.
Meiner Meinung nach ist ein Nachteil der Unity-Engine eine etwas unintuitive Bedienung, was den Einstieg etwas schwierig gestalten kann. Als „moderne“ Spiele-Engine ist die Unity-Engine, im Verleich z.B. zu Source, deutlich abhängiger von extern erzeugten 3D-Modellen. Es gibt allerdings gewisse Standardinhalte und auch einen Martkplatz für Modelle aus der Community, wobei hier auch schnell Kosten für gute Inhalte anfallen können. Im Internet gibt es vielseitige Tutorialseiten und eine große Community, wobei wir hier bei uns keine aktiven Unity-Nutzer haben und daher auch wenig Expertise bieten können…
TLDR: Die Unity-Engine ist eine zeitgemäße und sehr vielseitige Plattform, welche aber insbesondere für Einsteiger unter Umständen etwas kompliziert sein kann.

Eine der aktuell beliebtesten Engines ist Unreal Engine 4 (UE4). Wie auch die Unity-Engine bietet sie eine sehr zeitgemäße Plattform zum Erstellen von Games für Windows, Linux, Mac und mobile Geräte. Es gibt zahlreiche Vergleiche zwischen Unity und UE4 und meistens ist der Konsens, dass die UE4 etwas professioneller und fortgeschrittener abschneidet. Ich würde diese Vergleiche allerdings vorsichtig betrachten. Den größten Unterschied macht, wo man sich persönlich wohl fühlt und womit man gut umgehen kann. Mit beiden Engines kann ein erfahrener Artist hervorragende Ergebnisse erreichen. Wie auch die Unity-Engine ist man hier großteils auf extern erzeugte 3D-Modelle angewiesen, es gibt aber auch hier einen gewissen Umfang an Standardinhalten und einen angebundenen Marktplatz für in der Community erstellte Inhalte (sowohl kostenlos als auch kostenpflichtig).
Der meiner Meinung nach wichtigste Unterscheid zwischen UE4 und Unity ist, dass die UE4 über ein sehr mächtiges VisualScripting-System („Blueprints“) verfügt, welches, neben C++, zur Erstellung von Spielmechaniken verwendet wird. Mithilfe der Blueprints ist es auch Programmierlaien intuitiv möglich, Spielelogiken zu erstellen. Generell ist die Engine meiner Meinung nach auch intuitiver zu bedienen, als Unity, was für Neueinsteiger relevant sein könnte. Ebenso wie für Unity gibt es hier aber eine sehr große Community im Internet für spezifische Fragen und darüber hinaus auch Expertise bei uns im Forum.
TLDR: Die UE4 ist generell vergleichbar zu Unity, aber tendenziell für Einsteiger etwas zugänglicher.

Neben den hier aufgezählten Engines gibt es natürlich noch weitere, bei „Hobbyentwicklern“ aber weniger verbreitete Engines, wie z.B. die CryEngine. Um hier nicht den Umfang zu sprengen, werden diese hier nicht näher erörtert.

3. Benötigte Fähigkeiten/Programme
Wie schon im vorherigen Kapitel angeklungen, setzt das Level- und insbesondere das Gamedesign voraus, dass man sich mit verschiedenen Programmen entsprechend auskennt, um seiner Kreativität freien Lauf lassen zu können. Neben den o.g. Engines mit ihren entsprechenden Editoren solltest du dich darauf gefasst machen, dich früher oder später in je eines der folgenden Programme einzuarbeiten.
Zuerst sind Kenntnisse eines Programmes zur Bildbearbeitung sehr vorteilhaft, wenn du dir eigene Texturen (z.B. Mauer, Boden etc) erstellen möchtest. Das wohl bekannteste dabei ist Photoshop, womit eigentlich alles machbar ist. Als kostenlose Alternative dazu soll GIMP genannt werden, welches einen vergleichbaren Funktionsumfang bietet. Wir sind aktuell dabei, eine Sammlung an relevanten GIMP-Tutorials bei uns zu erstellen, um es Einsteigern so einfach wie möglich zu machen, mit kostenlosen Programmen loszulegen.
Darüber hinaus ist die Kenntnis eines 3D-Modellingprogrammes sehr sinnvoll, um später auch eigene Modelle (Pflanzen, Deko, Lampen etc) zu erstellen. Unter den kommerziellen Programmen sind 3DStudioMax, Maya oder Cinema4D weit verbreitet, wobei diese alle mit sehr hohen Kosten verbunden sind. Zum Glück gibt es mit Blender eine sehr gute kostenlose Alternative, die im Bereich des Gamedesigns auch tatsächlich immer weiter verbreitet wird. Auch dazu findest du hier im Forum schon eine Sammlung an Tutorials.



----------------
Anmerkung: Ich muss demnächst auch wieder für mein GTA-Projekt weitere Modelle (mit Blender) erstellen und werde mich darauf stürzen, die Texturen mit GIMP zu erstellen. Darauf aufbauend kann ich dann hier ein paar Basics-Tutorials erstellen!