Software-Entwicklung (PSE) - Echtzeit-Computergrafik in der Spieleentwicklung

  • Typ: Praktikum
  • Semester: Wintersemester 2015/2016
  • Dozent:

    Stephan Bergmann
    Hauke Rehfeld

  • Hinweis:

    Das erste Treffen findet am 5. November 2015 um 14:00 Uhr im Raum 148, Gebäude 50.34, 1.OG statt. Die weiteren Termine werden bei diesem ersten Treffen vereinbart.

Der Lehrstuhl für Computergrafik bietet einem PSE-Team von 5-6 Teilnehmern die Möglichkeit, ein einfaches Computerspiel zu entwickeln. Diese Veranstaltung trägt den Titel "Echtzeit-Computergrafik in der Spieleentwicklung" und so liegt ein Hauptaugenmerk auf zeitgemäßer Grafik.


Die Aufgabenstellung gibt den Rahmen des Spieleprojekts vor, die Ausgestaltung können die teilnehmenden Gruppen während der ersten Phase festlegen. Die Spielidee ist dabei aus praktischen Gründen vorgegeben, dieses Jahr soll es eine Mischung aus Wipeout, Starwars Racer, Race the Sun und Starfox werden, in dem der Flow und das Geschwindigkeitsgefühl im Vordergrund stehen (Videolinks s.u.). Zu Beginn bekommt das Team diese Aufgabenstellung etwas näher spezifiziert (siehe z.B. die Skizze unten) und soll diese dann mit eigenen Ideen konkretisieren und ausgestalten. Dabei bleibt genug Freiraum für die eigene Kreativität.


Das Konzept muss im Rahmen der Erstellung des Pflichentheftes genau spezifiziert und anschließend umgesetzt werden. Insgesamt ist das PSE in folgende Phasen unterteilt:

  • Erstellung des Pflichtenhefts
  • Systementwurf
  • Implementierung
  • Validierung (Qualitätskontrolle/Softwaretest)
  • Projektabnahme und Abschlussveranstaltung

Wir benutzen die jMonkeyEngine als Grundlage des Spieleprojekts. Diese setzt ihrerseits auf OpenGL für die Darstellung und weitere Bibliotheken, z.B. jBullet für die Physik auf. Die Entwicklung des Projekts erfolgt in in ersten Linie in Java, für die Grafik können/sollten auch Shader eingesetzt werden, die dann in GLSL programmiert werden. Wir setzen keine Erfahrung mit Grafikengines voraus, aber natürlich die Bereitschaft, sich einzuarbeiten.

Skizze einer Aufgabenstellung (aus einem früheren Semester)

Pflichtkriterien:

  • übersichtliche Darstellung, die auch komplexe 3D-Geometrie mit Verdeckungen frustfrei wahrnehmbar macht
  • intuitive Navigation
  • sinnvolles Undo
  • gute automatische Kameraführung
  • Highscores nach Zeit, in möglichst wenigen Schritten ...
  • einfaches Datenaustauschformat für die Levels
  • mindestens zehn eindeutige Level mit steigendem Schwierigkeitsgrad
  • 2. Modus: Levels, die nur durch mehrere Linienzüge lösbar sind

 Optionale Kriterien:

  • Fancy Grafik! Juice it up!
    • Shader
    • Explosionen
    • Partikelsysteme
  • schöne Kameraübergänge / -schwenks
  • Sound
  • Tutorialmodus
  • andere Modi: Spiel auf Zeit / begrenztes Bewegungskontingent
  • Online-Level-Datenbank / -Plattform
  • eigene Ideen!

Je nach vorgegebener Spielidee vielleicht auch:

  • Kollisionserkennung
  • Physiksimulation
  • Künstliche Intelligenz/Bots
  • Netzwerkunterstützung für Multiplayer

Links: