Logo

beast-arena

- ein Spiel für verschiedenste Computergenerationen

von Studenten der Hochschule Augsburg in Kooperation mit dem VCFe.


Inhaltsverzeichnis

Einführung

beast-arena ist eine verteilte Simulation, in der künstliche Lebewesen ("Biester") in einer zweidimensionalen Welt agieren. Die "Bühne" für die Simulation ist eine zweidimensionale Welt, die von außen gesehen aus einem Raster von NxN Feldern besteht. Für die "Bewohner" der Welt, die Biester, erscheint die Welt jedoch unendlich groß, da der rechte (untere) Rand der Welt nahtlos an den linken (oberen) Rand anschließt (wrap-around).

Spezifikation

Jede Zelle der Welt hat einen Zustand, der durch ein ASCII-Zeichen repräsentiert wird. Eine Zelle kann leer sein ('.'), eine Futter-Portion enthalten ('∗') oder von einem Biest besetzt sein. Jedes Biest ist eindeutig durch einen Klein- oder Großbuchstaben ('a-Z') benannt.
Die Datenstruktur, die ein Biest repräsentiert, enthält eine Methode bewege(), die eine Zeichenkette zurückgibt, aus der zu entnehmen ist, in welche Richtung sich das Biest als nächstes bewegen möchte. Als Argument erhält die Methode bewege() eine Zeichenkette, die drei durch Strichpunkte getrennte Teile enthält ’s1;s2;s3;@’.

Das Sicht- und Bewegungsumfeld

01234
56789
1011121314
1516171819
2021222324

Jedes Biest kann seine 5x5-Umgebung erkennen, wobei es wird zur Übermittlung an die Clients, zeilenweise in eine Zeichenkette umgewandelt wird. Das eigene Biest sitzt an der Stelle 12 und wird mit seinem Buchstaben gekennzeichnet und Artgenossen werden als '<', '=' oder '>' dargestell, je nachdem ob der Nachbar weniger, gleich viel oder mehr Energie hat als das Biest, das sich gerade umschaut. Ein Biest kann sich auch verstecken, so dass seine Energie nicht sichtbar ist und erscheint den Nachbarn dann als '?'.

Anfragen des Clients

Anfrage des ClientsAntwort des Servers
Anmeldung möglich?@Ja@ oder Nein@
Anmeldung!@<Kennung> (a@) oder Fehler@
Weltgroesse?@<Höhe>x<Breite> (24x25@) oder Fehler@, falls noch nicht verfügbar
Spielbeginn?@Format siehe time.asctime() (Wed Dec 7 17:46:54 2011@)

Hinweis: jede Nachricht wird mit einem "@" abgeschlossen, das heißt dass der Empfänger so lange lauscht bis er ein @ bekommen hat

Energiekosten

Während einer Runde des Spiels kann sich ein Biest innerhalb seiner Umgebung bewegen. Es sind diagonale sowie gerade Bewegungen oder gerade sowie diagonale Sprints möglich. Bei den Sprints ist zu beachten, dass nach einem Sprint 3 andere Spielzüge folgen müssen. Außerdem kann ein Biest unbeweglich sitzen bleiben oder die eigene Energie vor den Nachbarn verstecken ohne sich zu bewegen. Das Leben eines Biests endet, wenn seine Energie komplett aufgebraucht ist oder es von einem stärkeren Biest aufgefressen wird.

RichtungKosten
gerade2
diagonal3
gerader Sprint5
diagonaler Sprint7
verstecken2
rasten1

Download

Der Sourcecode ist hier verfügbar.

Mitwirkende

Johannes Kaufmann, Maximilian Körner, Nikolai Kraler, Michael Liebert, Samuel Zeitler (Hochschule Augsburg)
Hans Franke, Carsten Strotmann (VCFe)