Passend zur Fussball WM: Podball KI Wettbewerb, Reloaded!



  • Hallo!
    Passend zur Fussbal-WM zieh ich unser ehemaliges Projekt PodBall (aus dem Jahr 2001) neu auf!
    http://lars.ruoff.free.fr/podball/
    Es handelt sich um einen Programmier-Wettbewerb, bei dem man eine Fussball-KI programmieren kann.
    (Ähnlich zu RoboCup, aber stark vereinfacht)

    Ich bin grade dabei die Infrastruktur von damals wieder aufzubauen.
    Bis jetzt mussten die KIs als kompilierte DLLs vorliegen.
    Ich denke allerdings daran, stattdessen auf Scriptsprachen umzusteigen.
    Denke da insbesondere an Lua oder Python.

    Wer von euch wäre den interessiert bei dem Wettbewerb mitzumachen?
    Und welche Sprache/Umgebung würdet ihr euch wüsnchen?

    Würdet ihr das alte DLL-Interface beibehalten?
    Wenn ja, wie könnte man das Plattform-übergreifend realisieren? (Linux?)

    cu,
    Scrontch!



  • und js hast nicht auf der liste:(



  • no_code schrieb:

    und js hast nicht auf der liste:(

    Nee, aber warum nicht. Wenn ich ein gutes C binding finde...
    Und man darf mir übrigens auch helfen wenn man möchte 😉



  • So, hab jetzt mal das gesamte alte Paket als Download + ein paar Screenshots hochgeladen.
    Damit dürfte man sich eine Vorstellung machen könne wie das aussieht.

    Einfach die Podball.exe starten.
    Dann DLLs auswählen (bzw die Voreingestellten lassen) und Start drücken!



  • Hallo!

    Nun ist es endlich soweit!
    Ich hab gecoded wie ein blöder und die neue Version von Podball (v2) ist in Beta-Reife!
    Podball ist ein futuristische Ballspielsimulation, gekoppelt mit einem Programmierwettbewerb!

    Alles wissenswerte steht auf http://trac6.assembla.com/podball (Englisch).
    (Die alte deutsche Seite ist nicht mehr aktuell)

    Dort ist auch ein Link zur Mailing-liste, in die man sich eintragen sollte wenn Interesse besteht am Wettbewerb teilzunehmen. (Deutsche Beiträge dort explizit erlaubt!)

    Für ungeduldige:
    Screenshot: http://www.assembla.com/spaces/podball/documents/dJWaLSKoWr34IMeJe5cbLr/download/podball_screen1.png
    Download: http://www.assembla.com/spaces/podball/documents/cxvinGKzar34mpeJe5cbLA/download/podball-v2-bin-package-rev32.zip

    "Leider" geh ich ab nächstem Wochenende erstmal für drei Wochen in Urlaub 🕶 , mit nur sporadischem Email-Zugriff.
    Die international Werbetrommel rühr ich deshalb erst wenn ich wieder zurück bin.

    Aber ich wollte dem Cpp-Forum schonmal die Vor-Premiere sichern.
    Hier hatte schliesslich Podball v1 vor fast 9 Jahren (!!) seinen Anfang genommen. Und vielleicht hat ja der ein- oder andere nichts in den Sommerferien zu tun. 😉

    Ich würde mich über rege Teilnahme freuen!
    Ebenso über jeglishes Feedback zum Spiel selbst.

    Scrontch.



  • hey, gute arbeit 👍

    schaut gut aus, schoen dass auch mal jemand hier was fertig bekommt und das gleich mit einem screenshot zeigt 🙂

    ich hoffe deine WM wird ein voller erfolg (leider hab ich zeitlich keine moeglichkeit teil zu nehmen).

    weiter so ⚠



  • Danke!
    Schade, ich hätt mir rapso gegen volkard im Finale gut vorgestellt 😉 .

    Leider gibt's bis jetzt noch keinen Andrang.
    Falls es dafür Gründe gibt die mit der Website zu tun haben (unverständlich?, nicht klar ersichtlich um was es geht?), oder sonstige Kritik, bitte sagt es mir.



  • Ich würde gerne mitmachen, schaffe es aber zeitlich leider auch nicht.
    Es fehlt aber m.E. auch etwas genauere Information. Z.B. steht nur ungenau da, dass der Wettbewerb im September beginnt. Ich nehme an, bis dahin soll man das Ding schon programmiert haben (?). In diesem Fall fehl aber noch eine Spezifikation des angedachten Scripting-Interfaces, was z.B. ich gerne nutzen wollen würde.
    Auch ist mir unklar, wo ich mich anmelden sollte. Reicht es, mich einfach in die Mailingliste einzutragen?
    Insgesamt wären also ein paar mehr Informationen, besonders zum Ablauf, wünschenswert.

    PS: Ich bin trotzdem sehr beeindruckt von dem Projekt. Hab auch schon die Dummy-Mannschaft gegeneinander spielen lassen, sieht sehr interessant aus.



  • Hi,
    ok, die Kritik nehme ich gerne auf.
    Es ist wie gesagt so, dass ich jetzt erstmal in Urlaub fahre und das Projekt solange ruht. (Einschreiben in die Mailingliste kann man sich aber natürlich trotzdem schon).

    Das mit dem Contest stell ich mir so vor:
    Der erste Contest wird sehr ungezwungen ablaufen. Sobald genug Leute auf der Mailinglist sind, setzen wir ein Datum fest, welches dann mindestens einen Monat (eher zwei) *danach* liegt.
    Anfangen zu programmieren kann man aber natürlich jetzt schon.
    Der erste Wettbewerb wird sich wohl aufs "DLL native" Interface beschränken (und dieses ist vollständig spezifiziert!), da ich noch nicht dazu gekommen bin die Script-Interfaces zu programmieren. (Es sei denn jemand hilft mir! 😉 *lechz* )



  • Gibt es vielleicht noch einen fertigen Gegner aus der 2001 Phase?

    Wäre vielleicht gut, wenn man einen einfachen Gegner zum Testen seiner eigenen DLL hätte. Und halt nicht einen total dämlichen Gegner der nur rumsteht/wegrennt/..., sondern einen der schon versucht zu gewinnen.
    Bzw. idealerweise gleich mehrere 🙂

    Und ja, cooles Projekt.
    Das einzige was ich nicht so toll finde, ist, dass doch einige Dinge nicht exakt festgelegt sind. Also Grösse des Spielfeldes, des Tores, die diversen Kräfte/Beschleunigungs-Werte etc. - wenn das alles variabel ist, macht das das Programmieren eines guten Gegners IMO ziemlich schwer.
    Bzw. es sollte wenigstens festgelegt werden welche dieser Parameter in einem Contest nun wirklich variiert werden, und in welchem Rahmen.

    Oder hab' ich die Doku falsch interpretiert, und diese Werte sind eh fix vorgegeben, nur dass halt symbolische Konstanten dafür existieren...?



  • Hallo,
    im Bin-package http://www.assembla.com/spaces/podball/documents/cxvinGKzar34mpeJe5cbLA/download/podball-v2-bin-package-rev32.zip ist eine weitere DLL enthalten (strunzd.dll).
    Das war der damalige inoffizielle Sieger der 2001 Release.
    (Allerdings war damals die Spielerzahl auf 4 fest und die KI wurde darauf optimiert).

    Da sich das Interface stark geändert hat, und man neu kompilieren muss, hab ich keine anderen DLLs, da ich den Sourcecode der anderen nicht hatte.

    Und was natürlich immer geht: Man kann sein Modul gegen sich selbst spielen lassen!

    Zu den Parametern:
    Alles ist (zur Laufzeit) konfigurierbar!
    Aber natürlich werden wir uns zu einem gegebenen Contest auf einen Parametersatz einigen. Dieser wird dann nicht mehr geändert.
    (Man könnte sich später eventuell verschiedene "Ligen" vorstellen, aber so groß wird der Andrang wohl nicht sein)
    Die Module sollten natürlich was die Parameter betrifft so flexibel wie möglich sein. Also die Parameter bei den Berechnungen mit einbeziehen statt Konstanten zu benutzen.

    Von kleinen Änderungen abgesehen will ich aber mit den aktuellen Parametern spielen.
    D.h. insbesondere keine Änderungen bei den Spielfeld- und Tor-Abmessungen (1.0x0.6/0.2).
    Die Variable mit der größten Auswirkung ist sicherlich die Spielerzahl.

    Der damalige Contest war auf 4 (große) Pods beschränkt. Heute hab ich den Wert spaßeshalber auf 11 gesetzt und die Pods kleiner gemacht (WM lässt grüßen).
    Ich denke aber 8 oder 9 wär hier wohl der beste Wert.
    Plant mal einen 8 gegen 8 Contest.



  • So, bin nun aus dem Urlaub zurück.
    Ich hab nun mal konkrete Daten für einen Wettbewerb angegeben. Die Daten stehen auf http://trac6.assembla.com/podball/wiki/PodballContest .
    Leider haben sich bisher außer mir nur zwei Leute auf der Mailingliste eingetroffen.
    Bitte liebe C++ler, macht mit!
    Oder macht zumindest Werbung für das Projekt bei anderen Hobby-Programmierern.
    Eventuell wären auch Informatik-Clubs oder -AGs in Schulen interessiert.
    Ich hab leider keine Idee wo ich sonst noch Werbung machen könnte.


Anmelden zum Antworten