Entwickler-Ecke

Freeware Projekte - Tsuro - The game of the path


Jann1k - So 02.02.14 20:00
Titel: Tsuro - The game of the path
Hallo allerseits,

ich wollte heute mal das Projekt vorstellen, mit dem ich mir die Freizeit vertreibe. Es handelt sich um eine Delphi-Version des Brettspiels Tsuro. In der Welt von Tsuro übernimmt jeder Spieler die Rolle eines umherfliegenden Drachen. Gespielt wird reihum, indem man ein Feld vor seinem Drachen ablegt und diesen dann am Pfad entlang bewegt, sollten andere Drachen am selben Feld angrenzend sein, werden diese ebenfalls bewegt. Wer aus dem Feld herausfliegt oder mit einem anderen Drachen zusammenkracht verliert. Gewonnen hat, wer als letztes auf dem Spielfeld verbleibt. Zu einem Unentschieden kommt es, wenn alle übrigen Spieler im selben Zug ausscheiden oder wenn nur noch ein Feld auf dem Spielbrett leer ist (die letzte Karte würde dazu führen, dass alle übrigen Drachen ausscheiden).

Zur Bedienung: Bevor das Spiel starten kann müssen mindestens 2 Spieler hinzugefügt werden. In der ersten Spielrunde muss jeder Spieler eine Startposition für seinen Drachen wählen (per Linksklick auf einen der kleinen roten Striche). In den folgenden Spielrunden werden Felder auf das Spielbrett gelegt. Die verfügbaren Felder sieht man unten rechts, mit einem Linksklick wählt man das entsprechende Feld aus, ein Rechtsklick dreht das Feld um 90° nach rechts und mit einem weiteren Linksklick auf das grün markierte Feld wird es auf dem Spielbrett abgelegt. Die Bewegung der Drachen erfolgt dann automatisch.

ToDo Liste:
- animierte Drachenbewegung
- Netzwerkunterstützung
- hübschere Grafiken
- Farbauswahl beim Erstellen von Spielern
- variable Spielfeldgröße
- variable Handgröße
- Alternativmodus: Tsuro of the seas
- Spiel einfach resetten
- computergesteuerte Gegner
- weitere Variablen für die AI
- anzeigen des bereits zurückgelegten Pfads

Zur AI:
Als Startfeld nimmt die AI im Moment ein zufällig ausgewähltes freies Feld. Im eigentlichen Spiel werden alle zwölf Zugmöglichkeiten (3 Karten mit je 4 90° Drehungen) auf einer Kopie des Spielfeldes ausprobiert und jede resultierende Stellung mit einem einfachen Punktsystem bewertet. Von den Zügen mit den meisten Punkten wird zufällig einer ausgewählt und gespielt.
Im Moment gehen folgende Variablen in die Stellungsbewertung ein:
- eigene/r Niederlage/Sieg
- Anzahl ausgeschiedener Spieler
- Spieler die im nächsten Zug am selben Feld weiterspielen


Jann1k - So 02.02.14 20:55

In der neuen Revision werden die bereits zurückgelegten Pfade der Spieler laufend angezeigt.


Jann1k - Do 06.02.14 20:23

Ich bin wieder etwas weiter gekommen. Folgende (größere) Änderungen sind in der neuen Revision vorhanden:

- Die Karten haben jetzt eine andere Farbe als leere Felder, um einfacher zu sehen, welche Felder noch frei sind
- Es kann jetzt mit computergesteuerten Gegnern gespielt werden (näheres zur AI im ersten Beitrag)


Jann1k - Fr 07.02.14 21:06

In der neuen Revison wurden Shortcuts für das Menü und eine Reset-Funktion eingebaut (jetzt kann ich der AI einfacher beim spielen zugucken). Die nächste große Änderung, die ich in Angriff nehmen werde, ist die Darstellung der Bewegung. Im Moment springen die Figuren einfach an die Endposition, das ist insbesondere bei langen Wegen am Ende des Spiels sehr unschön.


Jann1k - Sa 22.02.14 13:28

Nachdem ich etwas weniger Zeit zum programmieren hatte, kommt jetzt wieder ein kleines Update - leider noch immer ohne eine schöne Bewegung der Figuren.

- es gibt jetzt eine Vorschaufunktion für Spielzüge für Denkfaule
- die Figuren werden am Rand der Felder gezeichnet und bleiben auch sichtbar, wenn der Spieler schon verloren hat
- mit den Tasten 1-3 kann eine Karte von der Hand ausgewählt werden
- ein rechtsklick auf das Feld dreht die ausgewählte Karte um 90°


Jann1k - Mi 02.04.14 18:26

Nach einer gefühlten Ewigkeit habe ich soeben die neue Version hochgeladen. Jetzt gibt es auch endlich eine Animation der Drachenbewegung mit den +/- Tasten kann diese be- und entschleunigt werden. Das Textfeld wurde entfernt, da es von mir nur zum Debuggen benutzt wurde und eig. keine wirkliche Funktion erfüllt.

Im Moment arbeite ich an einer Struktur mit der ich weitere Brettspiele einfach implementieren kann, aber das wird mal Thema eines anderes Topics.