Coding
Im Bereich Coding werden die Hauptmechaniken eines Spiels und die Assets der anderen Departments in der Game Engine Unity implementiert. Dazu werden Unitys Game Components verwendet und mit eigenen C#-Scripts verbunden. In den Workshops werden dazu die Basics des Programmierens in Unity vermittelt. Es ist hilfreich, wenn man schon ein wenig Erfahrung im Programmieren besitzt, doch auch eine Teilnahme ohne Vorkenntnisse ist machbar.
Fertigkeiten im Coding Department
Rolle und Verantwortung
Im finalen GameJam im ersten Semester musst du mit wenigen anderen Codern in einer kurzen Zeit die Umsetzung und die Zusammensetzung des Spiels planen. Je nach Stärken und Lust teilt ihr euch die Gebiete auf, z.B.: Eine Person programmiert den Spieler; die andere Person programmiert das Hauptmenü. Eine wichtige Verantwortung liegt darin, alle Assets der anderen Departments in das Spiel korrekt einzufügen.
Bei einer erneuten Teilnahme werdet ihr das ganze Semester lang in einem Team aus Codern ein aufwendigeres Spiel erstellen. Hier kommt zusätzlich die organisierende Rolle des Coding Leads hinzu, die für die langfristige Aufteilung der Aufgaben und Koordination mit den anderen Departments zuständig ist.
Vokabelliste im Coding Department
Eine Scene ist eine Datei, in der ein Level bzw. eine Komposition von GameObjects gespeichert wird. Die Scene wird in Unity mittig im Scene View angezeigt. Der Name der aktuell geöffneten Scene ist in Unity oben-links nach dem Namen des Projekts zu sehen.
Alle Objekte in Unity werden als GameObjects bezeichnet. An diese werden Components angehängt, welche die Eigenschaften des Objekts bestimmen. Die Objekte werden dann in Scenes eingefügt um miteinander zu interagieren.
Components werden an GameObjects angehängt, um ihnen Eigenschaften oder Funktionalitäten zuzuschreiben. Jedes GameObject muss ein Transform Component besitzen, welches die Position, Rotation und Skalierung des Objekts in der Scene angibt. Ein Script ist gleichzeitig ein Component.
Prefabs (aus dem engl. Wort prefabricated) sind Zusammensetzungen aus GameObjects, die als Dateien abgespeichert werden. Diese Prefab-Dateien können in jede Scene instanziiert werden und verhalten sich wie GameObjects. Der Vorteil eines Prefabs ist es, dass man beim Ändern jener Eigenschaften nicht jede Instanz separat ändern muss, sondern das Prefab zentral verändern kann und die Änderungen automatisch auf alle Instanzen übertragen werden. Beispiel: Ein Prefab names "Player" beinhaltet womöglich ein "3D-Modell"-GameObject, sowie ein "Camera"-GameObject.