Humboldt-Universität zu Berlin - Mathematisch-Naturwissenschaftliche Fakultät - Wissensmanagement in der Bioinformatik

Semesterprojekt Implementierung eines Brettspiels inklusive computergesteuerter Spieler

Patrick Schäfer, Marc Bux

Mittels agiler Softwareentwicklung wird das Brettspiel "Zug um Zug" inklusive computergesteuerter Spieler in Gruppenarbeit implementiert. Zunächst werden die Anforderungen und Schnittstellen spezifiziert. Anschließend werden in Gruppenarbeit die Spiellogik und eine grafische Oberfläche implementiert. Danach werden in konkurrierenden Teams Computerspieler entwickelt. Zum Ende des Semester treten diese gegeneinander an. Die Gruppen organisieren sich in regelmäßigen Treffen und nehmen an moderierten, gruppenübergreifenden Treffen zur Absprache des Designs und der Schnittstellen teil. Projektbegleitend müssen die Ergebnisse in Vorträgen präsentiert werden.

Die Bewerbung für den Kurs erfolgt über Agnes. Agnes vergibt die begrenzten Plätze für das Semesterprojekt automatisch.

Am ersten Montag der Vorlesungszeit finden wegen des dies academicus keine Lehrveranstaltungen statt. Der Einführungstermin ist somit am Montag, den 24. Oktober 2016 von 13:00 bis 17:00 Uhr in RUD 25, 4.113. Hier werden das Semesterprojekt und der Product Backlog vorgestellt. Anschließend werden Scum Teams gebildet und der erste Sprint wird vorbereitet. Für die Teilnahme am Kurs ist die vollständige Anwesenheit an diesem ersten Termin erforderlich.

Voraussetzungen

Voraussetzung für den Besuch sind gute Kenntnisse in der Softwareentwicklung in einer Hochsprache (Java, C#, C++). Begeisterung für Brettspiele.

Struktur des Projekts

Das Semesterprojekt wird in drei Meilensteine untergliedert.

  1. bis 12.12.16: Grafische Prototypen (Java-basiert, Unity), Spiellogik, Interfaces und Dummy-KI.
  2. 12.12.16-09.01.17: Optionale Features (Single-Player, Sound, Android-Client, Multi-Player, etc.)
  3. ab 09.01.17: Wettbewerb mit KI-Spielern.

Zur Bearbeitung der Sprints werden drei Scrum-Teams aus je 5 Studierenden gebildet.

Die Betreuer übernehmen im Projekt die Rolle eines fiktiven Kunden (Product Owner), der eine Software in Auftrag gibt und vorgibt, wie das Endprodukt aussehen soll, aber nicht, wie man das am besten erreicht – das sollen die Studierenden im Projekt gemeinsam erarbeiten und umsetzen. Natürlich geben die Betreuer auch Hilfestellungen zu technischen Fragen und Schwierigkeiten durch.

Daily Scrums

Jedes Team (Rot, Blau, Gelb) trifft sich wöchentlich zu (mindestens) zwei Daily Scums:

  1. Rot, Blau, Gelb: Montags zwischen 13-15 Uhr zum ersten Daily Scrum in RUD25, Raum 4.113
  2. Blau: Dienstags ab 17 Uhr zum zweiten Daily Scrum in RUD25, Raum 4.410
  3. Gelb: Mittwochs ab 17 Uhr zum zweiten Daily Scrum in RUD25, Raum 4.410
  4. Rot: Donnerstags ab 13 Uhr zum zweiten Daily Scrum in RUD25, Raum 4.410

Termine:

43 KW: 24.10.VorbereitendBacklog Grooming, Wahl einer Spiele-Engine und Technical Refinement
44 KW: 31.10.Erster SprintSprint Planning | PDF
45 KW: 07.11.VorbereitendBacklog Grooming und Technical Refinement
46 KW: 14.11.Zweiter SprintDemo und Sprint Planning
47 KW: 21.11.VorbereitendBacklog Grooming und Technical Refinement
48 KW: 28.11.Dritter SprintDemo und Sprint Planning
49 KW: 05.11.VorbereitendBacklog Grooming und Technical Refinement
50 KW: 12.12.Ende 1. MeilensteinPräsentation & Wahl der Sieger-Engine | Ablauf

Begleitprogramm

Das Projekt wird durch begleitende Vorträge ergänzt. Geplant sind Kurzvorlesungen unter Anderem zu den folgenden Themen:
  • Versionierung und Bugtracking mit GitHub
  • Agile Softwareentwicklung mit Scrum
  • Kurzer Überblick zu Spieleentwicklung & Game Engines
  • Einführung zu künstlicher Intelligenz in Spielen
  • Coding Guidelines / Best Practices
  • Software-Tests

Vorträge / Folien

Wettbewerb

Weiterführende Links