KI wettbewerb

    • Konzeptfrage

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • KI wettbewerb

      stellt euch mal vor auf einem server steht eine anwendung, die KIs mithilfe von berechnung der x,y,speed, -was auch immer-, variablen umherlaufen lässt.



      nun stelle man sich vor die berechnung der KI variablen kommt von einem clienten, übergibt nur bestimmte von der anwendung auf dem server lesbare parameter, ist also eigentlich unabhängig davon.

      nun mache jeder programmierer der zeit und lust macht sich einen eigenen clienten (speed und solche sachen die einem unfaire vorteile verschaffen werden on der anwendung auf dem server gleichgemacht) und dann treten die KIs gegeneinander an.

      ist sowas überhaupt durchführbar mit dem game_maker?

      ich denke schon, wäre das nicht interessant?

      maximale schussreichweiten, geschwindigkeiten, waffen-feuerkraft*waffen-feuerrate, größe, maximale sichtweite und ähnliche sachen sollten bestimmte grenzen nicht überschreiten oder falls so eine grenze überschritten wurde soll der spieler gekillt werden xD. es geht also eigebntlich fast nur um die bewegungen, in deckung gehn, verfolgen usw.

      man könnte ien punktesystem einführen , aber es soll zum spaß sein und kein bepunkteter wettkampf, nur eine anregung eine KI zu programmieren.

      was haltet ihr davon?
    • naja auf dem server ist eben ne anwendung die nur das nötigste an variablen von den verschiedenen clienten erhält?

      wenndas nicht geht dann schreibt eben jeder client auf dem server eine .txt und die exe vopm server liest es aus.

      einen server zu finden sollte nicht allzu groß sein, irgendwer von diesem forum hat sowieso einen.
    • Genau die gleiche Idee hatte ich vorgestern auch D:
      Also machbar ist so ziemlich alles mit dem Game Maker, man muss nur die Spielgeschwindigkeit ( Framerate , FPS oder was auch immer ) im Auge behalten - Das beste Spiel macht keinen Spaß, wenn da nur 1 Frame die Sekunde rauskommt...
      Zum Topic :
      Ich finde, die KI's sollten Grundlegend von den Werten so aussehen ( kleines Beispiel ) :

      GML-Quellcode

      1. hp = 10 //Die hp sollte bei allen KI's gleich sein
      2. damage = <Deinschaden> //Den Schaden kann jeder Spieler machen, wie er will - solange die Zahl die "Regel" befolgt.
      3. reloadtime = 4 - <Nachladezeit> // ( Das "4 - " muss drin sein, Zahl am ende mal roomspeed oder wasauchimmer nehmen ;) )
      4. //( damage + reloadtime ) / 2 <= 2 ; Diese Regel sollte befolgt werden.

      Zu der Sache mit der Übertragung : Ich finde, die KI's sollten One-Script-Gesteuert sein, dieser Script wird als String ( logisch, oder? ;) ) gesendet. Der Server führt den Script dann per execute_string ( str ) aus.
      einen server zu finden sollte nicht allzu groß ( meinst du schwer? :P ) sein, irgendwer von diesem forum hat sowieso einen.

      Dazu : So ziemlich jeder Server sieht verschieden aus - solang er nicht eins zu eins aus einem Tutorial genommen wird.

      ich hab bestimmt wieder totalen murks geschrieben * versteck * ;P

      Gruß, Phoenix
    • wie wäre es, wenn in verschiedene scripte wie zbs. scr_ducken, scr_ schuss, scr_nach_rechts _gehen und so weiter bereits auf dem server festgelegt sind, und man dann beim programmieren der KI nicht so Sachen wie xspeed, yspeed, create_instance_of_schuss oder soweiter verwendet sondern eben diese vorgelegten scripte.
      Somit könnte man dann auch verhinden, dass sich der eine spieler schneller bewegt als der andere oder schneller schießt.
      Die Idee gefällt mir aber sehr!
    • Ich hatte auch schon überlegt, ein Spiel zu schreiben, in dem man einen Bot programmieren kann und sie dann gegeneinander kämpfen lassen kann. Ich hatte aber noch nicht angefangen. Für meine Idee bräuchte man aber ein pharser oder was auch immer.
      Wenn man das wirklich auf nem Server machen würde, würde ich es nicht so machen das jeder ein Programm schreibt, das irgendwelcher regeln befolge muss, sondern ein Programm schreibt, das Signale vom Server auswertet, (visualliesiert) und dann zurück gibt, was der Bot tun soll, so das man sowas auch in anderen Sprachen schreiben kann.
      Das heißt der Server sendet beispielsweise: "Da ist ein gegnerischer Bot 3° entfernt von deiner 'Sehrichtung', du hast noch 13 Schuss Munition und deine Lebensanzeige steh auf 78" (natürlich kürzer zusammen gefasst und nach einem bestimmten Schema aufgebaut) Der Client sender dann: "Um 3° drehen, schießen, zur Seite springen ducken." Der Server dann: "Schuss verfehlt, du wurdest von einem Schuss getroffen..." und so weiter.

      Außerdem würde ich machen, dass man auch in Teams spielen kann und der Server dann sendet ob der Bot den man sieht feindlich ist, oder ob er zum Team gehört und die Clienten entsprechend reagieren müssen. Das würde das ganze spannender machen.

      Ob der Spieler dann einen Bot programmiert, der sich selber lenkt ;) oder ob der Spieler einen Client programmiert, denn man [teilweise] selber lenken kann, sollte aber auch dem Spieler überlassen sein.

      Viele Grüße, maxda
    • also ich würde ja da vile mehr freiraum geben,.

      aus den variablen x,y,xprevious,yprevious kann man direction speed,

      aus bei jedem schuss kann man nen zeitmesser starten für feuerrate...

      usw.. ich würde vom server nicht die vom game maker bekannten variablen überprüfen lassen, da sonsd die freiheit daran glauben muss.

      jeder spieler sollte einen identifier string mitliefern und pro spieler der joint ist auf dem server ein array zB x[1],y[1],xprevious[1],yprevious[1],countdown[1](nach jedem schuss gestartet und getestet ob feuuerrate eingehalten wird)

      spielerid[1],ammo[1](wird erhöht pro schuss, und resettet pro nachladen, darf nie zu hoch sein)

      damage kann in den collisionsevents auf dem server auf einen festen wert gesetzt werden.



      so stell ich mir das vor, also den spielern sehr viel freiraum geben, und die wichtigsten sachen die eingehaltne werden müssen kann man mit variablen , die nicht vom game_maker bekannt sind (also nicht speed,direction...) berechnet werden.

      bei nichteinhalten der regeln wird eben gekickt.
    • Die Idee erinnert mich ziemlich an RobotWar , CRobots und auch ein bisschen an CoreWars.
      Wenn ihr nach den Begriffen ein wenig googelt werdet ihr sicher noch mehr Informationen finden, gerade CoreWars ist sehr beliebt und man kann recht einfach einen RedCode Interpreter bzw. MARS programmieren, sowas müsste mit dem GM durchaus machbar sein und eine Online Version wäre umso cooler.
    • Benutzer online 1

      1 Besucher