Schweres Thema - Künstliche Intelligenz (einfach)

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

  • Schweres Thema - Künstliche Intelligenz (einfach)

    Hallo,

    wer kann mir ein paar Codeschnipsel oder Tips geben für folgende KI:

    1. Loslaufen, an der Wand abprallen. Andere Richtung einschlagen (o.k. geht ja mit Bounce against objects...). Aber die KI-Figur soll nur in einem Umkreis von z. B. 300 Pixel sich bewegen.

    2. Schießen in die Richtung der Hauptfigur wenn Sie in einem bestimmten Umkreis der KI-Figur kommt (z. B. Radius 200 Pixel).

    3. Hauptfigur soll von der KI verfolgt werden. Auch wieder im Radius X-Pixel.

    4. Figur nicht mehr verfolgen, wenn die Hauptfigur den X-Radius wieder verlässt.

    danke für denkanstösse und hilfe!
  • bei den ganzen umkreis bzw radius-abfragen wirst du die funktion

    Quellcode

    1. distance_to_object(obj)
    sicher gut gebrauchen können.
    Und für die Verfolgung

    Quellcode

    1. mp_potential_step(x,y,stepsize,checkall)

    Also etwas so was:

    GML-Quellcode

    1. if (distance_to_object(objPlayer) <= 300) {
    2. mp_potential_step(objPlayer.x,objPlayer.y,speed,false); //Laufen
    3. scrShoot() //Das Schieß Script musst du dir natürlich noch selber schreiben.
    4. }

    ich habs jetzt nich ausprobiert, aber so in etwa müsste das script für eine verfolgung innerhalb von einem 300 px radius aussehen (gehört ins step event des gegners)
    www.glowingorb.de
    „Wenn es im Universum noch irgendwo intelligente Lebewesen gibt, dann kennen sie vielleicht Schach, höchstwahrscheinlich jedoch GO

    (Schachweltmeister Emanuel Lasker)

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

  • Danke für die Tips!

    Habe mir mal GML reingezogen. Ist ja sehr einfach. Dank meiner Programmierkenntnisse durch C++ mit Variablen, brauchte ich nur noch einige Formeln umzudenken und dann hat es geklappt.

    Meine KI ist fertig und schnurrt wie nen Kätzchen durchs Level.

    Am meisten hat mir aber die automatisierte Kollisionsabfrage bereitet. Das ändern der KI beim Laufen gegen einen Stein, dann das zufallsbedingte Stoppen aus dem Random-Befehlen heraus.

    Es sollte halt so aussehen als wenn die KI mal ne Pause macht, dann wieder läuft. Naja zum Glück gibts den Befehl Alarm... ein wunderbares ding!
  • hi leuts da ich nicht einfach ein neues thema aufmachen wollte schreib ichs hier rein:ich brauche für mein game ein chara der zufallsweise einen schrit macht dann wieder stehen bleibt wider in eine zufällige richtung einen schritt macht wieder stehen bleibt und so weiter......
    ( mit path's funktioniert das nicht da es für jede richtung das Sprite wechseln soll)
  • man kans auch mit paths lösen.
    wen du die direection abfragst und dan das sprite über diese ausrichtest. ich musster aber feststellen, das die direction eine sehr ungenaue kommazahl ist, also teile ich diese auf (-45-45; 45-135; ...) und ortne diese einen festen wert zu (wen zwischen -45 und 45 dan genau 0 oder wen zwischen 45 und 135 dan gaue 90.
    du kanst die abstände natürlich beliebig klein machen, allerdings wird der code dan dementsprächend lang.

    ps: mit round, floor oder cail geht das überhaubt nicht (es sei den du hast genu 360 bilder) bei 4 oder 8 geht es nicht.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • Jo.In Fatal Strike hab ich auch eine (find ich zumindests) KI.

    Muhahhahahahahhaha.....

    Der Titel ist übrigens schon ein bisschen komisch (von dem Thread)
    Schweres Thema - Künstliche Intelligenz (einfach) wenn das ein schweres Thema sein soll warum steht dann dahinter in Klammern einfach?
  • weil unter umständen auch eine einfache ki schwer z uprogrammieren sein kann (kommt halt drauf an, was man mit einfach meint; im vergleich zu echter intelligenz ist selbst die ki in spielen wie fear oder half-life 2 einfach)
    www.glowingorb.de
    „Wenn es im Universum noch irgendwo intelligente Lebewesen gibt, dann kennen sie vielleicht Schach, höchstwahrscheinlich jedoch GO

    (Schachweltmeister Emanuel Lasker)
  • hi ich brauch auch so einen verfolgungscode hab den von oben eingegeben dann kommt dieser fehler:


    ___________________________________________
    FATAL ERROR in
    action number 1
    of Step Event
    for object zombie_green:

    COMPILATION ERROR in code action
    Error in code at line 2:
    mp_potential_step(tur_dir.x,tur_dir.y,speed,false);

    at position 59: Symbol } expected.
    ______________________________________________

    ich hoffe jemand weis hier weiter
    (der gegner nur den spieler (^^tur_dir^^) verfolgen wenn er im radius ist)

    hier nochmal der code:
    _________________________________________________________

    i
    f (distance_to_object(tur_dir) <= 300) {
    mp_potential_step(tur_dir.x,tur_dir.y,speed,false);
    __________________________________________________

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

  • kevboard schrieb:

    at position 59: Symbol } expected.
    Das bedeutet wohl dass du die geschweifte Klammer nicht geschlossen hast...

    kevboard schrieb:

    hier nochmal der code:
    _________________________________________________________

    i
    f (distance_to_object(tur_dir) <= 300) {
    mp_potential_step(tur_dir.x,tur_dir.y,speed,false);
    __________________________________________________
    ...und hier hast du das sogar noch selbst bestätigt. Da fehlt das } am Ende. Du hast beim Kopieren anscheinend versehentlich die letzte Zeile vergessen, kann natürlich passieren, sollte einem aber eigentlich selbst auffallen. ;)
    Einige meiner Spiele: