Ki

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

  • Für alles und jeden kann es ne KI geben.
    Eine KI zu machen ist äußerst schwierig da sie ja auch "intelligent" handeln soll.
    Da mußt du schon selber proggen.
    Bestimmte abfragen machen.
    Das heißt wenn der spieler das macht handele so auf die aktion.
    Face in the wind, we're riding the storm
    We'll stay our course whatever will come
    ~~ Stay (Running) Wild ~~
  • SChah KIs...
    Dies ist sicher machbar, nur braucht man dafür tausende von if-Bedingungen... Man müsste Alle Felder nah allen Figuren überprüfen und gucken ob der KI mit einer eine Figur eine andere raushauen kann ohne selber rausgehauen zu werden, es sei den die andere ist stärker als man selbst. Falls es keine Möglichkeit gibt ne andere rauszuhauen, dann muss der Ki irgendeine Figur zufällig bewegen ohne die Figur in Gefahr zu bringen...
    Wenn ich n paar Jahre Zeit häte, würde ich sowas gerne machen ;)
  • bei so einer primitiven ki muss man sich nich wundern, wenn man immer gewinnt. diese ki würde viele taktische motive gar nicht erkennen, z.b. wenn man seine dame vor einen bauern stellt, dieser schlägt und man dann matt setzen kann. und wenn die ki mal nicht schlagen kann, wird sie nur blödsinn machen. immerhin gibt es schon in der eröffnung wichtige regeln, die zu beachten sind, und erst im endspiel... und ganz gemein sind solche gradwanderungen: es gibt nur einen richtigen zug, den man machen kann, alles andere führt unweigerlich zum matt innerhalb der nächsten 3 züge. dann ist es reine glückssache, dass die ki genau diesen zug macht. deswegen frag ich ja danach: bring ner ki mal bei, worauf sie zu achten hat, lass sie mehrere züge vorrausberechnen, und dann noch eine stellungsbewertung machen, um zu entscheiden, was der beste zug ist, dann hat man ne reelle chance zu verlieren...
  • ich würde weniger von einer KI sprechen, als vielmehr von einem Bot. eine Künstliche Intelligenz entscheidet selber ob und wie sie pong spielen will. ein skriptbasierter Bot handelt nur wie im vorgegeben wurde. der grundlegende unterschied ist wohl, das die KI lernen können sollte, ein Bot muss das nicht.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • hi @ all,
    wen man einen bot hatt (was ja schon schwer genug ist) kan man ihn mit einigen einfachen kniffen zu einer lernfähigen ki erweitern. aber dies alles aufzuschreiben wird etas länger, darum hier einigen denkanstöße:

    zuersteinmal:
    es gibt mehrere klassen von einheiten, draufgänger, einzelgänger, ärzte, takticker, vorsichtige ect. (ich mach das al anhand eines shooters)
    der draufgänger wir eher spät nach munition suchen, und die stellung länger halten, ein vorsichtiger geht schon bei 50% mnitionsknappheit. man kan also dem draufgänger durch if (munition < 5) SUCHE-MUNITION. oder if (energie < 15) SUCHE-MEDKIT.
    bisher haben wir einen bot.
    aber nun machen wir eine variable die bei jedem abschuss erhöht, bzw. verkleinert wird je nachdem ob der draufgänger beim munitions/energie suche gestorben ist, oder nicht. die entscheidung wird dan noch zusätzlich peer random ausgeführt, also wen diese variable hoch ist, wird eine entscheidung schneller getroffen, als wen die variable niedrig ist.
    nach einer gewissen zeit würde so aus einem draufgänger ein vorsichtiger, oder umgekehrt, jenachdem wie der spielr spielt.

    hoffe das war irgentwie verständlich, ist sehr schwer zu erklären.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • Ich bin auch der Meinung, dass eine KI nur wirklich gut ist wenn sie auch lernen kann. z.B. das sie aus Verschiedenen Handlungen die beste herausfindet, Rückschlüsse zieht und sich dadurch immer wieder verbessert.
    Das ganze ist aber ziemlich schwierig zu proggen.
    Mein Forum

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von spyro ()

  • Wenn ich mich auch mal zu Wort melden darf...

    Ihr habt recht interessante Denkanstöße. Allerdings ist eine "normale" KI eines Gegners nicht allzu schwer zu zaubern. Ein paar Abfragen reichen aus und man hat eine "recht" intelligente KI erstellt.

    Zuerst definiert man verschiedene Variablen.

    z. B. zählt man wieviele Schüsse hat der Spieler abgegeben. Dann an welcher Position befindet sich der Spieler. Weitehin sollte man prüfen wie schwach der Spieler ist, wie nah er am Gegner ist und was passiert wenn z. B. ein Hindernis im Weg ist.

    Eigentlich relativ wenige Variablen mit wirklich gutem Effekt, wenn man weiß wie man die Variablen zielgenau verarbeitet.
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • Nabend Community.
    Mich würde auch mal interessieren, wie man solch eine KI für einen 2D-Shooter (bzw. Jump N' Run) erstellt.
    Gibt es dafür hier irgenwo eine auch für Laien verständliche Anleitung,
    in der alles Schritt für Schritt erklärt wird?
    Wenn nicht, dann kann's ja einer mal hier posten :P
    I´m Lyin´ I´m Cheatin´ I´m Stealin´
    Chinese Democracy is comin'...!

  • Das wird euch jetzt vielleicht schockieren, aber eine KI, selbst im weitesten sinne , ist im Game Maker nicht oder sehr schwer realisierbar. Selbst aktuelle Titel, wie z.b. Half Life 2 oder Unreal Tournament benutzen nur sehr weit Vortgeschrittene Scripte, welche auf bestimmte Situationen reagieren ~ oder wie bei Doom 3 gerade auf einen zulaufen und mit allen nach euch werfen was sie aufbieten können :3. Das diese "Bots" lernfähig sind, ist mir bis jetzt noch nicht aufgefallen, auch wenns auf dem Sektor bereits einige ausnahmen gibt (Black and White z.b.)

    Ich mache die Scripte für meine Gegner normalerweise so ~ das ist jetzt ein Casltevania ähnlches Spiel, die Gegner haben absichtlich keine zu komplizierte Angriffsmuster, weil das Spiel sonst etwas frustrierend werden könnte, wenn ein Skelett Bogenschütze auf 10 Bildschirme entfernung zu schießen anfängt

    Eine Variable im Script sagt mir in welchen Modus sich der Gegner gerade befindet. Ein gegner mit beinen hat dann folgende möglichkeiten

    - Patrolieren
    - Angreifen
    - Verteidigen

    Wenn jetzt der Spieler außerhalb des Sichtbereiches des Gegners ist, wird dieser immer hin und her latschen und sonst nichts tun. Wenn der Spieler den Fehler macht und in den sichtradius des Monsters gerät, wird dieses sofort angreifen. Wenn man eine art Gruppen KI entwickeln will, sollte man jetzt vielleicht ein Script aufrufen, mit dem das Monster andere Monster in der näheren umgebung anlockt. Oder Monster die die Schmerzensschreie des Sterbenen Ex-Mitbewohners hören, könnten eventuell einen Hinterhalt vorbereiten. Sowohl beim Angriff als auch bei der Bewegung im angriff sollte man die umgebung berücksichtigen, sofern das möglich oder nötig ist, und auch von der funktion Random gebrauch machen. Nichts ist schlimmer als ein Monster das immer in den selben abständen angreift. Na, eigentlich doch. Ein Monster, das egal was man macht, alle Attacken Kontert (außer es ist beabsichtigt).
    ...
  • Um das Schach-Problem nochmal aufzugreifen:

    Ich würde das ganze in einen Abfragenbaum machen, also

    Wenn Springer einen Bauern schlagen kann dann
    Wenn Bauer gedeckt ist
    Lass es sein
    Sonst
    Schlag ihn
    Sonst
    andere Figuren abfragen.

    Gibt dazu nen gutes Tutorial:
    iicm.edu/greif/node5.html
  • ich würde einen Bot machen und nicht KI....sonst wird es schnell zu schwierig und in einem jump'n'run wird jeder gegner eigentlich nur ein mal vernichtet. eine KI wäre also eher sinnlos^^
    und noch was zur KI:
    wenn die lernfähige person stirbt muss sie sich merken durch wen sie gestorben ist, wie(waffen), wo, was sie gerade getan hat, wie sie das verhindern könnte, etc..........also recht schwierig...
    Dragoon
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!
  • 1) Wie erstellt man denn bitte eine Funktion, die aussagt, dass der Gegner mich gesehen hat? Oder besser gefragt, wo finde ich die Funktion
    "Wenn obj_x obj_y sieht, dann..." --> gibts so eine Funktion denn?

    2) Gibt's irgendwo ein leichtes Tutorial, dass einem den Einstieg in die Programmierersprache des GMs erklärt?
    I´m Lyin´ I´m Cheatin´ I´m Stealin´
    Chinese Democracy is comin'...!