Einleitung
CreepSmash ist ein Multiplayer Tower Defense Spiel. Jeder Spieler hat die Kontrolle über seinen eigenen Sektor und kann dort an bestimmten Stellen (abhängig von der Karte) Türme bauen. Seinen Gegnern kann er Creeps schicken, die dann durch deren Tower zerstört werden müssen. Schafft es ein gegnerischer Creep durch die eigenen Verteidigungslinien, verliert der Spieler 1 Leben. Sind alle 20 Leben aufgebraucht, verliert der Spieler.
Der Spieler, der am Längsten durchhält, gewinnt!
Spielablauf
- Um an CreepSmash teilzunehmen, muss zunächst in der Lobby ein Spiel erzeugt werden:
CREATE GAME <gamename> -players <count> (-map <mapname>)? (-testgame)?
Der Spielname kann frei gewählt werden. Optional kann die gewünschte Karte angegeben und festgelegt werden, ob es sich bei dem Spiel im ein Testspiel handelt. Bei Testspielen bekommt jeder Spieler 100 Leben und hat eine “Balance” (sozusagen der Kontostand des Spielers) von 100000. Bei normalen Spielen hat jeder Spieler 20 Leben und eine “Balance” von 200.
- Einem erzeugten Spiel können andere Spieler beitreten:JOIN GAME <gamename> (Siehe Command Beschreibung)
- Nachdem einem Spiel beigetreten wurde, wechselt der Server in das JSON Protokoll. Als nächstes muss der Startsektor gewählt werden:CHOOSE_TILE (Siehe Command Beschreibung)
- Sobald man bereit ist, kann das Spiel gestartet werden:START_GAME (Siehe Command Beschreibung). Das Spiel wird erst gestartet, wenn alle am Spiel teilnehmenden Spieler einen Startsektor gewählt haben!
- Die Spielsimulation startet und jeder Spieler bekommt die initiale Spielwelt sowie regelmäßig Updates in Form von Events über die aktuelle Spielsituation zugeschickt. Nun sollte man durch geschicktes Aussenden von Creeps und Bauen von Towern versuchen, seine Gegner zur Strecke zu bringen.
- Jeder Spieler hat ein regelmäßiges Einkommen, mit dem er Tüme und Creeps finanzieren kann. Alle 15 Sekunden bekommt er sein aktuelles “Income” auf sein “Balance” aufaddiert. Das “Income” kann nur gesteigert werden, indem man seinen Gegnern Creeps schickt. Dabei gilt: Je stärker der Creep umso stärker steigt das Income. Der Schlüssel zum Sieg liegt daher in einer gesunden Mischung von Offensive und Defensive.
Spielelemente
In diesem Abschnitt soll ein Überblick über die in CreepSmash vorkommenden Spielelemente gegeben werden.
Karten
Jeder Spieler spielt auf einer 16 x 16 Felder großen Karte. Jedes dieser Felder besitzt einen der folgenden drei Zustände:
- NONE (Hier kann kein Tower gebaut werden und kein Creep kann diese Zelle betreten)
- TOWER (Hier können Tower gebaut werden, jedoch kann kein Creep diese Zelle betreten)
- WALKABLE (Weg für Creeps, hier kann kein Tower gebaut werden)
Jede Karte wird über eine Startzelle betreten und über eine Endzelle verlassen. Zudem besitzt jede Karte ein Hintergrundbild. Ein komplettes Spiel entsteht dann durch jeweilige 90° Drehung der Karte. Beim Design einer Karte ist es also wichtig, dass die Start- und Endzelle so gelegt wird, dass nach einer 90° Drehung die Startzelle der gedrehten Karte an die Endzelle der ersten Karte grenzt.
Ein Beispiel eines Spiels ist in folgendem Screenshot zu sehen:
Hier ist gerade ein 3-Spieler Spiel zu sehen. Die Startzelle von Spieler 1 befindet sich unten links, die Endzelle oben rechts. Durch 90° Drehung der Karte wird das Spielfeld von Spieler 2 erstellt. Die Endzelle von Spieler 1 grenzt nun also an die Startzelle von Spieler 2.
Creeps
Hier gibt es eine Übersicht über alle verfügbaren Creeps sowie deren Charakteristik. “Price” zeigt die Kosten zum Kauf eines Creeps, diese werden von der eigenen “Balance” abgezogen. “Health” gibt die Lebenspunkte an. “Speed” gibt die Geschwindigkeit in Wegpunkten pro Sekunde an. “Income” beschreibt den Wert, der auf den “Income” Wert des Spielers aufaddiert wird. “Bounty” gibt die Belohnung an, wenn ein Creep zur Strecke gebracht wird.
Creep | Price | Health | Speed | Income | Bounty |
---|---|---|---|---|---|
Mercury | 50 | 300 | 1.4 | 5 | 5 |
Mako | 100 | 700 | 1.3 | 10 | 10 |
Fast Nova | 250 | 1400 | 1.6 | 25 | 25 |
Large Manta | 500 | 3500 | 1.0 | 50 | 50 |
Demeter | 1000 | 7000 | 1.2 | 90 | 90 |
Ray | 2000 | 14000 | 1.3 | 180 | 180 |
Speedy Raider | 4000 | 30000 | 1.8 | 360 | 360 |
Big Toucan | 8000 | 80000 | 1.2 | 720 | 720 |
Vulture | 15000 | 140000 | 1.4 | 1200 | 1200 |
Shark | 25000 | 250000 | 1.5 | 2000 | 2000 |
Racing Mamba | 40000 | 500000 | 2.0 | 3200 | 3200 |
Huge Titan | 60000 | 1200000 | 1.3 | 4800 | 4800 |
Zeus | 100000 | 1500000 | 1.3 | 7000 | 7000 |
Phoenix | 200000 | 2500000 | 1.6 | 14000 | 14000 |
Express Raptor | 400000 | 6000000 | 2.8 | 28000 | 28000 |
Fat Colossus | 1000000 | 15000000 | 1.4 | 56000 | 56000 |
Schickt ein Spieler einen Creep, startet der Creep bei der Startzelle des im Uhrzeigersinn nächsten Spielers. Schafft der Gegner es, den Creep zur Strecke zu bringen, erhält dieser den für den Creep ausgeschriebenen “Bounty”. Schafft der Gegner dies nicht, betritt der Creep automatisch die Karte des nächsten Spielers. Bei einem 2-Spieler Spiel, startet der Creep dann sofort wieder beim Gegner, d.h. selbst ausgesandte Creeps betreten NICHT die eigene Karte.
Tower
Im Folgenden eine Übersicht aller Tower. Hier eine Erläuterung einiger Attribute:
- Cooldown: Gibt die Zeit in ms an, die der Tower zum erneuten Feuern benötigt.
- Color: Visualisiert das Towerlevel
- Range: Die Reichweite des Towers in Anzahl Zellen
- Slowrate: Gibt den Faktor an, um den Einheiten verlangsamt werden
- Slowtime: Gibt die Dauer des Sloweffects in ms an
- Splash radius: Gibt den Radius in Anzahl Zellen an
- Splash damage reduction: Gibt an, um wieviel Prozent der Schaden am äußersten Rand des “Splash radius” reduziert wird, d.h. beschießt ein Turm mit Splash-Fähigkeit einen Creep, bekommen alle Creeps in dessen Umgebung ebenfalls Schaden. Dabei gilt: Je näher sich ein Creep am ursprünglich beschossenen Creep befindet, desto mehr Schaden bekommt er.
Tower | Description | Level | Price | Cooldown (ms) | Color | Range | Damage | Slowrate | Slowtime(ms) | Splash radius | Splash damage reduction |
---|---|---|---|---|---|---|---|---|---|---|---|
Basictower | – | 1 | 50 | 650 | 00ff00 | 1.75 | 25 | – | – | – | – |
Basictower | – | 2 | 100 | 650 | 0000ff | 2.0 | 50 | – | – | – | – |
Basictower | – | 3 | 1000 | 650 | ff0000 | 2.25 | 250 | – | – | – | – |
Basictower | – | 4 | 3000 | 650 | ffc800 | 2.5 | 1000 | – | – | – | – |
Slowtower | slows targetslows target | 1 | 100 | 750 | 00ff00 | 1.75 | 25 | 0.3 | 2000 | – | – |
Slowtower | slows targetslows target | 2 | 200 | 800 | 0000ff | 2.25 | 50 | 0.35 | 2000 | – | – |
Slowtower | slows targetslows target | 3 | 400 | 850 | ff0000 | 2.5 | 75 | 0.45 | 2500 | – | – |
Slowtower | slows multiple targetsslows multiple targets | 4 | 3000 | 900 | ffc800 | 2.5 | 100 | 0.5 | 2500 | 1.25 | 0.7 |
Splashtower | attacks multiple targetsattacks multiple targets | 1 | 250 | 750 | 00ff00 | 2.0 | 50 | – | – | 1.75 | 0.7 |
Splashtower | attacks multiple targetsattacks multiple targets | 2 | 750 | 600 | 0000ff | 2.25 | 200 | – | – | 1.75 | 0.7 |
Splashtower | attacks multiple targetsattacks multiple targets | 3 | 3000 | 500 | ff0000 | 2.75 | 400 | – | – | 1.75 | 0.6 |
Splashtower | attacks multiple targetsattacks multiple targets | 4 | 7500 | 500 | ffc800 | 3.0 | 1100 | – | – | 1.75 | 0.5 |
Rockettower | attacks multiple targetsattacks multiple targets | 1 | 1000 | 3750 | 00ff00 | 2.5 | 1000 | – | – | 1.25 | 0.8 |
Rockettower | attacks multiple targetsattacks multiple targets | 2 | 3000 | 3750 | 0000ff | 3.0 | 2500 | – | – | 1.25 | 0.8 |
Rockettower | attacks multiple targetsattacks multiple targets | 3 | 7500 | 3250 | ff0000 | 3.5 | 7500 | – | – | 1.5 | 0.7 |
Rockettower | attacks multiple targetsattacks multiple targets | 4 | 15000 | 3000 | ffc800 | 4.0 | 15000 | – | – | 1.75 | 0.6 |
Speedtower | – | 1 | 1000 | 450 | 00ff00 | 2.5 | 225 | – | – | – | – |
Speedtower | – | 2 | 3000 | 350 | 0000ff | 2.75 | 450 | – | – | – | – |
Speedtower | – | 3 | 7500 | 250 | ff0000 | 3.0 | 1100 | – | – | – | – |
Speedtower | – | 4 | 15000 | 150 | ffc800 | 3.25 | 1800 | – | – | – | – |
Ultimatetower | – | 1 | 20000 | 5000 | 00ff00 | 5.0 | 25000 | – | – | – | – |
Ultimatetower | – | 2 | 50000 | 2500 | ffc800 | 7.5 | 40000 | – | – | – | – |
Befehle
Eine genaue Auflistung aller möglichen Befehle ist hier zu finden: Command Beschreibung. Falls ein Befehl nicht korrekt ausgeführt werden kann, bekommt der Spieler eine Fehlermeldung vom Server. Typische Fehler sind:
- Befehl existiert nicht
- Syntax ist nicht korrekt. Es könnten z.B. nötige Parameter fehlen.
- Befehl ist nicht ausführbar. Beispiele:
- Vorraussetzungen sind nicht erfüllt
- Es wird versucht einen gegnerischen Tower zu verkaufen
- …