Coding
In the coding area, the main mechanics of a game and the assets of the other departments are implemented in the game engine Unity. For this purpose, Unity's game components are used and linked to your own C# scripts. The workshops teach the basics of programming in Unity. It is helpful if you already have a little experience in programming, but it is also possible to take part without any prior knowledge.
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.