Spieleentwicklung mit der Unreal Engine 5
Empfohlene Voraussetzungen
Aufgrund der Komplexität des Unterrichtsstoffes werden Kenntnisse vorausgesetzt, die äquivalent zu denen sind, die im Kurs „Informatik 1“ vermittelt wurden. Dies bedeutet im Besonderen: Es sollten gute Grundkenntnisse in algorithmischen Grundstrukturen, Datentypen, Datenstrukturen sowie Klassen und Objekten vorhanden sein. Es sollten gute mathematische Grundkenntnisse entsprechend einer 8. Klasse vorliegen. Ein Programmierprojekt im Umfang einer Jahresarbeit sollte selbständig abgeschlossen worden sein.
Zielstellung
Im Rahmen des Kurses werden drei Spiele entwickelt. Das letzte entspricht der angebotenen Jahresarbeit und wird selbständig, allein oder in Teams, durchgeführt. Ziel ist es, den Umgang mit einem umfangreichen Softwareprodukt wie der Unreal Engine zu erlernen, Problemstellungen zu analysieren und Lösungen basierend auf den gelernten Kenntnissen selbständig zu finden. Dabei werden die im Folgenden aufgelisteten Kenntnisse erworben.
Programmieren in C++ und Blueprints
Ein Teil der Problemlösungskompetenz besteht darin, die zur Verfügung stehenden Werkzeuge zu kennen. Der Fokus liegt daher darauf, das objektorientierte Programmieren zu trainieren und die Kenntnisse über Control Flow, Datentypen und Datenstrukturen zu vertiefen. Dies geschieht sowohl mit Hilfe des in der Unreal Engine integrierten visuellen Scripting-Systems „Blueprints“ als auch mit der Programmiersprache C++.
Mathematik, Computergrafik und Softwaretechnologie
Oft scheitern Hobbyprojekte im Bereich der Videospielentwicklung, weil zwar oberflächliches Wissen über die Engine und die genutzte Programmiersprache vorhanden ist, jedoch das Verständnis für das „Warum“ fehlt. Der Kurs soll das vorbeugen, indem er Einblicke in ausgewählte Grundlagen bietet, die für den Aufbau und die Struktur der Engine und der mit ihr entwickelten Spiele ausschlaggebend sind. Unter anderem werden die Bereiche Grafikprogrammierung, Vektorräume, Software Design Patterns, Interface-Programmierung und boolesche Logik vorgestellt.
Game Design, Teamwork und Durchführung
Obwohl technische Kompetenzen bei der Entwicklung von Videospielen äußerst wichtig sind, sind der Bereich Game Design und die in der Teamarbeit benötigten Softskills ebenso von Bedeutung, denn Informatik ist ein Teamsport. Entsprechend gibt es im Kurs immer wieder Gruppenaufgaben und Möglichkeiten, Spielelemente zu designen. Da der Kurs in den Räumen der Fakultät für Informatik stattfindet, bietet sich zudem die Gelegenheit, Einblicke in das Universitätsleben zu gewinnen.