Dokumentation zum Massive Multiplayer Online Game - Universität ...
Dokumentation zum Massive Multiplayer Online Game - Universität ...
Dokumentation zum Massive Multiplayer Online Game - Universität ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
4. Schiffe und Missionen<br />
39<br />
Vorüberlegungen<br />
Meine Idee zur Gestaltung der Missions-View war es, eine dynamische Seite zu schreiben, welche auf die<br />
verschiedenen Eingaben und den individuellen Status des Users abgestimmt sein soll. Dieses Prinzip soll,<br />
neben der erhöhten Verständlichkeit, dafür sorgen fehlerhafte Eingaben des Users zu verhindern.<br />
Zusätzlich sollten alle speziellen Anfragen des Users ausschließlich per AJAX-Requests ablaufen, sodass ein<br />
Neuladen der Seite nicht nötig ist. Auf die AJAX-Requests soll mit einem JSON geantwortet werden der Form<br />
{"ok" : 1} oder {"ok" : 0}, sodass die nächste Aktion nur ausgeführt wird, wenn die Antwort "ok" ist. Zusätzlich<br />
werden je nach Anfragen noch weitere {Schlüssel:Wert} Paare in die Antwort gegeben.<br />
Der generelle Ablauf soll so gestaltet werden, dass der Benutzer durch mehrere Menüs geleitet wird. Die<br />
einzelnen Menüs sollen sich nacheinander öffnen und auch nur dann, wenn im vorigen Menü eine Eingabe<br />
gemacht wurde. Dabei wird bei jeder Eingabe, ein verstecktes Input-Feld dynamisch in eine html-form eingefügt,<br />
sodass am Ende, sollte alles korrekt sein, die Form durch einen Submit-Button abgeschickt werden kann.<br />
Zusätzlich sei zu erwähnen, dass die Seite auch mit Fehlentscheidungen umgehen kann. Sollten Änderungen<br />
vorgenommen werden an der derzeitigen Eingabe, werden entsprechende Änderungen ebenfalls intern<br />
nachvollzogen.<br />
Umsetzung<br />
Gelangt der User auf die Seite, so ergeben sich für ihn nur die 5 Missionstypen<br />
als Buttons zur Auswahl, welche zusätzlich durch ein Popover erklärt werden,<br />
sobald sich die Maus über die Schaltfläche bewegt.<br />
Klickt der User auf einen dieser Buttons, so wird ein weiteres Menü geöffnet,<br />
welches alle Flotten, des Users auflistet. Die Buttons der anderen Missionstypen<br />
sind nun disabled. Dort ist es möglich durch Klicken eines Pfeils die<br />
Zusammensetzung der Flotte anzeigen zu lassen (Man beachte die Bilder die beim<br />
Bewegen des Mauszeigers über die Tabellenzeilen erscheinen). Zusätzlich kann<br />
man sich die Fracht anzeigen lassen, was für Transport oder Kolonialisierung eine<br />
Rolle spielt.<br />
Durch einen Klick auf den Haken, wird diese Flotte ausgewählt und es öffnet sich<br />
ein Menü zur Auswahl des Ziels. Hier muss zunächst die Galaxie ausgewählt<br />
werden, woraufhin die dort befindlichen Sonnensysteme in das nächste<br />
Dropdown-Menü geladen werden. Bei der Wahl des Sonnensystems, werden<br />
ebenfalls ausschließlich die Planeten in das nächste Dropdown-Menü geladen,<br />
welche in dem Sonnensystem enthalten sind. Zusätzlich steht bei befreundeten<br />
oder eigenen Planeten eine kleine Info, sodass dem User ein wenig Übersicht<br />
geboten werden kann. Dieses Verfahren verhindert ungültige Angaben, da dem<br />
User lediglich erreichbare/bekannte Galaxien/Sonnensysteme/Planeten angezeigt<br />
werden. Zusätzlich gibt es, wenn der User zu Beginn auf Spionage geklickt hat,<br />
| Ablauf des Missionsmenüs<br />
die Möglichkeit, durch Drücken eines Buttons einen zufälligen neuen Planeten in die Liste einzufügen. So ist<br />
es dem User möglich neue Sonnensysteme/Galaxien zu erkunden und somit sein Sichtspektrum zu erweitern.<br />
Wurde ein Planet gewählt, wird im Hintergrund ein AJAX-Request gesendet, welcher der Distanz der gewählten<br />
Flotte <strong>zum</strong> soeben ausgesuchten Planeten abfragt und anzeigt.<br />
GET /json/distance?planet1=&planet2=<br />
So kann der Spieler ungefähr abschätzen, wie weit beziehungsweise lange seine Schiffe fliegen werden.<br />
Zeitgleich zu der Anzeige der Entfernung öffnet sich eine Tabelle, wo die Anzahlen der einzelnen Schiffe<br />
eingegeben werden kann, welche die Mission ausführen sollen. Diese Tabelle enthält die Informationen über<br />
die zuvor ausgewählte Flotte. Bei Eingabe der Anzahlwerte einzelner Schiffstypen werden automatisch die<br />
summierten Werte der Flotte für Angriff, Verteidigung und Lagerkapazität angezeigt. Außerdem werden von<br />
dem Eingabefeld lediglich Zahlen angenommen, welche im Intervall zwischen 0 und der maximalen Anzahl<br />
der Schiffe stehen.<br />
Sollte Transport oder Kolonialisierung gewählt worden sein, ist zusätzlich ein Auswahlmenü für Fracht geöffnet<br />
worden. Die Funktionialität ist ähnlich der für die Schiffsauswahl.