GameDevWeek/Fachseminar (Themen)
Genaue Beschreibungen zu den Themen sind im Bereich Programmierung zu finden, hier geht es lediglich um die Anwendbarkeit im Fachseminar.
Inhaltsverzeichnis
Allgemeines
In jedem Themengebiet haben wir hilfreiche Vorlesungen aufgelistet. Wenn diese nicht belegt (oder verstanden) wurden, muss das notwendige Wissen zusätzlich zum eigentlichen Thema erarbeitet werden. Je nach Themengebiet ist das eine Menge Arbeit, es wird also empfohlen die Themen nur dann zu wählen, wenn das Wissen der jeweiligen Vorlesungen schon großteils vorhanden ist.
Generell ist jedes Modul hilfreich, das praktische Aufgaben zu dem Thema erfordert, wie z.B. Projekte, GBO, Tool & Plugin, etc..
User-Interface
Besonders Anfängern zu empfehlen, da man sich auch ohne Vorkenntnisse einarbeiten kann und langsamer Fortschritt andere Teams nicht zu sehr aus bremst. Das Thema beinhaltet Menü und HUD Entwicklung mittels libGDX Scene2D.UI.
Hilfreiche Vorlesungen:
Allgemeine Recherche:
- Umgehen mit verschiedenen Auflösungen (Responsive Design)
- Benutzung von LibGDX Scene2D.
Vorschläge für Spezialgebiete:
- Eingabeverfahren (Maus, Keyboard, Gamepad, Touchscreen) für Navigation Texteingabe.
- Sehr Komplexe UI’s (z.B. bei RPGs) / Mögliche Lösungswege
- Schriftarten zeichnen (Kerning, Outlining, Schatten) und Spezielle Zeichenmethoden (z.B. Signed Distance Field oder Alpha Tested Magnification.. beides von Valve).
Gamelogik
Für dieses Thema ist etwas Erfahrung besonders für Aufbau und Herangehensweise hilfreich.
Hilfreiche Vorlesungen:
- Grafische Benutzeroberflächen (Klassen, Listener Pattern, MVC)
- Lineare Algebra (Vektoren)
Allgemeine Recherche:
- Game Engine Grundgerüst + Main Loop.
Vorschläge für Spezialgebiete:
- Entity Component System vs Vererbung
- + Lifecycle Management: Speicher vs CPU
- Scripted Events (In Game Movies, Kamerafahrten, etc.)
- Input: QuickTime Events, Buttoncombos, Navigation, etc intuitiv gestalten.
- Abhängigkeitsmodelle (z.B. Point & Click, Trigger, Puzzle, etc.)
- In Place loading Verfahren (ohne Ladescreen weitere Levelteile laden) und Asset Preprocessing.
Physik
Sicherer Umgang mit der Programmiersprache erforderlich. Da dies oft ein essentieller Part des Spiels ist und früh benötigt wird, sollte man zügig Programmieren können.
Hilfreiche Vorlesungen:
- Lineare Algebra (Vektoren)
- Spieleprogrammierung
Allgemeine Recherche:
- 2D Physik mit Box2D
Vorschläge für Spezialgebiete:
- Probleme in der Hochgeschwindigkeitsphysik
- Fluid Simulation
- Swept Collision Detection
- Joints & Constraints
Rendering
Dieses Thema erfordert etwas Erfahrung im Bereich Computergrafik. Es beinhaltet das Rendern der Welt, Items, Partikeleffekte, Animationen, etc.
Hilfreiche Vorlesungen:
Allgemeine Recherche:
- Keine, da die Spezialgebiete umfangreich genug sind.
Vorschläge für Spezialgebiete:
- Qualität:
- Partikelsysteme
- Spezialeffekte (Blur, etc.)
- Fog of War
- Cell Shading
- etc.
- Quantität:
- Effizientes Rendern
- Tiled Map Rendering
- Texture Packing
- Rendering Reihenfolge
- etc.
Netzwerk
Das wohl schwierigste Thema und es steht nur dann zur Auswahl, wenn auch ein Netzwerkspiel entwickelt wird. Hierfür ist Vorwissen im Bereich Thread-Safety und Netzwerkkommunikation wichtig und sicherer Umgang mit der Programmiersprache ist unumgänglich.
Hilfreiche Vorlesungen:
Allgemeine Recherche:
- Synchronisation von Daten in Spielen
Vorschläge für Spezialgebiete:
- UDP NAT Punch Through (Hole Punching)
- Datenvolumen:
- Große Datenmengen managen
- Datenvolumen begrenzen
- Deltakompression
- etc.
- Zeitverzögerung:
- Level of Detail im Netzwerk
- Lag Compensation
- Prediction
- etc.
Künstliche Intelligenz
Dies Thema ist zur Zeit noch nicht in der Auswahl, wird aber eventuell bei Interesse (und Erfahrung) auch angeboten.