BSI Lernender programmiert Brettspiel-Klassiker

Risiko digital

Schon früher hat Thomas Zimmermann, unser Lernender im 2. Lehrjahr, mit seinen Cousins leidenschaftlich gern Risiko gespielt. Das brachte ihn auf die Idee, den Brettspiel-Klassiker zu programmieren, um ihn auch virtuell spielbar zu machen.

Thomas Zimmermann, Lernender im 2. Lehrjahr bei BSI

Thomas wählte das Spiel, weil es nicht nur um Reaktionsgeschwindigkeit sondern vor allem um Strategie geht. Grips statt Geschicklichkeit also – das passt zu unserem engagierten Lernenden. Besonders viel Spass hat ihm die Konzeption bereitet, das Spiel von Grund auf zu entwerfen, alles durchzudenken und die einzelnen Probleme zu lösen. Dabei lernte Thomas die einzelnen Java-Funktionen genauer kennen. Und er konnte sich auch kreativ entfalten: So hat Thomas alle Karten für das Spiel selbst gezeichnet und in Photoshop mit verschiedenen Methoden und Styles verschiedene Karten entworfen, die für das Spiel Sinn machen und Abwechslung reinbringen.

Die Rückmeldungen waren bislang durchwegs positiv. Sowohl Spieler als auch Lehrmeister waren begeistert: «Besonders geschätzt wird, dass verschiedene Karten zur Auswahl stehen. So muss man sich immer neu eindenken und eine sinnvolle Strategie entwickeln. Denn in jeder Karte ist eine andere Taktik erforderlich, um vorwärts zu kommen und die Welt zu erobern» , so Thomas.

BSI Risk

Im Rahmen eines Lehrlingsprojekts hat Thomas Zimmermann das Spiel «Risiko» alias «BSI Risk» mit verschiedenen Karten, Netzwerkfunktion und Bot mit Java programmiert. Das Spiel ist mit bis zu 5 Spielern spielbar.

Spielregeln

Bei Risiko hat man eine Karte (standardweise die Weltkarte) mit verschiedenen Kontinenten, welche nochmals in Regionen unterteilt sind. Diese Regionen kann man mit Truppen verstärken und damit weitere Regionen einnehmen. Wenn man einen ganzen Kontinent eingenommen hat, bekommt man für diesen pro Spielzug eine gewisse Anzahl an Bonustruppen. Zudem erhält man für jeden Spielzug, bei dem man eine Region eingenommen hat, eine Spielkarte, welche man später gegen Truppen eintauschen kann. Am Ende eines Zuges hat man noch ein Truppenmanöver zur Verfügung. Das Ziel ist es, die ganze Welt zu erobern.

Programm & Funktionen

«Das Spiel ist mit Java programmiert. Das GUI läuft mithilfe von JavaFX, wodurch es sehr einfach war Animationen hinzuzufügen und die Bedienelemente selbst mit CSS zu stylen», erklärt Thomas.

BSI Risk verfügt über einen Netzwerkmodus, über den man auch mit Freunden spielen kann. Dabei hostet ein Spieler das Spiel und die anderen können ihm beitreten. Damit es für die anderen Spieler einfacher ist, die Hosts im gleichen Netzwerk zu finden, sucht das Programm mithilfe von Multicasts nach Hosts. Danach werden alle Aktionen während des Spiels synchron an alle Clients verteilt.

Falls man einmal nur zu zweit oder sogar allein spielt, hilft ein Bot, das Spiel lebendiger werden zu lassen. Dieser probiert jeweils (fast) alle möglichen Züge aus, bewertet sie und führt den Besten aus. Man kann Thomas‘ Spiel auf verschiedenen Karten spielen. Folgende Karten stehen zur Auswahl: World, USA, Great Britain, The Caribbean, Middle Earth & Game of Thrones

Die Karten hat Thomas alle selbst designt. «Eine Karte besteht aus einem Hintergrundbild und einem XML-File mit den Informationen. Ich habe auch eine Anleitung erstellt, welche beschreibt wie man selbst eine Karte entwirft und importiert.»

Fazit

«Insgesamt hat mir das Projekt sehr gefallen und ich bin mit dem Endprodukt auch sehr zufrieden. Das Spiel hat einige Funktionen mehr, als ich ursprünglich plante. Zudem habe ich auch noch einiges gelernt», sagt Thomas.