Uni-Logo

Programmierprojekt: "ein Spiel in 2D"

Ziel ist es, ein nichttriviales Rollenspiel zu programmieren.

Folien

Projektaufgabe

Folien Finale
Teams FAQ Twodeedoo-Releases

WorldLibAndroid-Releases
Auscheckanleitung

News

2011-07-07
Es gibt eine Mailingliste für alle Teilnehmer des diesjährigen Java-Projekts:

java2011 at informatik uni-freiburg de

Der Tunierplan

KW26, 27.6.-3.7.Teambildung und Anmeldung zum Projekt
KW27, 4.7.-10.7.WWW-Passwort setzen
KW28, 11.7.-17.7.Vorrunde: Legen Sie los!
KW29, 18.7.-24.7.Viertelfinale: Designbesprechung mit Ihrem Tutor
KW30, 25.7.-29.7. Halbfinale: Abnahme Ihres Codes durch Ihren Tutor und Abgabe bis Freitag, 9:00 Uhr
KW31, 1.8.-7.8.Finale: Vorstellung im Rahmen der Vorlesung

Vorbereitungen

Das Projekt beginnt in der Woche vom 11.7.2011 in den Übungsstunden. Zu diesem Termin haben Sie bereits Teams gebildet und sich für das Projekt angemeldet. Wir gehen davon aus, dass jeder Student zu diesem Zeitpunkt einen TF-Account besitzt, damit es gleich losgehen kann. Außerdem sollten Sie schon einmal das WWW-Passwort setzen.

WWW-Passwort setzen

Wir werden von Anfang an mit dem Versionsverwaltungssystem Subversion arbeiten. Das Repository, wo die Versionen Ihres Quellcodes gespeichert werden, liegt auf dem proglang-Webserver. Diesem Webserver gegenüber müssen Sie sich mit Ihrem sogenannten WWW-Passwort ausweisen. Es gibt von den Fakultäts-Sysadmins ein Webinterface zum Setzen des WWW-Passworts zum TF-Account. Nutzen Sie es.

Auschecken

Wenn Sie eine "Startschuss"-Mail bekommen haben, kann es losgehen. Zur Auscheck-Anleitung.

Der Projektablauf

Die Vorrunde: In der ersten Übungswoche richten Sie zunächst die Tools ein, die Sie zur Entwicklung benötigen. Danach stürzen Sie sich auf die Aufgabe und überlegen sich ein grobes Klassendesign Ihrer Anwendung. Parallel dazu fangen Sie an, Teile Ihrer Anwendung zu implementieren. Überprüfen Sie Ihr Design auf Umsetzbarkeit. Implementieren Sie die ersten Interfaces. Implementieren Sie beispielhaft erste Elemente Ihrer Anwendung.

Im Viertelfinale in der zweiten Übungswoche stellen Sie Ihrem Tutor das geplante Design Ihrer Anwendung vor. Wir verlangen keine formale Abgabe von Designdokumenten. Sie sollen aber in der Lage sein, die geplante Umsetzung der Aufgabe mit Ihrem Tutor zu besprechen. Die folgenden Fragen sollten Sie nicht überraschen:

  • Wie sieht Ihre geplante Klassenmodell aus?
  • Wie wollen Sie ein XYZ repräsentieren?
  • Kann man hier eine abstrakte Basisklasse einsetzen?
  • Sollte man nicht ein Interface für XYZ einsetzen?
  • Wie könnte dieses Interface aussehen?

In erster Linie dient diese Besprechung als Hilfestellung für Ihre Gruppe. Nutzen Sie diese Gelegenheit so gut wie möglich!

Bis zum Halbfinale in der letzten Übungswoche vor dem Finale sollen Sie eine voll funktionsfähige Anwendung entwickelt haben, die alle gestellten Anforderungen erfüllt. In der Halbfinalwoche steigen Sie zusammen mit Ihrem Tutor in Ihren Code ein. Dabei geht es darum, dass alle Teammitglieder erklären können, welche Funktionalität wo zu finden ist und welchen Zweck bestimmte Codeteile erfüllen. Diese Aufgabenstellung ergibt auch Sinn, wenn Sie noch nicht ganz fertig sind.

Nutzen Sie die verbleibende Zeit bis zur Abgabe am Freitag dieser Woche zum Beseitigen etwaiger Fehler in Ihrer Anwendung.

Das Finale findet am Montag, 1.8. (in der letzten Semesterwoche) in der Vorlesung statt (evtl nehmen wir noch die Übungszeit 18-20 dazu). Es besteht aus

  • Code-Review (Ausschnitte: Highlights und Lowdarks) (kurz: CRAHUL)
  • Kurze Präsentation der Gruppen und Vorführung der Spiele, Wahl und Preisverleihung.

CRAHUL

Zum CRAHUL inspizieren vorher wir den Code aller Spiele und zeigen dann besonders gute und besonders fragwürdige Stellen auf dem großen Schirm. Das soll ohne Namensnennung geschehen, damit die sachliche Diskussion von Stärken und Schwächen des Codes niemanden persönlich verletzt.

Siehe auch: Worauf wir im Review achten.

  • Entfernen Sie Ihre Namen aus dem Quellcode. (In Eclipse etwa nach @author suchen und vorbeugend in Window/Preferences im Zweig "Java/Code Style/Code Templates" alle ${user} entfernen).
  • Stichtag für Code-Review ist 29.7. morgens um 9 Uhr, dh wir betrachten das, was um genau 9 Uhr im Subversion Repository liegt (im trunk).
  • Checken Sie bis zum Stichtag alles ein, was uns beim Verstehen des Codes helfen könnte. Und auch alles, was man braucht, um den Code auf einer Pool-Linux-Maschine auszuführen (testen Sie vorher: funktioniert Ihr Spiel auch, wenn man es in einen frischen Workspace auscheckt?).
  • Was wir beim Auschecken erwarten: Siehe Review-Seite.

Spielevorführung

Jedes Team hat 5 bis 10 Minuten Zeit, sein Spiel zu präsentieren. Danach wird unter den Teilnehmern abgestimmt, welches Spiel am besten aussieht und am meisten Spaß verspricht. Das Gewinnerteam bekommt einen Preis.