====== Hallihallo! ====== Schön dass du dich für meinen Werdegang als Spieleentwicklerin interessierst. ===== Karten Editoren über alles ===== In den 90er Jahren war der [[wpde>Amiga]] meines großen Bruders eine riesige Faszination, nur die Steuerung hat mich koordinativ völlig überfordert. [[wpde>Die Siedler (Computerspiel)|Die Siedler 1]] mit geteiltem Bildschirm und zwei Mäusen zu spielen war für mich das Highlight des Monats. Ich erinnere mich auch an ein Autorennen Spiel, das ich zwar nicht fahren konnte, in dem ich aber Strecken gebaut habe die meinen großen Geschwistern Spaß gemacht haben. Auch als der erste [[wpde>Microsoft_Windows_95|Windows 95]] Computer für Spiele genutzt wurde, habe ich mich hauptsächlich auf die Karten Editoren gestürzt. [[wpde>Age_of_Empires_II|Age of Empires II]] hat mich besonders geprägt. Die ersten 3D Level Design Erfahrungen machte ich mit [[wpde>Duke_Nukem_3D|Duke Nukem 3D]]. Dass dieses Spiel für kleine Kinder nicht so geeignet ist hat damals noch kaum jemanden interessiert. Mit steigender Koordination konnte ich auch immer mehr selbst spielen, speziell [[wpde>F-Zero]] mit Freunden am [[wpde>Super_Nintendo_Entertainment_System|Super Nintendo]]. ===== Gaming und Programmier Anfänge ===== Mit 9 oder 10 Jahren haben wir kleinen Geschwister den alten Computer benutzen dürfen, auf dem unter Anderem [[wpde>Story_of_Seasons#Harvest_Moon_(SNES)|Harvest Moon]] im [[wpde>SNES-Emulator]] gelaufen ist. Es hat 3 Tage gedauert, dass ich mir nicht mehr vorstellen konnte, was ich früher sonst so mit meiner Zeit angefangen habe. Mit [[wp>Dragon_Ball_Z:_Hyper_Dimension|DBZ Hyper]] habe ich später auch meine Liebe zu [[wpde>Beat_’em_up|Brawlern]] entdeckt und mit [[wpde>Chrono_Trigger|Chrono Trigger]] die Welt der [[wpde>Computer-Rollenspiel#östlich|JRPG]]s. Die Age of Empires II und [[wpde>Dungeon_Keeper|Dungeon Keeper]] Karten wurden immer komplexer und teilweise darauf ausgelegt, dass ich gegen meinen großen Bruder eine Chance habe ohne das Level Design unfair zu machen. Mit 12 habe ich von meinem Bruder Programmieren gelernt. In [[wp>QBasic]] habe ich ein [[wpde>Kommandozeile|Kommandozeilen]] Zahlenraten geschrieben: Ein Zufallszahlengenerator, eine Texteingabe, eine Textausgabe, eine [[wpde>Schleife_(Programmierung)|Schleife]], fertig. Das zweite Projekt war ein graphisches [[wpde>Galgenmännchen|Hangman]] Buchstabenraten, das ich in der Schule in einer Deutsch Stunde geplant habe. Daraufhin zeigte mir mein Bruder die Grundlagen von [[wpde>C-Sharp|C#]] und ich verliebte mich sofort in die [[wpde>Objektorientierung|objektorientierte]] Programmierung. ===== Ideen und noch mehr Ideen ===== Ab dann beginnt die große Zeit der Ideen und Konzepte, die nie das Licht der Welt erblickt haben. Vor Kurzem, als unser Elternhaus ausgeräumt wurde, habe ich stapelweise Blätter mit Spiel Ideen gefunden. Die Geschichte eines Orks zum Beispiel, der im Abspecklager (=Tutorial) zu einem Krieger ausgebildet werden soll und sich rein hängt um seiner Flamme zu gefallen, aber später feststellt dass er ein Schamane ist der Zeichnungen zum Leben erwecken kann. Die Story war in Tagebuch Form geschrieben und nett zu lesen, wurde aber nie auch nur angefangen. Am meisten habe ich mich mit meinem Bruder über Handelssysteme, [[wpde>Künstliche_Intelligenz|KI]] und Warenkreisläufe unterhalten. Auf der Story Seite waren mehr und mehr online [[wpde>Foren-Rollenspiel|RPG Foren]] prägende Einflüsse, wo Spielideen nur durch Text bespielt werden. Je mehr kreative Freiheit ohne Regelwerke wie in [[wpde>Pen-&-Paper-Rollenspiel|Pen & Paper RPG]]s es gab, desto wohler fühlte ich mich. Ich habe in der Zeit 3 große Welten entwickelt, in denen einige meiner Geschichten gespielt haben. Ungefähr 6 oder 7 von ihnen sind gut gelaufen und 2 spielten wir über Jahre. Auch in der Welt anderer [[wpde>Spielleiter_(Spiel)|SL]]s Charaktere zu entwerfen und als halben Roman auszuspielen hat mich auf meinem Weg voran gebracht. ===== Unfertige Prototypen ===== Mit 16 oder 17 habe ich mich dann in [[wpde>DirectX]] eingelesen. Ich schrieb mein eigenes [[wpde>Kachelgrafik|Tile]] System, mit dem ich meine Karte in quadratische [[wpde>Gestaltungsraster|Grids]] einteilte und den einzelnen Feldern freie Höhenstufen geben konnte. In dieser Welt wollte ich dann Wasser fließen lassen, was super funktionierte und fürchterlich aussah. Sogar versickern konnte das Wasser, da ich darauf aus war Harvest Moon nachzuprogrammieren. Im Grunde war ich drauf und dran das zu versuchen, was [[https://www.stardewvalley.net/author/concernedape/|ConcernedApe]] mit [[wpde>Stardew_Valley|Stardew Valley]] geschafft hat. Allerdings war ich fokussiert auf elegante Systeme anstatt auf den [[wpde>Medieninhalt|Content]]. So kam ich nicht viel weiter als zu meiner Wasser Simulation. Ich stand vor einer Wand und hatte keine Idee, wie ich komplexere Systeme in mein Spiel einbauen kann ohne dass der Code explodiert. Noch immer versteifte ich mich darauf, dass Programmieren das Wichtigste sei, um Spiele zu entwickeln. Also ging ich nach München, um Informatik zu studieren. In einem freiwilligen 2 Wochen Kurs vor Studienbeginn haben wir im Team (fast) [[wpde>Monopoly]] in [[wpde>Java_(Programmiersprache)|Java]] nachprogrammiert, wobei die grundsätzliche Strukturierung in einer Art [[wpde>Model_View_Controller|Model View Controller]] [[wpde>Entwurfsmuster|Pattern]] von mir kam und gut funktionierte. ===== Echte Spiele ===== Mit 21 machte ich dann ein Spiel Programmierungs Praktikum bei [[wpde>Realmforge_Studios|Realmforge]] mit dem Spiel [[wpde>Dungeons_(Computerspiel)|Dungeons]]. Anfangs durfte ich auf der Game Design Seite reinschnuppern und kam schnell mit der Skriptsprache [[wpde>Lua]] zurecht, um die im [[theorie:analyse|Game Design Dokument]] beschriebenen Boss Kämpfe zu skripten. Ich vermute dass es an der [[wp>Game_Balance|Balancing]] Sektion am Anfang meiner Skripte lag, dass ich gefragt wurde ob ich beim Game Design bleiben wolle. Aber ich war immer noch der Meinung dass Programmieren alles war und sammelte viel Erfahrung beim Entwerfen der Imp Aufgabenverteilung und Verwendung der [[wpde>Endlicher_Automat|State Machine]]. Code Sicherung und [[wpde>Versionsverwaltung]] kannte ich da schon, aber die [[wpde>Agile_Softwareentwicklung|agile]] Art des [[wpde>Issue-Tracking-System|Issue Tracking]] war mir neu. Nach meinem [[wpde>Informatik]] Studium war ich fast enttäuscht, dass ich die Zeit bis zum [[wpde>Bachelor]] nicht genutzt habe um ein Spiel zu entwickeln. Ich habe auf hilfreiche Informatiker Fähigkeiten gewartet, aber abgesehen von [[wpde>Entwurfsmuster|Design Patterns]] war kaum etwas praktisch Verwendbares dabei. Also fing ich an blutige Anfänger Tutorials zu suchen und wurde auf [[https://www.kongregate.com|kongregate]] fündig: Aus einem [[wpde>ActionScript|Flash Actionscript]] Tutorial für einen [[wpde>Shoot_’em_up|Side Scroller Shooter]] wie ich ihn von [[wpde>Gradius|Gradius III]] am SNES kannte, machte ich ein Spiel in dem sich eine Biene durch Wespen durchkämpfen muss und Blüten Powerups sammeln kann. Gezeichnet mit der Maus in [[wpde>Microsoft_Paint|Paint]] oder sogar schon [[wpde>GIMP]], und mit selbst aufgenommenen Sound Effekten mit dem Meeting Headset und [[wpde>Audacity]]. Fürchterliche Qualität, aber fertig geworden. ===== Engine Hopping ===== Schon ein einfaches eigenes Quiz Show Spiel in Flash Actionscript war dann schon ein zu großes oder einfach nicht ausreichend lustiges Spiel, sodass meine produktive Phase wieder im Sande verlief. Durch die Arbeit als Softwareentwicklerin saß ich in der Arbeit schon mehr am Computer als ich aushielt, sodass ich die Ideen zwar gern beim Spazieren mit den Pferden im Kopf weiterspann, aber mich selten hinsetzte um etwas aus ihnen zu machen. Für die Zeit im Mutterschutz bekam ich mit 26 Jahren dann von meiner Firma eine Spiele Programmieren Video Anleitung zu Weihnachten. Die lag erst mal nur rum, weil ich in der letzten Zeit der Schwangerschaft und in der ersten Zeit mit Kind generell nicht am Computer sitzen konnte, aber es kam die Gelegenheit es durchzumachen und [[wpde>Mono_(Software)|Monogame]] mit [[https://www.mapeditor.org/|Tiled]] und Netzwerknachrichten zu entdecken. Eine überschaubare Welt mit 4 Maps für einen Nebencharakter aus einer der Welten meiner Foren RPG Zeit sollte zu einem Heiler-Rebellen-Tycoon Spiel werden. Das Tutorial mit 3 der 4 Maps ist fertig geworden, aber der tatsächliche Heilung Part dann schon nicht mehr und der Rebellen Missionen Manager Part auch nicht, weil ich zuerst das Speichern zum Laufen bekommen wollte. Das habe ich bis heute nicht geschafft, weil ich mich dagegen wehre, sämtliche Datenstrukturen doppelt zu schreiben. Dann entdeckte ich [[wpde>Unity_(Spiel-Engine)|unity]]. Nach einigen Start Schwierigkeiten raufte ich mich mit den Szenen und Komponenten zusammen und war begeistert, so einfach etwas auf den Bildschirm zu bringen wie zu Flash Actionscript Zeiten. Inzwischen war ich schon zu der Einsicht gekommen, dass mich Programmieren allein nicht weiterbringt. Also wollte ich klitzekleine Minigames machen, oder zumindest ein einziges Minigame, um mehr Erfahrung damit zu bekommen ein Spiel wirklich fertig zu bekommen. Die Ideen wurden kleiner und kleiner. Aus Harvest Moon wurde ein Blumentopf Minigame, daraus eine Kompost Simulation... ===== Mein erstes eigenes Spiel ===== Über das [[wpde>Live_Action_Role_Playing|Live-Rollenspiel]] Hobby kam ich dann zu der Gelegenheit, ein Wirtschaftssystem zu entwickeln, das im Hintergrund zwischen den Live Tagen läuft. Es sollte die Warenkategorien des bestehenden Systems benutzen, aber für den internen Aufbau der Siedlungen erweitert werden. Und was soll ich sagen: [[https://taurusjuvavi.at/wirtschaft/|Es wurde fertig!!]]\\ Die Anleitung mit den Regeln hatte auf einer Seite Platz und hat diverse Gebäudekostenlisten von früher abgelöst. Eine Übersicht über den Siedlung Status habe ich in [[https://www.php.net/|php]] geschrieben und an die [[https://wordpress.com|WordPress]] Seite unserer Gruppe angegliedert. Die auf den [[https://mythodea.de/|Larp Lives]] gehandelten Waren schreibe ich zusammen und pflege sie mit [[wpde>CSV_(Dateiformat)|csv]] Dateien Upload ein. Im Hintergrund halte ich die Daten auf meinem Computer in einem [[wpde>Versionsverwaltung|Versionierungssystem]], sodass ich die gesamte Historie unseres internen Handelsspiels nachstellen kann.\\ Skripten reichte aus und ich brauchte nur ein ausreichend umfangreiches [[https://de.freepik.com/vektoren-kostenlos/spielknoepfe-und-banner-aus-holz_12620557.htm|Asset Pack]] zu finden, um die Übersicht und die Anleitung schick aussehen zu lassen. Kein User Input und nichts was mir schwer fällt, einfach Daten strukturieren, darstellen, und Skripte drüber laufen lassen. Die Daten generisch anzeigen lassen, ein bisschen [[wpde>Cascading_Style_Sheets|css]] dazu, fertig. Dafür hätte ich kein Informatik studieren brauchen. Daher kommt mein Tipp: [[theorie:programmieren|Programmieren on the fly lernen]] und mit den [[:start|anderen Aspekten der Spieleentwicklung]] anfangen.