Battleship3D wurde im Rahmen des Qualifikationprojektes für den Fachbereich Web+Communities umgesetzt. Es handelt sich um ein Multiplayer Game für den Browser. Es handelt sich um ein rundenbasiertes Strategiespiel, bei dem jeweils zwei Spieler gegeneinander spielen.
SpielprinzipEs spielen jeweils zwei Spieler gegeneinander, die sich Zug für Zug angreifen. Zu Beginn des Spieles positionieren die einzelnen Spieler auf Ihrem eigenen Spielfeld möglichst geschickt Ihre Schiffe, welche aufgrund ihrer Größe unterschiedlich viel Felder belegen. Das Spielfeld setzt sich aus 10 Feldern in der horizontalen und 10 Feldern in der vertikalen zusammen. Ein Spielger beginnt mit dem ersten Angriff, bei dem er ein Feld des Gegners bombardiert. Die Einzelnen Spieler wissen über das Spielfeld des Gegners lediglich Bescheid, welche Felder bereits angegriffen wurden und ob auf dem Feld ein Schiff getroffen wurde oder nicht. Wurde ein Angriff ausgeführt werden beide Spieler informiert ob ein Schiff getroffen wurde. Ein Schiff sinkt, sobald alle Felder, die das Schiff belegt getroffen wurden. Gewonnen hat jener Spieler, der zuerst alle Schiffe des Gegners versenkt hat.
LobbyHat man einen User angelegt und sich eingeloggt, so ist man erstmal in der Lobby von Battleship3D, hier sieht man welche Spieler gerade online sind und die laufenden Spiele. Hier kann man auch ein Spiel erstellen, beziehungsweise einem bereits erstellten Spiel beitreten.
SpielErstellt man ein Spiel in der Lobby, oder tritt man einem Spiel bei so setzt man seine Schiffe. Sobald beide Spieler ihre Schiffe gesetzt haben startet auch schon das Spiel.
RundeIst man an der Reihe, so versucht man durch möglichst geschickte Attacken die Schiffe des Gegners zu treffen. Hat man einen Treffer gelandet, so darf man sein Glück gleich noch einmal herausfordern. Landet der Angriff ins leere, so ist der Gegner an der Reihe.
Game overEin Spiel dauert genau so lange, bis ein Spieler keine seetüchtigen Schiffe mehr hat - also alle getroffen wurden.
UmsetzungDie Visualisierung der eigenen Schiffe und auch die Angriffe des Gegners wurde in 3D umgesetzt - darum auch Battleship3D. Der Datenaustausch wird mit Nodejs behandelt.