# Tutorial für die Entwicklung einer Fussball-KI gesucht



## Angel4585 (1. Jan 2009)

Hallo,

ich entwickle ein Browsergame, genauer einen Fussballmanager. Nun möchte ich den Spielern eine 2D-Spielsimulation entwickeln.
Das Prinzip ist einfach: Zwei Mannschaften, jeweils 4 Feldspieler und 4 Auswechselspieler, ein Ball.
Die Darstellung funktioniert über JLabels die über einen seperaten Thread immer an die richtige Position geschoben werden.

Das Problem was ich jetzt habe ist, dass ich in Sachen KI Entwicklung keinerlei Erfahrung habe und da stellen sich mir Fragen wie:
Wie weis ein Spieler dass ein Teammitglied freisteht?
Wie weis ein Spieler das er gedeckt ist un sich freilaufen soll?
Woher weis ein Spieler auf welche Position er laufen muss?(Beim Anstoss, bei nem Freistoß, bei einer Auswechslung, bei eigenem Ballbesitz, bei gegnerischem Ballbesitz etc)
Woher weis ein Spieler dass er in Ballbesitz ist?
Wie kann ein Spieler einem anderen den Ball abnehmen?

Naja es sind noch einige Fragen mehr und jetzt würde ich das natürlich gerne lernen um es auch von Anfang an richtig zu machen.
Kennt jemand ein gutes Tutorial mit dem man sowas gut lernen kann?

Oder habt ihr auch direkt Tipps wie ich das erreichen kann?


----------



## Marco13 (1. Jan 2009)

Würde mich wundern (bzw. wäre ein ziemlicher Zufall) wenn es für so eine spezielle Frage ein Tutorial gäbe. Den Rundumschlag gibt's hier http://aima.cs.berkeley.edu/ - da kann man sich ggf. die relevanten Teile rauspicken. Ansonsten würde ich auch nur eine Websuche starten :?


----------



## Tobias (1. Jan 2009)

Zumal Fußball ein IMHO recht komplexes Beispiel ist - weit schwieriger jedenfalls als Schach, TicTacToe o.ä.


----------



## redoo (5. Jan 2009)

eine direkte ki wuerde ich dafuer gar nicht entwickeln.

Für dein Vorhaben reichen doch einfach verschiedene Scenarien. Wenn du -sagen wir einfach mal- 20 verschiedene hast, merkt der user gar nicht das es sich immer um die gleichen handelt :>
...immerhin ist es "nur" ein Manager Spiel


----------



## Apo (10. Jan 2009)

Ich kann den anderen nur zustimmen. Es ist nicht zu einfach eine gute KI für ein Fußballprogramm zu schreiben.
Du hast was ähnliches vor wie ich (siehe hier ).
Vielleicht kann man das kopplen, wenn du magst  Der Spiel an und für sich steht schon und durch den kommenden Wettbewerb werden auch viele gute KI's dazukommen (hoffe ich doch mal stark). Wenn sich jemand berufen fühlt und mir helfen möchte, ist dazu aufgerufen auch eine KI dafür zu schreiben. Ich würde mich freuen.


----------



## Gast (19. Jan 2009)

Ich würde keine echte KI schreiben, sondern eine von den folgenden Varianten verwenden: 

1) Mache ein paar vorgefertigte Spiele, so 20- 30, die dann wie Filme ablaufen. Der Spieler merkt das nicht, wenn es genug sind. Bei einem Browsergame würde sich anbieten, hin und wieder die am häufigsten genutzten gegen Neue auszutauschen. Nachteil: Der Spieler hat keine Einflussmöglichkeiten! 

2) Mach eine Sammlung mit Animationen für 50- 60 Spielzüge. Lass dann den Rechner einen passenden Spielzug auswählen und ausführen. Der Spieler bekommt zwischen den einzelnen Zügen Einfluss. Das das so läuft, kann man verstecken, indem man den Spieler immer was machen (Spieler auswechseln) lässt, aber natürlich nur wenn Abgepfiffen ist was passiert  

3) Hardcore wäre, wenn der Rechner die Situation analysieren und die Spieler entsprechend bewegt. Dabei würde ich nicht die Spieler entscheiden lassen, was sie tun, sondern eine übergeordnete Klasse die Situation analysieren lassen und dann die Spieler entsprechend bewegen. Hierbei kannst du mit 2 kombinieren, nach dem Motto: Wenn die Situation so und so ist, passt Spielzug A. Dabei brauchst du nicht ganz so viele Spielzüge, wenn das Verhalten auch außerhalb der Spielzüge halbwegs passt. Der Spieler kann hier theoretisch jederzeit eingreifen.


----------



## Angel4585 (20. Jan 2009)

Apo hat gesagt.:
			
		

> Ich kann den anderen nur zustimmen. Es ist nicht zu einfach eine gute KI für ein Fußballprogramm zu schreiben.
> Du hast was ähnliches vor wie ich (siehe hier ).
> Vielleicht kann man das kopplen, wenn du magst  Der Spiel an und für sich steht schon und durch den kommenden Wettbewerb werden auch viele gute KI's dazukommen (hoffe ich doch mal stark). Wenn sich jemand berufen fühlt und mir helfen möchte, ist dazu aufgerufen auch eine KI dafür zu schreiben. Ich würde mich freuen.



Apo: Dein Programm iss ja ma geil  :shock: 

Vorallem läuft das auch mit jeweils 4 Spielern.

Ich habe jetzt allerdings folgende Regeln für mein Spiel vorgesehen:

Es gibt keinen festen Torhüter sondern fliegenden(letzter Mann darf Hand benutzen)
Es wird während dem Spiel gewechselt. Insgesamt sind bis zu 8 Spieler dabei, 4 aufm Feld und bis zu 4 auf der Ersatzbank.
Jeder Spieler hat eine x/y-Position vorgegeben wo er beim Anstoss hinlaufen soll.
Es gibt verschiedene Spielfelder(Teer, Rasen, Sand) welche sich unterschiedlich auf die Werte der Spieler und des Balls auswirken.
Edit: Die Spielfelder bei mir sind aktuell 600*400 Pixel groß


Was wichtig ist: Ich muss einmal eine Simulation des Spiels als Applet oder als Programm laufen lassen können und einmal nur eine kurze Spielberechnung. Die Spielberechnung, sowie die Simulation sollen immer das gleiche Ergebnis haben.

Wäre das mit deinem Programm realisierbar?

Wenn ja würde ich das sehr gerne in mein Spiel integrieren und würde dich und deine Website natürlich auch bei mir eintragen und darauf verweisen wenn jemand danach fragt.
Eine KI müsste ich vermutlich selbst schreiben.


... Ich denke ich schreib dich deswegen mal ausserhalb des Forums an wenn ich die Zeit finde  
Bin grad bissl im Stress wegen Arbeit usw..


----------



## Apo (20. Jan 2009)

Die Sachen, die du ansprichst, sind alle sehr leicht umzusetzen bzw. sogar schon teilweise umgesetzt.
Aber es ist richtig, schreib mich mal außerhalb an. Ich suche grad für den Wettbewerb erstmal Sponsoren. Sieht auch schon sehr gut aus (ich sag nur SUN, IBM und Mircosoft haben zugesagt *freu*). Dann schreibe ich nebenbei an meiner Diplomarbeit und dadurch habe ich auch etwas Stress zur Zeit.
Für eine sinnvolle Kombination beider Programme wäre aber auf jeden Fall noch Platz bei mir. Man müsste sich nur direkt verständigen. Einige Ideen wie man das richtig aufziehen könnte, habe ich auch schon


----------

