Home  | Impressum | Sitemap | KIT

Praxis der Softwareentwicklung (PSE)

Praxis der Softwareentwicklung (PSE)
Typ: Praktikum
Ort:

nach Absprache

Zeit:

wöchentl. Treffen nach Absprache

Dozent:

Stephan Bergmann
Emanuel Schrade

Hinweis:

Es findet zunächste eine allgemeine Einführungsveranstaltung statt, danach werden die Team eingeteilt. Die Teams vereinaren dann individuelle Termine mit den Betreuern.

PSE SS 2016 Teaser

Der Lehrstuhl für Computergrafik bietet zwei PSE-Teams von jeweils 5-6 Teilnehmern die Möglichkeit, ein einfaches Computerspiel zu entwickeln. 

 

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,  Zu Beginn bekommen die Teams 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. Wir empfehlen auch, sich die Engine (siehe Link unten) schon vor der Projektauswahl schon einmal anzuschauen.

 

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:

Weitere Informationen:

Spiele aus vergangenen Semestern: