
Herzlich willkommen bei meinem Kurs Unity 3D für Anfänger - Spieleprogrammierung
In diesem Kurs erfährst du, wie man mit Unity 3D in Spiel programmiert. Wir werden gemeinsam das Spiel "Color Guess" erstellen, dass du möglicherweise aus der Welt der anfassbaren Spiele kennst.
Es geht hier weniger um optische Knalleffekte, sondern darum, wie du die Oberfläche von Unity steuerst, was Objekte sind, was eine Spielelogik ist und wie man Unity sagt, was man von ihr will.
Du lernst die Oberfläche der IDE (Integrated Development Environment) kennen und lernst die Grundlagen der Sprache C#.
Du lernst den Umgang mit dem Editor, mit dessen Hilfe du das Design des Spiels aufbaust.
Du lernst die Kamera kennen, mit deren Hilfe du das eigentliche Spielgeschehen filmst und darbietest, was du dir ausgedacht hast.
Du lernst, was Objekte, Prefabs, Eigenschaften von Objekten, Methoden, Funktionen, Variablen, Konstanten und mathematische sowie logische Operatoren sind.
Du lernst Collider kennen, erfährst, wie man mithilfe der Maus oder auch der Finger auf dem Smarty-Display das Spielgeschehen steuert.
Du verlierst - und das ist das Wichtigste - die Angst vor der Programmierung.
Du wirst viele Aha-Effekte erleben und verstehen, wie man von einer Idee zur Umsetzung kommt.
Zu guter letzt wirst du ein Spiel erstellt haben, das du beliebig verändern und erweitern kannst.
Was kann man mit Unity programmieren?
In dieser kurzen Vorstellung zeige ich dir die Homepage von Unity. Du kannst dich auf der Seite austoben und nachschauen, was alles möglich ist. Aber sei nicht zu euphorisch: Spieleprogrammierung ist meiner Meinung nach die aufwändigste Programmierung.
Nein, ich will dich nicht abschrecken. Ich will nur damit sagen, dass du nicht als erstes Grand Theft Auto oder ähnliches programmieren wirst. Fange klein an und beginne mit Mini-Programmen. Wenn du immer sicherer wirst, wirst du von allein größere Projekte erstellen.
Installation von Unity aus dem Internet
In dieser Lektion erfährst du, wie Unity installiert wird. Ich zeige dir, wo du es findest, und auf welche Art und Weise du es auf deinen Rechner installierst.
Du wirst in dieser Lektion auch erfahren, welche Optionen du anklicken kannst, damit Unity ganz nach deinen Wünschen installiert wird.
Was ist der Hub?
Der Unity Hub ist nicht nur dafür da, Projekte zu verwalten. Du kannst damit auch englische Lernvideos suchen und ausführen. Zudem findest du hier eine Community und verwaltest die von dir installierten Unityversionen.
Wie organisiert man die Projekte auf der Festplatte?
Gewisse Dinge sollte man berücksichtigen, wenn man mit dem Unity Hub arbeitet. Er nimmt einem viel Arbeit ab, aber man sollte auch wissen, wie er "denkt". In diesem Kapitel werde ich dir erklären, wie man mit ihm arbeitet, ohne dass es frustriert.
Was ist wo im Editor?
Wenn du das erste Mal in Unity bist, wirst du vermutlich von der Fülle der Funktionen erschlagen. Damit das nicht so bleibt, erkläre ich dir, was du wo findest. Wir werden die wichtigsten Funktionen kennenlernen, die du für die Erstellung deines ersten Projekts benötigst.
Hierarchy und Project - Was ist der Unterschied?
Das Fenster der Hierarchy und der Project-View können anfangs leicht verwechselt werden. Damit dir das nicht passiert, erkläre ich dir den Unterschied.
Mac-User: Was ist mit meinen FPS passiert?
Gerade Mac-User werden sich beim ersten Starten und Experimentieren im Scene-View fragen, was denn hier los ist. Da kauft man sich einen leistungsstarken Rechner, und der Editor ruckelt aus unerklärlichen Gründen. Die Bewegungen der Objekte laufen, als hätte man eine leistungsschwache Grafikkarte. Hier in dieser Lektion zeige ich dir, was man dagegen tun kann.
Das erste Game-Object
Alle Unterrichtsreihen beginnen mit dem Einfügen eines Würfels. Da ein Würfel ein anschauliches Objekt für die Erklärungen ist, werden wir diesen Standard nicht brechen. Also lass uns auch mit einem Würfel anfangen.
Du lernst den Inspektor kennen - nein, es ist kein Kriminalbeamter, es ist ein Fenster. Ein ganz wichtiges Fenster.
Der Mesh-Filter
Mithilfe des Mesa-Filters wird definiert, wie ein Game-Object aussieht. Schau dir an, wie man nachträglich Änderungen am Game-Object vornehmen kann.
Der Mesh-Renderer
Diese Komponente bietet noch ein wenig mehr, als der Mesh-Filter. Mit ihr kannst du die Oberfläche gestalten oder den Schatten erzeugen.
Der Collider
Collider sind dafür gemacht, Annäherungen an Game-Objects oder Berührungen bzw. Kollisionen zu erkennen. Es gibt verschiedene Formen und auch Betriebsarten von Collider, je nachdem, was du damit erreichen willst.
Das Material
Materials sind sozusagen die Haut der Game-Objects. Du kannst damit einfach nur Farben auf die Oberfläche bringen, oder ganze Strukturen zum Beispiel von Holz oder von Steinen. Auch die Rauheit und Oberflächenstruktur von echten Materialien werden über Materials realisiert.
Navigation im Scene Editor
Damit du dich im Scene Editor so bewegen kannst, wie du willst, und nicht, wie deine Maus es will, musst du wissen, welche Tastenkombinationen zum Erfolg führen. Übe sie gut, sie sind sehr wichtig und sollten in Fleisch und Blut übergehen.
Der 3D-Gizmo
Mithilfe des 3D-Gizmos kannst du dich ebenfalls im 3D-Raum bewegen. Mit seiner Hilfe kannst du aber auch ganz präzise Ansichten einstellen.
Shared und Wireframe
Mithilfe dieser Einstellungen stellst du ein, wie du die Game-Objects siehst. Nur die Oberfläche, nur das Drahtgittermodell oder eine Mischung aus beidem.
Aufräumen im Projekt
Damit du immer die Übersicht über dein Projekt behältst, ist es ziemlich wichtig, dass du eine systematische Ordnung einführst. Mit Ordnern, die dein Projekt strukturieren, bekommst du das hin.
Prefabs
Mithilfe von Prefabs (Prefabricated Objects) erstellst du Vorlagen für komplexe Objekte. So sparst du dir eine Menge Arbeit bei der Erstellung deiner Enemies.
Scene-Manipulatoren
Die Manipulatoren ermöglichen dir ein Verschieben, Skalieren und Rotieren deiner Game-Objects. Egal, aus welcher Richtung du gerade blickst, du hast deine Scene immer im Blick.
3D-Basis-Objekttypen
Welche 3D-Basis-Objekttypen kann Unity von Hause aus erzeugen? Obwohl es kein Layoutprogramm ist, kannst du eine Menge Objekte damit erzeugen.
Ort der Objekterzeugung
Wenn man Game-Objects neu erzeugt, werden sie an zwei unterschiedlichen Orten abgelegt. Wo das ist, kannst du selbst festlegen.
Regelmäßig speichern
Um bloß nichts zu verlieren, solltest du dir angewöhnen, regelmäßig zu speichern. Wie man da vorgeht, wir dir in dieser Lektion beschrieben.
Build Settings
Die Build Settings sind ein komplexes Thema. Hier erfährst du, was am Anfang wichtig ist.
Scenes in Build
Du musst regeln, welche Szenen sich in deinem kompilierten Programm befinden. Ich zeige dir, wie das funktioniert.
Das fertige Programm
Wenn du das Programm mittendrin oder auch nach Fertigstellung kompilieren willst, solltest du das Ergebnis nicht mitten in dein Projekt speichern. Definiere einen Ort dafür.
Das Programm-Icon
Jedes Programm hat ein Recht auf ein schönes Icon. Gib deinem Programm auch ein schönes Icon. Das lockt auf jeden Fall wesentlich mehr Spieler an, als ein hässliches Nichts.
Erstellung des eigentlichen Projekts
Die Voraussetzung sind geschaffen, jetzt geht es erst richtig ans Werk. Alles, was du bisher von mir erfahren hast, waren Übungen. Aber jetzt geht es um die "Wurst". Lass uns beginnen.
Das Board
Wir beginnen damit, das Spielbrett, also das Board, zu designen. es soll schön aussehen, nicht so langweilig. Aus Holz wäre schön. Also werden wir ein Holzbrett basteln.
Material für das Board
Ein Board zu basteln ist einfach. Es aber schön zu machen, ist eine ganz andere Angelegenheit. Wir werden ein Holzband basteln. Das sieht schön aus und macht was her.
Splash Screen
Der sogenannte Splash Screen ist ein Begrüßungsbildschirm, der das Spiel interessanter macht. Später werden wir ihn so programmieren, dass man ihn wegklicken kann.
Infotext
Der Infotext informiert den Spieler, welche Farbe was bedeutet. Blau, gelb und weiß sind die möglichen Farben, die das Spiel zurückmeldet.
Struktur in der Hierarchy
Um mehr Übersicht in der Hierarchie des Programms zu haben und weitere Vorteile zu genießen, strukturieren wir nun deine Hierarchy-Einträge.
Farbbuttons erzeugen
Wir werden nun unser erstes Spielelement erzeugen. Es ist ein Button, der die von uns geratene Farbe anzeigt.
Materials erzeugen
Spiele leben von der Farbe. Ohne Farbe ist jedes Spiel langweilig. Also erzeugen wir jede Menge Farben, die sich "Materials" nennen. Diese werden wir später für die Buttons benötigen.
Die ersten vier Farbbuttons
Wir erzeugen nun aus einem Button drei weitere und erhalten dadurch die ersten vier Farbbuttons.
Die restlichen Farbbuttons
Wir erzeugen nun die restlichen 36 Farbbuttons und geben ihnen Namen. Das ist ein wenig Fleißarbeit, muss aber sein.
Ergebnis-Anzeige
Anschließend erzeugen wir die Ergebnis-Anzeige, in der wir später vom Spiel gezeigt bekommen, ob wir richtig geraten haben.
Der erste Farbauswahl-Button
Wir erzeugen gemeinsam den ersten Farbauswahl-Button, mit dessen Hilfe wir dem Spiel mitteilen, was wir raten.
Farbauswahl-Button 2-6
In dieser Lektion erzeugen wir die restlichen Farbauswahl-Buttons 2-6.
Results-Buttons
Die Results-Buttons verraten dem Spieler, wie gut er geraten hat. Er bekommt ein farbiges Feedback. Die Erklärung der Farben hast du bereits auf dem Bildschirm in gelb stehen.
Results-Buttons 2-10
In dieser Lektion legst du die fehlenden 9 Kolumnen mit Results-Buttons an.
Funktions-Buttons
Wir erzeugen den ersten Funktions-Button namens "PruefenButton" und formatieren ihn. Anschließend legen wir einen Text auf den Button.
Normal-, Storno- und LeichtButton
Für die weiteren Spielfunktionen brauchen wir neben dem PruefenButton, der unsere Eingabe der geratenen Farben prüft, auch einen Normal-, einen Storno- und einen LeichtButton. Der NormalButton schaltet auf den normal schwierigen Modus um, der StornoButton storniert die getätigte Farbeingabe, und der LeichtButton erleichtert uns das Raten, indem die Position der richtigen Farben angezeigt wird.
Neu- und EndeButton
Der NeuButton lässt uns ein neues Spiel beginnen, der EndeButton beendet das laufende Spiel.
Settings- und HilfeButton
Der SettingsButton ruft einen Dialog auf, der uns z.B. die Sprache verändern lässt. Der HilfeButton ruft den Hilfe-Dialog auf. Hier erfahren wir die Spielregeln.
Anpassen der Schrift
Nach der Fertigstellung der Buttons korrigieren wir die Schrift, damit die Buttons schöner aussehen.
Abort-Dialog
Der Abort-Dialog ist eine Frage an den Spieler, ob er das Spiel tatsächlich beenden will.
Zurück zum Spiel
Wir legen einen Button an, der ZurueckZumSpielButton heißt und uns zurück zum Spiel bringt, falls wir aus Versehen auf "Ende" geklickt haben, aber gar nicht abbrechen wollen.
Meldung: Modus nicht mehr änderbar
Wenn wir bereits begonnen haben zu spielen, soll es nicht mehr möglich sein, den Schwierigkeitsgrad zu ändern. Das wäre während eines laufenden Spiels ziemlich unfair anderen gegenüber. Also geben wir beim Versuch, den Modus zu ändern, eine Meldung aus.
Gratulation
Der Spieler hat es geschafft, den Code zu knacken und möchte hierfür belohnt werden. Also erscheint eine Meldung mit einer Gratulation. Zudem gibt es hier die Möglichkeit, das Programm zu beenden oder zurück ins Spiel zu gelangen.
HelpScreen erstellen
Damit wir eine Hilfe angezeigt bekommen, erstellen wir einen HelpScreen. Darin erzeugen wir diverse Textzeilen.
HelpScreen-Texte erstellen
Wir schreiben nun den Hilfetext, sodass der Spieler weiß, was er tun muss.
HelpScreen Zurück-Button
Um aus der Hilfe wieder zurück ins Spiel zu gelangen, erzeugen wir einen ExitHelpButton.
SetttingsScreen erstellen
Auf dem SettingsScreen wird eingestellt, in welcher Sprache das Spiel angezeigt wird. Zudem kannst du hier regeln, ob ein Ton erklingt oder der Sound deaktiviert ist.
Texte einfügen
Du fügst nun die Texte in den SettingsScreen ein, sodass du siehst, was du hier einstellen kannst.
SoundButton erzeugen
Unter anderem erzeugen wir einen Button, mit dessen Hilfe wir den Sound ein- und ausschalten können.
LostButtons erzeugen
Um dem Spieler anzuzeigen, dass er verloren hat, erzeugen wir die Gruppe "LostButtons".
Theorie 1
Was passiert beim Programmstart? Du erfährst, wie man ein C#-Script an ein GameObject heftet, wann ein Script überhaupt ausgeführt wird und lernst den ersten Befehl kennen.
Es folgen weitere Theorie-Teile, bevor du überhaupt richtig loslegen kannst. Du brauchst die Grundlagen, um zu verstehen, wie man sein Programm zum Leben erweckt.
Theorie 2
Was ist eine Klasse? Was ist ein Objekt? Was soll ich mir darunter vorstellen? Ich versuche, dir anhand von Kokosnüssen und Erbsen zu erklären, was man unter einem Objekt und einer Klasse versteht. Ich hoffe, es gelingt mir.
Theorie 3
Was steht denn da im ersten C#-Script? void? Start(), Update() Was ist das alles?
Ich werde es dir erklären, während du diese Lektion betrachtest.
Theorie 4
Gemeinsam bringen wir einen Würfel zum Rotieren. Ich zeige dir, was man benötigt, um Game-Objekte in Drehung zu versetzen. Und ich zeige dir, wie man überhaupt ein Game-Objekt anspricht.
Theorie 5
Du wirst in dieser Lektion eine alternative Art und Weise kennenlernen, wie man auf GameObjects zugreift. Nicht immer muss man nach ihnen suchen. Aber sieh selbst, was ich meine.
Die Word-Datei, die du im Anhang findest, werde ich auch in den folgenden Lektionen immer wieder zu Rate ziehen. Darin findest du interessante Tastenkombinationen, Befehle und Quellcode-Beispiele.
Primitive Datentypen
Einen Datentyp, nämlich INT, hast du gerade kennengelernt. Es gibt aber auch noch weitere, und die lernst du gleich kennen.
Interessante Links im Internet
Du wirst beim Designen deines Spiels immer wieder spezielle Grafiken benötigen, die du dir aus dem Internet holen kannst. Teilweise kosten sie Geld, doch gibt es auch kostenfreie. Sieh sie dir an!
Der Codeausschnitt-Manager
Mithilfe dieses netten Tools kannst du dir das wiederholte Eingeben von Quellcode ersparen. Leider ist die Vorgehensweise unter Windows und Mac im VisualStudio ziemlich unterschiedlich, aber im Internet findest du sehr detaillierte Informationen darüber. Schau es dir mal an.
Aktivieren und Deaktivieren einer Objektgruppe
Du lernst in dieser Lektion, wie man GameObjekte ein- oder ausschalten kann - und dies per Befehl im Script.
Wie misst man Zeit?
Zeit ist ein enorm wichtiger Faktor beim Erstellen von Spielen. Zeit will gemessen werden, und wir werden nun sehen, wie das funktioniert.
Wir erstellen einen Timer
Weiter geht's mit dem Quellcode, der regelt, dass der SplashScreen aus- und die GameObjekte eingeschaltet werden.
Testen des Programmstarts
Nun haben wir die ersten Quellcode-Zeilen geschrieben und wollen testen, ob sie auch funktionieren.
Automatisches Speichern auch nach Programmende
Schade, wenn mühsam Erspieltes nach dem Programmende verloren ist. Wir lernen, wie man das verhindert.
Das Programmende Teil 1
Irgendwann hat alles ein Ende, und so hat auch das Spiel mal ein Ende, nämlich genau dann, wenn der Spieler auf "Ende" klickt.
Das Programmende Teil 2
Fortsetzung des Beendens eines Programms
Das Programmende Teil 3
Fortsetzung des Beendens eines Programms
Das Programmende Teil 4
Letzter Teil des Beendens eines Programms
Wo ist der Ton?
Wenn du das Programm startest und auf "Ende"klickst", stellst du fest, dass du nichts hörst, obwohl wir eigentlich einen Sound einprogrammiert haben. Warum passiert hier nichts?
Hilfe!
Jedes Programm hat eine Hilfefunktion, und so hat unser Spiel natürlich auch eine. Ich zeige dir in dieser Lektion, wie die Hilfe realisiert wird.
SplashScreen unterbrechen
Gerade beim Testen eines Programms kann es ziemlich lästig werden, wenn man bei jedem Start warten muss, dass der SplashScreen verschwindet. Dies kann man beschleunigen. Ich zeige dir, wie es funktioniert.
SettingsScreen anzeigen
Dass es nicht immer so einfach bleibt, war dir sicher schon immer klar. Aber du kommst nicht drum herum. Doch keine Angst, wir werden langsam einsteigen, sodass du alles verstehst, was ich hier erkläre. Los geht es mit dem SettingsScreen, der Auswahlmöglichkeit von verschiedenen Spieloptionen.
SettingsScreen anzeigen
Teil 2 der Lektion
SettingsScreen anzeigen
Teil 3 der Lektion
SettingsScreen anzeigen
Teil 4 der Lektion
Sprache auf Deutsch einstellen
In den folgenden Lektionen wirst du lernen, wie man die Sprache eines Programms umschalten kann.
Quellcodeoptimierung
GameObject.Find sollten wir vermeiden, also zeige ich dir, wie man es entfernt und austauscht.
Initialisierung der GameObject-Texte
Diese Lektion ist reine Fleißarbeit, dennoch brauchst du sie, damit die richtigen Texte auf den Text-Objekten stehen.
Sprache auf Englisch einstellen (Teil 1)
Als alternative Sprache habe ich Englisch gewählt. Um sie zu wählen, brauchst du einen Button. Was er tut, lernst du hier.
Sprache auf Englisch einstellen (Teil 2)
Jetzt kommt der eigentliche Quellcode für die Einstellung der Sprache auf Englisch.
Sound einschalten
Zu jedem Spiel gehören auch tolle Sounds. Wenn diese aber mal abgeschaltet wurden, möchte man sie auch wieder einschalten. Wie das geht, lernst du in dieser Lektion.
Sound ausschalten
Diese Lektion zeigt dir, wie man den Sound ausschaltet.
Quellcodeoptimierung
Wir beseitigen ein paar kleine Fehler.
Normalen Spielmodus wählen (Teil 1)
Im Normalen Spielmodus verrät dir das Programm nicht, auf welcher Position du richtig geraten hast, und welche Farbe zwar korrekt ist, aber an der falschen Position sitzt. Dies macht es wesentlich schwieriger, zu erraten, welche Farben sich das Programm ausgedacht hat.
Normalen Spielmodus wählen (Teil 2)
Fortsetzung des ersten Teils.
Leichten Spielmodus wählen
Im leichten Spielmodus wird dir angezeigt, welche deiner korrekt geratenen Farben an der richtigen Position sitzt. Dies macht das Üben mit dem Spiel leichter und verständlicher.
Quellcodeoptimierung
Mal wieder sind ein paar kleine Korrekturen im GameController notwendig, die vor der weiteren Erstellung von Funktionen erforderlich sind.
Färben der FarbselektorButtons
Damit die FarbselektorButtons farblich dargestellt werden, braucht es eine Void. Diese schreiben wir in dieser Lektion.
Das NeuButton-Script (Teil 1)
Der NeuButton ist dafür gedacht, ein neues Spiel zu beginnen. Die Logik, die hinter ihm steckt, ist ein wenig aufwändiger, sollte dir aber keine Sorgen bereiten. Wir werden langsam aber sicher in die Logik einsteigen, sodass du alle Schritte verstehst.
Das NeuButton-Script (Teil 2)
Teil 2 der Lektion
Das NeuButton-Script (Teil 3)
Teil 3 der Lektion
Das NeuButton-Script (Teil 4)
Teil 4 der Lektion
Das NeuButton-Script (Teil 5)
Teil 5 der Lektion
Das NeuButton-Script (Teil 6)
Teil 6 der Lektion
Das ManageColorSelectorButtons-Script (Teil 1)
In den folgenden Lektionen lernst du, was passiert, wenn man auf den Button für die geratene Farbe drückt. Die Logik, die dahinter steckt, ist schon ein wenig undurchsichtiger, aber ich werde dir Licht ins Dunkel bringen.
Das ManageColorSelectorButtons-Script (Teil 2)
Teil 2 der Lektion
Das ManageColorSelectorButtons-Script (Teil 3)
Teil 3 der Lektion
Das ManageColorSelectorButtons-Script (Teil 4)
Teil 4 der Lektion
Das ManageColorSelectorButtons-Script (Teil 5)
Teil 5 der Lektion
Der Debugger - Grundlagen zum Fehlerfinden (Teil 1)
Mithilfe des Debuggers bist du in der Lage, Fehler systematisch zu finden. Ich zeige dir die Grundlagen, wie du ihn aktivierst und wie du Fehler orten und beseitigen kannst. Es gibt neben Syntaxfehlern leider auch sogenannte Laufzeitfehler, die einen falschen Programmablauf, aber keinen Abbruch produzieren. Diese sind in der Regel wesentlich schwerer zu finden. Doch der mächtige Debugger bringt dich in die Lage, auch diese zu finden.
Der Debugger - Grundlagen zum Fehlerfinden (Teil 2)
Teil 2 der Lektion
Das ManagePruefenButton-Script (Teil 1)
Der Prüfen-Button ist dafür gedacht zu überprüfen, ob das, was du als Spieler geraten hast, auch den Tatsachen entspricht. Sein Script meldet dir zurück, wieviele Farben korrekt positioniert sind, wieviele zwar richtig geraten, aber falsch positioniert sind, und ob du völlig daneben geraten hast.
Das ManagePruefenButton-Script (Teil 2)
Teil 2 der Lektion
Das ManagePruefenButton-Script (Teil 3)
Teil 3 der Lektion
Das ManagePruefenButton-Script (Teil 4)
Teil 4 der Lektion
Das ManagePruefButton-Script (Teil 5)
Teil 5 der Lektion
Das ManagePruefButton-Script (Teil 6)
Teil 6 der Lektion
Das ManagePruefenButton-Script (Teil 7)
Teil 7 der Lektion
Test des ManagePruefenButton-Scripts auf Funktion
Wir werden nun testen, ob das, was wir soeben alles auf die Beine gestellt haben, auch funktioniert. Liefert der PruefenButton tatsächlich das Ergebnis bis zur 10. Spalte?
Das ManageStornoButton-Script (Teil 1)
Der Storno-Button widerruft die geratenen Farben, solange noch nicht auf "Prüfen" geklickt wurde.
Das ManageStornoButton-Script (Teil 2)
Teil 2 der Lektion
Prüfung aller Funktionen (Teil 1)
Überprüfung der Buttons etc. auf Funktion
Prüfung aller Funktionen (Teil 2)
Teil 2 der Lektion
Laden des alten Spielstands beim Start (Teil 1)
In dieser Lektion lernst du, wie man den Spielstand des Spiels beim erneuten Starten des Spiels lädt.
Laden des alten Spielstands beim Start (Teil 2)
Teil 2 der Lektion
Laden des alten Spielstands (Teil 3)
Teil 3 der Lektion
Laden des alten Spielstands (Teil 4)
Teil 4 der Lektion
Laden des alten Spielstands (Teil 5)
Teil 5 der Lektion
Laden des alten Spielstands (Teil 6)
Teil 6 der Lektion
5 Aufgaben zum Üben
Du hast nun bewiesen, dass du verstehst, wie Unity 3D funktioniert. Du hast die Grundlagen verstanden, nun kannst du deine neu erworbenen Erfahrungen anwenden. Nutze die 5 Übungen, um deine Kenntnisse zu nutzen.
Unity 3D - Spieleprogrammierung für absolute Anfänger - Welche Voraussetzungen brauchst du für diesen Kurs?
Du solltest ein Anfänger sein, der keinerlei Erfahrung mit der Spieleprogrammierung hat. Natürlich will ich niemanden ausschließen, der bereits seine ersten Erfahrungen mit Unity und C# gemacht hat. Alle sind herzlich eingeladen, die Spaß daran haben, selbst einmal ein Spiel zu erstellen.
Möglicherweise willst du, wenn du mehr Erfahrungen gesammelt hast, dein Spiel in den gängigen Plattformen anbieten und damit Geld verdienen. Das ist möglich, wenn du die erste Hürde mit meinem Lehrgang meisterst.
Wir werden gemeinsam ein Spiel programmieren, das du möglicherweise als Brettspiel kennst. Das Programm denkt sich aus sechs Farben 4 unterschiedliche aus, verrät sie dir aber nicht. Deine Aufgabe ist es, die erdachte Farbenkombination systematisch herauszufinden. Als Feedback bekommst du vom Spiel blaue und gelbe Buttons, je nachdem, ob du die Farbe richtig erraten und positioniert hast, oder ob die Farbe stimmt, die Position aber noch falsch ist.
Wir beginnen bei null, also bei einer völlig leeren 3D-Umgebung und bauen erst einmal die Mechanik. Anschließend, wenn dir alles gefällt, werden wir die Programmlogik erstellen, also das, was hinter der Fassade passiert. Diese Programmlogik erstellen wir in C#.
Muss ich noch etwas kaufen? Kommen weitere Kosten auf mich zu?
Nein. Zur Teilnahme an diesem Kurs brauchst du lediglich das, was du bereits vor dir stehen hast: Einen Computer, einen Bildschirm, eine Tastatur und eine Maus. Zu Empfehlen ist eine Drei-Tasten-Maus, denn die erleichtert dir das Designen unheimlich.
Du brauchst keinerlei Spezialhardware, auch keinen gewaltigen Monitor und auch keine High-End-Grafikkarte. Es reicht ein normales Office-Notebook oder ein Standard-PC. Lediglich genug freien Platz auf der Festplatte solltest du haben. Ich denke da an ca. 30-50 GB.
Eines jedoch brauchst du:
Geduld, eine gewisse Frustrationstoleranz gegenüber Programmierfehlern, die einfach nur gut versteckt sind, und den Willen, mit Fleiß und Übung C# lernen zu wollen.
C# ist kein Hexenwerk. Am Anfang sieht es etwas seltsam aus, doch mit jedem Tag, den du damit verbringst, wird es leichter, es zu verstehen.
Welches Spiel werden wir programmieren?
Wir programmieren den Klassiker "Master Mind", den ich etwas abgewandelt habe. Du musst 4 Farben aus 6 möglichen erraten. Du musst dabei aber nicht nur die Farbe, sondern auch die richtige Kombination der Farben herausfinden - durch systematisches Nachdenken.
Mein Ziel / meine Vorgehensweise:
Ich habe mir in diesem Kurs viel Mühe gegeben, diesen so zu gestalten, dass gerade Anfänger, die noch nie programmiert haben, nicht direkt verzweifeln. Ich erkläre zuerst die notwendigen Dinge der Programmieroberfläche, anschließend tauchen wir langsam und sanft in die Navigation im 3D-Raum sowie in die Programmierung ein. Du wirst Objekte kennenlernen, Prefabs, Materials und viele andere Dinge, die für das Spiel notwendig sind. Dabei werde ich es vermeiden, dich mit anfangs überflüssigem, nicht notwendigem Wissen zuzuschütten.
Frust und Stress beim Programmieren versuche ich zu vermeiden. Es soll Spaß machen. Spaß steht an erster Stelle. Und mit Spaß und Motivation wirst du sicher ganz schnell lernen, mit Unity dein erstes Projekt zu erstellen.
Nun gib dir einen Ruck und trau dich. Du wirst es schaffen. Lass dich nicht von dir selbst entmutigen. Ich habe schon vielen Menschen das Programmieren beigebracht, und ich hoffe, dass ich dich bald dazuzählen kann.
Bis gleich in der ersten Videolektion.
André Schaberick