Das Projekt:
Ich habe mir zur Aufgabe gesetzt das Brettspiel "Die Säulen der Erde" (eng. The Pillars Of The Earth) in eine digitale Form zu bringen. Dies geschah im Rahmen des Basisqualifikationsprojekts für den Bereich Augmented Reality & Game.
Anmerkung:
Aus Lizenzrechtlichen Gründen, ist es mir nicht gestattet das Spiel zu veröffentlichen. Jedoch möchte ich der Lizenzabteilung des Kosmosverlages danken, welche mir gestattet hat die Screenshots zu veröffentlichen. Ein herzliches Dankeschön auch an Felix Hummel für die Organisation und Kommunikation in dieser Sache.
Das Spiel (kurzer Überblick):
Das Spiel dreht sich um einen Kathedralenbau im Mittelalter. Jeder Spieler übernimmt die Rolle einer Institution die am Bau beteiligt ist. Dabei kann man Handwerker anwerben, Rohstoffe mit seinen Arbeitern abbaun und seine Baumeister aussenden um Bonuseffekte für einem geltend zu machen. Zufällig ausgewählte Ereigniskarten und Vorteilskarten bringen mehr Strategie und Spannung in das Spiel.
Das Spiel ist in 6 Runden und jede Runde in 3 Phasen gegliedert. In Phase 1 wählt man seine neuen Handwerker und die Rohstoffquellen in die man seine Arbeiter entsenden möchte. In Phase 2 werden in zufälliger Reihenfolge die Baumeister der Spieler auf dem Spielbrett platziert. In Phase 3 werden alle Positionen des Spielbretts abgearbeitet und die jeweiligen Effekte ausgelöst. Am Ende jeder Runde dürfen die Spieler mit ihren Handwerker an der Kathedrale arbeiten. Dabei werden die gesammelten Rohstoffe in Punkte bzw. Gold umgewandelt.
Nach dem Ende der 6. Runde gewinnt jener Spieler der die meisten Punkte gemacht hat. Bei Punktegleichstand gewinnt der Spieler der mehr Gold übrig hat.
Umsetzung:
Das Spiel ist in C++ programmiert. Dabei habe ich die Open Source Library Qt (http://qt.nokia.com/products)verwendet. Diese Library bietet alles was man für eine GUI (Graphical User Interface) also eine Grafische Bedienoberfläche braucht, und noch VIEL mehr.
Erfolgserlebnisse:
Die Verwendung von Qt hat es relativ einfach gemacht ein Bild auf eine Schaltfläche zu legen. Dabei bietet die Library schon alle anderen Funktionen die eine Schaltfläche ausmachen (Klickverhalten, MouseOver, MouseOut). Das Singals and Slots Konzept (http://de.wikipedia.org/wiki/Signal-Slot-Konzept) das zur Verknüpfung der Elemente (zB. Schaltflächen) benutz wurde ist sehr einfach zu verwenden.
Schwierigkeiten:
Nach dem anfänglichen schnellen erfolg mit den ersten Schaltflächen erwies sich das anordnen und darstellen der GUI in Zusammenhang mit dem Spielablauf als schwierig. Bedingt durch die Größe der Library war es manchmal schwer die richtigen (bzw besten) Lösungen für ein Problem zu finden.