Liebe inforz-Redaktion,
anbei ein Artikel zum Thema "Abschlussprojekt GdI 1" im Wintersemester
2009 für das April-Inforz :-)
Viele Grüße,
Guido
--
\Titel Kisten schupsen für GdI 1
\Vorspann Das Abschlussprojekt der GdI 1 stand im Wintersemester
2008/2009 unter dem Motto "Kisten schupsen".
Die zu schupsenden Kisten standen dabei in einem Lager und mussten an
die passende Abstellfläche gebracht werden. Es handelte sich dabei
nicht um Kisten des "neuen" Audimax oder des digitalen Hörsaals,
sondern um rein digitale Kisten - der Kontext dieser sportlich
klingenden Aktivität war die Implementierung des Computerspiel-
Klassikers "Sokoban". Dieses Spiel musste als Teil der
vorlesungsbegleitenden Prüfung von allen Prüfungsteilnehmern der GdI
1 bzw. ICS 1 in Viererteams umgesetzt werden.
Insgesamt 548 Studierende nahmen am Praktikum teil. Fast alle konnten
es letztendlich auch erfolgreich abschliessen. Zur Aufgabe wurde ein
Basisframework mit einem abstrakten Rahmengerüst zum Laden und
Platzieren von Bildern für die verschiedenen Spielelemente (Kisten,
Spielfigur, Wände, ...) bereitgestellt. Bereits aus der Vorlesung
bekannte Jav-Bibliotheken für grafische Ein- und Ausgaben (ACM Java
Task Force) sowie zur Internationalisierung von Texten und GUI-
Elementen ("Translator") konnten natürlich genutzt werden. Zusätzlich
wurde eine Java-API zur Wiedergabe von MP3s zur Verfügung gestellt.
Die Aufgabe selbst war in vier "Stufen" eingeteilt, die jeweils
zusätzliche Anforderungen stellten, aber auch zu einer höheren
Punktzahl führen konnten. Die Studierenden konnten weitere Bonuspunkte
durch den Einbau von zusätzlichen Features erhalten.
Erfreulicherweise haben fast alle Teilnehmer das Projekt erfolgreich
abgeschlossen - mir teilweise schon sensationell zu nennenden
Lösungen. So wurden Leveleditoren und Brute-Force Solver
implementiert, mehrere zur Laufzeit wechselbare Skins oder Musik
entworfen, Sprachwechsel der Oberfläche "on the fly", etwa von
Englisch zu Hessisch (!), angeboten, oder eine auf kürzesten Wegen
basierende Navigation zu einer angeklickten Zielposition
implementiert. Einige Gruppen erfanden sogar neue Spielmodi: zwei
Spieler gegeneinander oder gegen den Computer; einen "Master-Modus"
mit Vorgabe der maximal pro Level verfügbaren Zeit und Schrittanzahl,
sowie einen kollaborativen Zweispielermodus. Einige Gruppen nutzten
auch die Möglichkeiten, externe APIs zur Darstellung ansprechender
Grafiken zu nutzen, etwa OpenGL für eine 3D-Umsetzung des Spiels. Ein
Beispiel davon zeigt der Screenshot (von Gruppe 026: Zijad Maksuti,
Martin Tschirsich, Artem Vovk und Shuo Yang).
\Graphik{screenshot.png}
Die (subjektiv) besten Lösungen des Projekts (allerdings ohne
Quellcode) wurden in der GdI 1 "Hall of Fame" gesammelt, die unter
\url{http://elara.tk.informatik.tu-darmstadt.de/public%5Fwww/guido/HallOfFame/Welcome.html
}. Ein Besuch mit Herunterladen und Ausprobieren der Lösungen lohnt
sich auf jeden Fall!
Ein großes '''Danke'' gilt an dieser Stelle den gesamten
Projektteilnehmern - Tutoren wie auch Studierenden! Es hat sehr viel
Spaß gemacht, und die Ergebnisse haben unsere Hoffnungen '''weit'''
übertroffen. Die Projektergebnisse können auch eine Inspiration für
Folgeprojekte und Studieninteressenten an der TUD sein -- ''so etwas
können (manche) Studierende am Ende des ersten Semesters?''. In diesem
Sinn wünsche ich allen Lesern und vor Allem den Teilnehmern der GdI 1
ein "erfolgreiches Weiterschupsen" im Studium!
\Autor Guido Rößling