Praxis der Softwareentwicklung
- Typ:
- Zielgruppe: Bachelor
-
Zeit:
wöchentliche Treffen nach Absprache
- Dozent:
-
Hinweis:
Es findet zunächste eine allgemeine Einführungsveranstaltung (Dienstag, dem 24. April 2018 um 15:45 Uhr im Gaede-Hörsaal (Geb. 30.22)) statt, danach werden die Teams eingeteilt.
Der Lehrstuhl für Computergrafik bietet zwei PSE-Teams von jeweils 5-6 Teilnehmern die Möglichkeit, ein einfaches Computerspiel zu entwickeln. Dieses Semester werden beide Teams an Teilaspekten eines gemeinsamen Spiels arbeiten. Während das Hauptaugenmerk des einen Teams auf der visuellen Gestaltung und Darstellung des Spiels liegt, übernimmt das andere Team die Spielelogik und -physik.
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 orientieren wir uns stark an Mario Kart und ähnlichen Spielen. Der Fokus des einen Teams soll auf der grafischen Darstellung und Vielfalt (prozedurale Generierung von Strecken und Umwelt, Explosionen und Partikelsysteme, UI, ...) liegen, der Fokus des anderen Teams liegt auf dem Gameplay (Steuerung, Physiksimulation, Items, Spielmodi, ...). Zu Beginn bekommen die Teams ihre Aufgabenstellungen näher spezifiziert und sollen 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 auf, z.B. jBullet für die Physik (wobei diese im Laufe des Projekts durch eine eigene Physik-Engine ersetzt werden soll). 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) vor der Projektauswahl schon einmal anzuschauen.