GameDevWeek/Fachseminar (Themen): Unterschied zwischen den Versionen

Aus /dev/null
Wechseln zu: Navigation, Suche
[gesichtete Version][gesichtete Version]
(Die Seite wurde neu angelegt: „== Details zu den Themen: == Genaue Beschreibungen zu den Themen sind im Bereich Programmierung zu finden, hier geht es lediglich um die Anwendbarkeit im Fach…“)
 
Zeile 1: Zeile 1:
== Details zu den Themen: ==
+
== Allgemeines ==
  
Genaue Beschreibungen zu den Themen sind im Bereich Programmierung zu finden, hier geht es lediglich um die Anwendbarkeit im Fachseminar.
+
Genaue Beschreibungen zu den Themen sind im [[Events:GameDevWeek Programmierung|Bereich Programmierung]] zu finden, hier geht es lediglich um die Anwendbarkeit im Fachseminar.
  
 
==== Hilfreiche Vorlesungen: ====
 
==== Hilfreiche Vorlesungen: ====
Zeile 9: Zeile 9:
 
Generell ist jedes Modul hilfreich, das praktische Aufgaben zu dem Thema erfordert, wie z.B. Projekte, GBO, Tool & Plugin, etc..
 
Generell ist jedes Modul hilfreich, das praktische Aufgaben zu dem Thema erfordert, wie z.B. Projekte, GBO, Tool & Plugin, etc..
  
=== User-Interface: ===
+
== 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.
 
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: ====
+
=== Hilfreiche Vorlesungen: ===
  
 
* [http://www.hochschule-trier.de/index.php?id=6896 Grafische Benutzeroberflächen]
 
* [http://www.hochschule-trier.de/index.php?id=6896 Grafische Benutzeroberflächen]
 
* [http://www.hochschule-trier.de/index.php?id=13806 Entwicklung mobiler Anwendungen]
 
* [http://www.hochschule-trier.de/index.php?id=13806 Entwicklung mobiler Anwendungen]
  
==== Allgemeine Recherche: ====
+
=== Allgemeine Recherche: ===
  
 
* Umgehen mit verschiedenen Auflösungen (Responsive Design)
 
* Umgehen mit verschiedenen Auflösungen (Responsive Design)
 
* Benutzung von LibGDX Scene2D.
 
* Benutzung von LibGDX Scene2D.
  
==== Vorschläge für Spezialgebiete: ====
+
=== Vorschläge für Spezialgebiete: ===
  
 
* Eingabeverfahren (Maus, Keyboard, Gamepad, Touchscreen) für Navigation Texteingabe.
 
* Eingabeverfahren (Maus, Keyboard, Gamepad, Touchscreen) für Navigation Texteingabe.
Zeile 29: Zeile 29:
 
* Schriftarten zeichnen (Kerning, Outlining, Schatten) und Spezielle Zeichenmethoden (z.B. Signed Distance Field oder Alpha Tested Magnification.. beides von Valve).
 
* Schriftarten zeichnen (Kerning, Outlining, Schatten) und Spezielle Zeichenmethoden (z.B. Signed Distance Field oder Alpha Tested Magnification.. beides von Valve).
  
=== Gamelogik ===
+
== Gamelogik ==
  
 
Für dieses Thema ist etwas Erfahrung besonders für Aufbau und Herangehensweise hilfreich.
 
Für dieses Thema ist etwas Erfahrung besonders für Aufbau und Herangehensweise hilfreich.
  
==== Hilfreiche Vorlesungen: ====
+
=== Hilfreiche Vorlesungen: ===
  
 
* [http://www.hochschule-trier.de/index.php?id=6896 Grafische Benutzeroberflächen] (Klassen, Listener Pattern, MVC)
 
* [http://www.hochschule-trier.de/index.php?id=6896 Grafische Benutzeroberflächen] (Klassen, Listener Pattern, MVC)
 
* [http://www.hochschule-trier.de/index.php?id=6908 Lineare Algebra] (Vektoren)
 
* [http://www.hochschule-trier.de/index.php?id=6908 Lineare Algebra] (Vektoren)
  
==== Allgemeine Recherche: ====
+
=== Allgemeine Recherche: ===
  
 
* Game Engine Grundgerüst + Main Loop.
 
* Game Engine Grundgerüst + Main Loop.
  
==== Vorschläge für Spezialgebiete: ====
+
=== Vorschläge für Spezialgebiete: ===
  
 
* Entity Component System vs Klassisches Entity System (Vererbung)
 
* Entity Component System vs Klassisches Entity System (Vererbung)
Zeile 51: Zeile 51:
 
* In Place loading Verfahren (ohne Ladescreen weitere Levelteile laden) und Asset Preprocessing.
 
* In Place loading Verfahren (ohne Ladescreen weitere Levelteile laden) und Asset Preprocessing.
  
=== Physik ===
+
== 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.
 
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: ====
+
=== Hilfreiche Vorlesungen: ===
  
 
* [http://www.hochschule-trier.de/index.php?id=6908 Lineare Algebra] (Vektoren)
 
* [http://www.hochschule-trier.de/index.php?id=6908 Lineare Algebra] (Vektoren)
 
* [http://www.hochschule-trier.de/index.php?id=10031 Spieleprogrammierung]
 
* [http://www.hochschule-trier.de/index.php?id=10031 Spieleprogrammierung]
  
==== Allgemeine Recherche: ====
+
=== Allgemeine Recherche: ===
  
 
* 2D Physik mit Box2D
 
* 2D Physik mit Box2D
  
==== Vorschläge für Spezialgebiete: ====
+
=== Vorschläge für Spezialgebiete: ===
  
 
* Probleme in der Hochgeschwindigkeitsphysik
 
* Probleme in der Hochgeschwindigkeitsphysik
Zeile 71: Zeile 71:
 
* Joints & Constraints
 
* Joints & Constraints
  
=== Rendering ===
+
== Rendering ==
  
 
Dieses Thema erfordert etwas Erfahrung im Bereich Computergrafik. Es beinhaltet das Rendern der Welt, Items, Partikeleffekte, Animationen, etc.
 
Dieses Thema erfordert etwas Erfahrung im Bereich Computergrafik. Es beinhaltet das Rendern der Welt, Items, Partikeleffekte, Animationen, etc.
  
==== Hilfreiche Vorlesungen: ====
+
=== Hilfreiche Vorlesungen: ===
  
 
* [http://www.hochschule-trier.de/index.php?id=6871 Einführung in die Computergrafik]
 
* [http://www.hochschule-trier.de/index.php?id=6871 Einführung in die Computergrafik]
Zeile 81: Zeile 81:
 
* [http://www.hochschule-trier.de/index.php?id=13720 Realtime-Rendering]
 
* [http://www.hochschule-trier.de/index.php?id=13720 Realtime-Rendering]
  
==== Allgemeine Recherche: ====
+
=== Allgemeine Recherche: ===
  
 
* Keine, da die Spezielgebiete umfangreich genug sind.
 
* Keine, da die Spezielgebiete umfangreich genug sind.
  
==== Vorschläge für Spezialgebiete: ====
+
=== Vorschläge für Spezialgebiete: ===
  
 
* Qualität:
 
* Qualität:
Zeile 100: Zeile 100:
 
** etc.
 
** etc.
  
=== Netzwerk ===
+
== 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.
 
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: ====
+
=== Hilfreiche Vorlesungen: ===
  
 
* [http://www.hochschule-trier.de/index.php?id=6890 Entwicklung verteilter Anwendungen]
 
* [http://www.hochschule-trier.de/index.php?id=6890 Entwicklung verteilter Anwendungen]
 
* [http://www.hochschule-trier.de/index.php?id=6921 Parallele Programmierung]
 
* [http://www.hochschule-trier.de/index.php?id=6921 Parallele Programmierung]
  
==== Allgemeine Recherche: ====
+
=== Allgemeine Recherche: ===
  
 
* Synchronisation von Daten in Spielen
 
* Synchronisation von Daten in Spielen
  
==== Vorschläge für Spezialgebiete: ====
+
=== Vorschläge für Spezialgebiete: ===
  
 
* UDP NAT Punch Through (Hole Punching)
 
* UDP NAT Punch Through (Hole Punching)
Zeile 127: Zeile 127:
 
** etc.
 
** etc.
  
=== Künstliche Intelligenz ===
+
== Künstliche Intelligenz ==
  
 
Dies Thema ist zur Zeit noch nicht in der Auswahl, wird aber eventuell bei Interesse (und Erfahrung) auch angeboten.
 
Dies Thema ist zur Zeit noch nicht in der Auswahl, wird aber eventuell bei Interesse (und Erfahrung) auch angeboten.
  
==== Hilfreiche Vorlesungen: ====
+
=== Hilfreiche Vorlesungen: ===
  
 
* [http://www.hochschule-trier.de/index.php?id=14216 Künstliche Intelligenz für Spiele]
 
* [http://www.hochschule-trier.de/index.php?id=14216 Künstliche Intelligenz für Spiele]
 
* [http://www.hochschule-trier.de/index.php?id=6879 Datenstrukturen und Algorithmen]
 
* [http://www.hochschule-trier.de/index.php?id=6879 Datenstrukturen und Algorithmen]

Version vom 28. November 2014, 17:42 Uhr

Allgemeines

Genaue Beschreibungen zu den Themen sind im Bereich Programmierung zu finden, hier geht es lediglich um die Anwendbarkeit im Fachseminar.

Hilfreiche Vorlesungen:

In jedem Themengebiet haben wir hilfreiche Vorlesungen aufgelistet. Wenn du diese nicht mitgemacht hast (oder nicht verstanden), musst du dir das notwendige Wissen zusätzlich zum eigentlichen Thema erarbeiten. Je nach Themengebiet ist das eine Menge Arbeit, wir empfehlen also die Themen nur dann zu wählen, wenn du das Wissen der jeweiligen Vorlesungen schon großteils hast.

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:

Allgemeine Recherche:

  • Game Engine Grundgerüst + Main Loop.

Vorschläge für Spezialgebiete:

  • Entity Component System vs Klassisches Entity System (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:

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 Spezielgebiete 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.

Hilfreiche Vorlesungen: