Spiel mit endlichen Automaten: fsm-game


Granitehead

Advanced Member
Joined
Oct 16, 2009
Messages
3,011
Ich dachte ich weise hier mal darauf hin, dass ich wieder einmal angefangen habe ein Spiel zu entwickeln. Ich bin bisher sogar schon mit erstaunlich wenig Aufwand erstaunlich weit gekommen, von dem her mache ich es vielleicht sogar fertig. :-D Bisher habe ich das zumindest vor.

Also zum Spiel:
Es geht darum, dass man finite state machines (endliche Automaten) programmiert, die dann die Einheiten des Spielers steuern. Langfristig möchte ich gerne einen Netzwerk-Modus programmieren, bei dem ein Server eine Karte bereitstellt, auf die alle Spieler mit ihrem Clienten eine bestimmte Anzahl Einheiten (pro Zeiteinheit oder Runde) platzieren können. Wer zuletzt noch Einheiten auf der Karte hat bzw. wer am meisten Einheiten auf der Karte hat gewinnt.

Aktueller Status:
Es gibt eine funktionierende Alpha-AlphaVersion, die die Karte darstellen und Einheiten bewegen kann. Es können beliebig viele Einheiten auf der Karte platziert werden, die von beliebig vielen verschiedenen FSMs gesteuert werden. Ein Benutzerinterface /fehlt/ noch, das heisst, dass normale User im Moment überhaupt nichts tun können, ausser den von mir platzierten Einheiten beim (langweiligen) Bewegen über die Karte zuzuschauen.
fsm-game.png
Das ist ein Screenshot wie's im Moment aussieht (es sieht schon besser aus als es ist).

Zu tun in nächster Zeit:
(Fertig, Angfangen)
  • Animationen für's Bewegen
  • Karte soll grösser sein können als die Anzeige
  • Grafiken verbessern
  • Dafür sorgen, dass die Sensoreingabe für die FSMs gut funktioniert
  • Aufpassen, dass Einheiten nur auf begehbaren Feldern laufen können, auch wenn die FSM versucht sie auf einen Felsen laufen zu lassen
Fertig
Download:
https://github.com/TT44bb/fsm-game

Feedback vor allem zu den Grafiken fände ich nett. Dass die Steine noch nicht perfekt aussieht weiss ich. Die Einheiten könnten auch schöner sein.
 
Re: fsm-game

<t>Missverständlicher Titel</t>
 

Attachments

  • Touched_by_His_Noodly_Appendage.jpg
    Touched_by_His_Noodly_Appendage.jpg
    38 KB · Views: 4,147
Re: fsm-game

<r><QUOTE author="Klumpen"><s>
Klumpen said:
</s>Missverständlicher Titel<e>
</e></QUOTE>
Sehr hilfreich. <E>:p</E> <br/>
Ja, ich weiss dass es da noch dieses fliegende Spaghettimonster gibt, dass auch so abgekürzt wird.<br/>
Ich kann's ja von mir aus im Titel ausschreiben.</r>
 
So ein Spiel hab ich auch mal erstellt, nennt sich Botwars.
http://botwars.tk/botwars/

War auch am Anfang toll, allerdings hatte ich schwere Probleme mit dem Balancing und für derartig "intelligente" Spiele gibt es einfach zu wenig Zielpublikum.
Jetzt ist das Angebot eingestellt (der Simulator steht still)
 
Sowas gabs mal für PalmOS, da konnte man die KI in Basic schreiben. Das war ganz intelligent gelöst, Es gab Takte, in denen konnte man sich bewegen oder rechnen. Komplizierte oder langwierige (durchprobieren) Berechnungen kosteten einem bewegungszeit.
 
Ah, carli, dein Spiel hab ich ewig gesucht, aber nicht mehr gefunden. Schade, dass du es eingestellt hast.
Ich habe hauptsächlich angefangen das hier zu programmieren, weil ich Botwars nicht mehr gefunden habe.

Ist schon so, dass es nicht allzu viel Zielpublikum für so ein Spiel gibt, aber im Zweifelsfall schreibe ich es halt nur für mich. :-D
Und ich denke man könnte schon ein paar Spieler finden, wenn man das Spiel am richtigen Ort bewirbt - aber erst wenn es fertig ist.

Ziz, so schlau ist es bei mir (noch?!) nicht gelöst, im Augenblick wird einfach ein Zustand pro Takt ausgeführt. Aber langfristig könnte ich mir vorstellen, dass ich für jeden Befehl und jeden Test Zeit berechnen könnte, das ist eine gute Idee.
 
BTW den Quellcode von Botwars kann man sich auch runterladen und Botwars auf seinem eigenen Server aufsetzen.

Beachte: Botwars hat zusätzlich zu den States noch die Variablen, was das ganze Turing-Vollständig macht. (Man kann damit theoretisch alles berechnen; es dauert eben nur seine Zeit)
 
carli said:
BTW den Quellcode von Botwars kann man sich auch runterladen und Botwars auf seinem eigenen Server aufsetzen.

Beachte: Botwars hat zusätzlich zu den States noch die Variablen, was das ganze Turing-Vollständig macht. (Man kann damit theoretisch alles berechnen; es dauert eben nur seine Zeit)
Variablen sind bei mir auch geplant.
Wo ist der Quellcode von Botwars? Ich finde den nirgends. -.-
 
https://bitbucket.org/carli/botwars/

(Bitte melden, falls das noch Passwortgeschützt ist oder so. Ebenfalls fehlen die Ansätze zu einem Community-basierten Map-Editor, der noch in Arbeit war)
 
Back
Top