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/Wel... }. 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