Das Projekt abapDicer gehört zu meinen Lieblingsprojekten. Die Idee hierbei ist es, eine Spielumgebung nach den Regeln von Yahtzee (Deutsch: Kniffel) zu schaffen, bei der Entwickler eine eigene Strategie programmieren können. In einer Strategie wird per Programmcode entschieden, wie auf bestimmte Würfelkonstellationen und Spielstände reagiert werden soll. Es können mehrere Strategien in beliebig vielen Spielen gegeneinander antreten. Die Ergebnisse der Strategien werden am Ende in einer Statistik dargestellt.
Das Projekt besteht also aus im Grunde aus drei Teilen:
- die Game-Engine
- Die Auswertung
- Die Strategien
An diesem Projekt wollten wir die Entwicklung einer komplexen Anwendung simulieren. Inklusive Aufteilung von Aufgaben, Einarbeitung von neu hinzugekommenen Kolleginnen und Kollegen, Test, Dokumentation und so weiter. Wir hatten uns zudem darauf geeinigt, dass wir streng nach den SAP Clean Code Prinzipien arbeiten. Das Projekt haben wir dann nicht weiter verfolgt, weil es für ein Code-Dojo zu komplex geworden ist.
Erweiterungsmöglichkeiten
Geplant waren viele Erweiterungen und Verbesserungen. Viele wurden jedoch im Detail sehr kompliziert.
Die Regeln richten sich streng nach den bekannten Yahtzee bzw. Kniffel-Regeln:
- 5 Würfel
- 3 Würfe je Durchgang
- Bewertung nach den bekannten Figuren 1er, 2er […], 3er Pasch, 4er Pasch, Full House etc.
Man könnte nun auf die Idee kommen, die Spielregeln zu ändern und zu prüfen, wie gut man diese Regeln anpassen kann und wie die Strategien darauf reagieren:
- Verwendung einer größeren Anzahl Würfel (6, 7, …)
- Mehr oder weniger Würfe je Durchgang
- Verwendung Mehrdimensionaler Würfel (Rollenspielwürfel mit mehr als 6 Seiten)
- Strategien dürfen die aktuellen Ergebnisse der anderen Strategien sehen ja/nein
- Gleichzeitiges Spielen auf mehreren Spielzetteln
- Zusätzliche Regeln
- Der erste Spieler, der einer 4er Pasch hat, bekommt x Extrapunkte
- Der erste Spieler, der alle Werte im ersten Teil vollständig hat, bekommt einen Bonus
- Wer dreimal hintereinander mehr als 20 Punkte bei einem Wurf erwürfelt, bekommt einen Bonus
Auf jeden Fall ein tolles Projekt mit vielen Möglichkeiten und viel Potential.