Spielidee:
Die ursprüngliche Idee zielt eigentlich darauf ab, dass zwei Spieler ihren Armeen jeweils gleichzeitig Kommandos geben und diese dann abschicken. So soll eine Situation entstehen, die vorherige Einplanung schon des aktuellen gegnerischen Zuges benötigt. Diese noch sehr frühe Version verzichtet darauf und lässt beide abwechseln mit je einer Einheit ziehen, was dem recht nahe kommt, da kein Spieler dem anderen stark voraus ist, weil er anfangen durfte. Das Spielbrett basiert auf Sechsecken, da diese die Vielecke mit den meisten je gleich weit entfernten Nebenflächen ist, die sich als zusammenhängende Fläche darstellen lassen. Klassische Quadrate haben den nachteil, dass man entweder nur in vier Richtungen ziehen kann oder diagonales Ziehen deutlich schneller geht als gradliniges. Felder sind meiner Meinung nach aber hervorragend, um strategisches Denken zu fördern und somit das Spielgefühl zu verbessern. Die Einheiten gehorchen im Moment noch dem sehr simplen Papier-Stein-Schere-Prinzip, das soll aber noch weiter ausgefeilt werden. In der CLI erscheint es mir aber zu anstrengend, mehr als drei verschiedene Einheitentypen zu kommandieren. Auch auf Healthpoints und andere tiefere Spielmechaniken habe ich noch nicht zurück gegriffen. Das verschiebe ich auf die GUI-Version.
Spielablauf:
Spieler 1 und 2 ziehen abwechseln. Welche Einheiten wem gehören, erkennt man an der Zahl, die sie trägt. Die Einheiten sind: Krieger (W), Scout (S) und Terraformer (T). Der Scout darf drei Felder laufen, der Krieger nur eins, ist aber ist unverwundbar und der Terraformer macht Wasser zu Land bzw. Land mit Einheit darauf zu Wasser, er zieht zwei Felder weit. In jedem Zug wählt der aktive Spieler eine Einheit per Eingabe ihrer Koordinaten und schickt sie dann mit den Nummern-Tasten (ausgelegt auf Numpad) durch die Gegend. 8 bedeutet nach oben, 7 nach links oben und so weiter, ungültige Eingaben (alles außer 1,2,3,7,8,9) werden als aussetzen interpretiert.
Achtung: Die Einheiten sind alle sehr blutrünstig und besiegen auch befreundete Einheiten bzw. schaufeln deren Grab. Zudem sind sie sehr gehorsam und rennen ohne Nachfrage von der Karte oder ins Wasser. (Im Klartext: Der Abfrage-Code ist sehr simpel und bewahrt den Spieler nicht vor Fehleingaben.)
Map laden:
Einfach den Dateinamen der Map eingeben, wenn die Aufgeforderung dazu kommt. Dabei ist der relative Pfad zur Binary gemeint. Beispiel: "maps/level1.map"
Leveldesign: (technisch)
Levels bestehen aus Textdateien. Die ersten zwei Zahlen geben an, wie groß die Map ist (horizontal, vertikal). Die Maximale Größe eines Levels ist 64x64. Der Rest der Zahlen ist dann die Map selber. Die Zehnerstelle steht für den Besitzer eine Einheit, (für Wasser oder Gras "0" benutzen), die Stelle darauf für den Typ der Einheit oder der Landschaft. Dabei ist 0 Wasser, 1 Wiese, 2 der Krieger, 3 der Scout und 4 der Terraformer. Einheiten können theoretisch auch neutral sein ("0" als Besitzer). Diese werden dann die ganze Zeit umher stehen und gegen alles kämpfen, was sich ihnen nähert. Neutrale Terraformer und Scouts
sind also witzlos, da sie Defensiv totale Nieten sind. Neutrale Krieger dagegen können nur durch Terraformer "besiegt" werden und sind so ein echtes Hindernis.
PS: Ich hänge nur den Code an, "make" eintippen sollte wohl jeder können. Und die Abhängigkeiten sind auch nicht grade groß, sollten also schon automatisch zum GCC installiert worden sein. Falls Bedarf besteht, kann ich auch noch vorgebackene Binärdateien nachreichen.