TU BRAUNSCHWEIG
| Carl-Friedrich-Gauß-Fakultät | Informatik
Informatikzentrum

SEP'08 Lastenheft
Ubiquitous Gaming, Scotland Yard

Version

Datum Autor Änderung Version
07.004.2008 Daniel Röhr Initiale Version 1.0

Einleitung

In diesem Jahr soll eine ubiquitäre Version des Brettspiels Scotland Yard erstellt werden. In der mobilen Version des Spiels sitzen sich die Spieler nicht mehr an einem Tisch gegenüber, sondern werden selber aktiv. Die Spielfiguren sind die Spieler selber, das Spielbrett die Stadt, in der sie leben. Jeder Spieler ist mit einem GPS Empfänger, der an ein Handy per Bluetooth gekoppelt ist, bewappnet. Das Handy unterstützt die Teilnehmer, in dem es die Spielinformationen grafisch aufbereitet und Hinweise gibt. Ein zentraler Server verwaltet die Positionen der einzelnen Spieler und stellt den Teilnehmern je nachdem welchen Charakter (Mister X oder Detektiv) sie spielen unterschiedliche Informationen zur Verfügung.

Organisatorisches

Die Wahl der Programmiersprache im SEP 2008 ist Ihnen freigestellt, wir empfehlen Ihnen allerdings die Verwendung von Java bzw. J2ME für die mobile Applikation. Die Wahl der Programmiersprache ist dabei gruppeneinheitlich zu treffen.

Für die einzelnen Phasen des Praktikums gibt es pro Gruppe jeweils einen Phasenverantwortlichen, der für das Erreichen des Phasenziels verantwortlich ist. Bitte schicken Sie eine Übersicht über den Phasenverantwortlichen per Mail an Daniel Röhr (roehr@ibr.cs.tu-bs.de). Bitte verwenden Sie bei allen Mails oder Anfragen einen sinnvollen Betreff (z.B.: SEP 2008, Gruppe #Gruppennr., Phasenverantwortlicher)

Spielprinzip

Das hier vorgestellte Spielprinzip ist nur ein erster Entwurf und wird zusammen mit gemeinsam mit den Teilnehmern des SEP 2008 weiter ausgebaut und ist von allen Gruppen verbindlich zu implementieren.

Im Allgemeinen orientiert sich das Spielprinzip an dem Original Spiel Scotland Yard von Ravensburger. Dazu ist die Spielanleitung zu analysieren und eine geeignete ubiquitäre Version daraus abzuleiten. Die Slides der Einführungsveranstaltung enthalten auch einige zusammenfassende Informationen.

Es soll eine rundenbasierte Variante, die sehr nah an dem Spielprinzip von Ravensburger liegt und eine live Variante, die fast ohne Regeln auskommt implementiert werden.

a.) Rundenbasiert
Veränderungen zum Original:

  • Spieler mit mobilen Geräten und GPS
  • Weiterhin rundenbasiert (Spieler warten am Ausgangspunkt, bis der Gameserver das OK gibt)
  • Benutzung von öffentlichen Verkehrsmitteln der Stadt Braunschweig (Bus, Bahn)
  • Zu Fuß statt mit dem Taxi
  • Zusätzl. Parameter (z.B. zeitl. Beschränkung des Spiels)
Zu Beginn des Spiels können am Spielserver wichtige Vorgaben zum Spiel (z.B.die Anzahl der Tickets, die Mr. X und die Detektive erhalten) konfiguriert werden. Ebenso die Startpositionen von Mr. X und den Detektiven.
Wenn alle Spieler an Ihrem Startpunkt angekommen sind, kann das Spiel begonnen werden. Mr. X ist an der Reihe und wählt ausgehend von seiner Position ein Verkehrsmittel (Achtung: nicht überall sind alle Verkehrsmittel verfügbar). Sobald sich Mr. X in dem Verkehrsmittel befindet, übermittelt er dies (WAP, GPRS, UMTS) an den Spielserver. Der nächste Spieler kann nun schon mit seinem Zug beginnen und wird darüber vom Server informiert. Es werden vermutlich verschiedene Optionen benötigt, die die Wartezeit auf die anderen Spieler verringern. So ist es denkbar, dass sich alle Detektive gleichzeitig bewegen dürfen. Wählt ein Spieler ein Taxi aus, so darf er ausgehend von seinem Standort zur nächsten Haltestelle zu Fuß laufen. Die anderen Regeln entsprechen denen aus dem Brettspiel, müssen aber unter Umständen noch angepasst werden.
Mr. X hat stets die Information, an welcher Position sich welcher Detektiv befindet und welche Verkehrsmittel dieser noch benutzen darf. Das Spiel endet, sobald ein Detektiv die gleiche Haltestelle wie Mr. X besucht oder die Detektive Ihre Fahrscheine verbraucht haben.

b.) Live Modus
Im Live Modus gibt es keine Einschränkungen bezüglich der Wahl der Verkehrsmittel oder wann Mr. X sich zu erkennen geben muss. Jeder Spieler hat (zu bestimmten Zeitpunkten) immer alle Informationen. Mr. X kann sich verstecken, wegrennen (ist er schneller, so hat er Glück gehabt), sich in kleine Gassen verkriechen oder die ganze Zeit am gleichen Ort verweilen.

Aufgaben

Dieses Dokument beschreibt das ubiquitäre Spiel "Scotland Yard", das als Aufgabe des Softwareentwicklungspraktikums im Sommersemester 2008 durchgeführt wird. Die zu implementierenden Fähigkeiten des Programms werden in den nachfolgenden Abschnitten beschrieben.

Die Aufgabe wird von allen Gruppen parallel bearbeitet. Die jeweiligen Lösungen sollen zueinander kompatibel sein. Das bedeutet es müssen Schnittstellentreffen stattfinden, bei denen ein gemeinsames Protokoll vereinbart wird, damit auch die verschiedenen Applikationen der einzelnen Gruppen miteinander funktionieren. Interoperabilitätstests mit den Programmen der anderen Gruppen sind spätestens am Ende der Implementationsphase geeignet durchzuführen.

Für die Dauer des Praktikums werden wir jeder Gruppe eine Bluetooth GPS Maus (Navilock BT-451 - USB/Bluetooth Combo Empfänger) und eine Simyo Simcard überlassen, mit der das System gestestet werden kann.

Grundlegende Fähigkeiten

Das Spiel Ubiquitous Scotland Yard soll aus mehreren Komponenten bestehen. Die folgende Abbildung gibt eine Übersicht über die zu implementierenden Module, die in den folgenden Abschnitten genauer beschrieben werden.

Mobiltelefon und GPS Empfänger

Es ist eine (grafische) Anwendung für Mobiltelefone zu schreiben, die es einem Spieler ermöglicht an einem Ubiquitous Scotland Yard Spiel teilzunehmen. Die Kommunikation soll über WAP/GPRS/UMTS erfolgen. Jeder Gruppe wird eine Simkarte ausgehändigt, damit die Funktionalität getestet werden kann. Die Applikation soll sparsam mit Bandbreite- und Verbindungsaufbau zum Server sein, um die Kosten für Spielteilnehmer möglichst gering zu halten.

Zu Beginn des Spiels erhält ein mobiler Client die Konfiguration (z.B. #Tickets, Startpunkte, Spielmodus, etc.) vom Server übermittelt und initialisiert die Spielkarte (z.B. einen modifizierten Netzplan) ggf. auch über WAP/GPRS/UMTS.

Während ein Spiel läuft werden alle Spieler regelmäßig über das GUI des Mobiltelefons über den aktuellen Stand informiert. Geeignete Parameter, die auf dem Display visualisiert werden (z.B. Netzplan der Stadt Braunschweig, Spielzeit, Position Mr. X, Position Detektive, Anzahl von Fahrkarten, etc.) sind aus der Aufgabenstellung und der Spielanleitung zu Scotland Yard zu extrahieren. Diese Funktionalitäten sollen gruppenübergreifend implementiert werden und erfordern eine Absprache zwischen diesen.

Game Server

Der Game Server leitet das Spiel und dient als Endpunkt der Kommunikation. Alle Mobiltelefone kommunizieren regelmäßig mit dem Server. Der Server visualisiert die Positionen aller Spieler auf einem "virtuellen" Spielbrett, dass in dem Spielbrett aus dem Brettspiel Scotland Yard ähnelt. Dazu sind die Netzpläne der Braunschweiger Verkehrs AG entsprechend zu modifizieren. Es ist z.B. denkbar ein GoogleMaps Overlay in den Server zu integrieren, um die Verortung der Spieler durchzuführen. Die Konfiguration der Spielkarte soll ebenfalls durch ein einfaches Benutzerinterface am Server einstellbar sein, d.h. man kann dort Knotenpunkte definieren und angeben, welches Verkehrsmittel von diesem zum nächsten Knotenpunkt führen.

Simulator

Da jede Gruppe aus Kostengründen nur 1 GPS Empfänger erhält, ist es notwendig, einen Simulator zu schreiben, der die Funktionen eines Mobiltelefons mit GPS Empfänger nachahmt. Ein Spieler kann -wie bei dem Brettspiel- mit Hilfe eines GUI am Computer bestimmen, wohin er sich als nächstes begeben möchte. Der Simulator tritt an die Stelle eines mobilen Gerätes und empfängt alle relevanten Spieldaten und ermöglicht einem Benutzer die Teilnahme am Spiel. Es soll möglich sein verschiedene Simulatoren mit dem Game Server zu koppeln und dadurch das Spiel Scotland Yard als verteilte Anwendung zu spielen. Desweiteren soll es möglich sein, eine Kombination aus Simulatoren und Mobiltelefon+GPS Empfänger Teilnehmern in ein Spiel zu integrieren.

Graphische Benutzeroberfläche

Das zu entwickelnde Programm soll sich dem Benutzer mittels einer graphischen Benutzeroberfläche präsentieren und komfortabel bedienbar sein. Hierbei ist zu beachten, dass die Oberfläche auf verschiedenen Betriebssystemen und insbesondere auf verschiedenen Mobiltelefonen zum Einsatz kommen soll. Mit Java sollte eine portable GUI wenig Probleme machen.


aktualisiert am 07.04.2008, 11:55 von Daniel Röhr
printemailtop