SB Tutorial - 2. Teil - Scripten mit dem Szenario Editor

  • Hält man beim Legen eines Bewegungspfads die Shift-Taste ("Umschalten"), folgt der Pfad automatisch dem vorhandenen Straßennetz.

    Die Alt-Taste schaltet um zwischen Nutzen und Ignorieren des Navmeshes. (Ich empfehle dringend, eigentlich immer das Navmesh zu nutzen, weil nur dann und nur so fortgeschrittenere Ki-Wegfindungstechniken zum Einsatz kommen; hierzu sollte man ggf. im Optionsmenü den entsprechenden Punkt abwählen (daß das Navmesh nur bei gehaltener Alt-Taste genutzt wird). Wir bereiten aktuell ein Tutorial dazu vor; es ärgert mich ziemlich, daß viele Nutzer das Navmesh effektiv NICHT nutzen, weil dadurch die KI im Spiel erheblich dümmer erscheint als sie eigentlich ist. Aber dazu braucht sie ausdrücklich die Unterstützung durch das Navmesh.


    Seit 2015 hab' ich fast eine Million in die Entwicklung besserer Wegfindung gesteckt, und die Hälfte aller Nutzer hat's nicht mal richtig mitbekommen. :(

    Bitte keine Privat-Nachrichten an mich!
    eMails integrieren sich viel besser in meinen Arbeitsablauf, oder schreibt's gleich ins Forum, OK?

  • Ich hab HIER im Video das jetzt extra nicht noch zusätzlich erklärt. DAS hätte ich später erwähnt, wenn man fortgeschrittener ist.


    Die Hauptprobleme bei der KI sind aber dennoch noch immer Häuser, die z.B. in "L" Form verbaut wurden, sodass es leider öfters vorkommt, dass KI's sich in so eine Haus-L- Form verfahren und selber nicht mehr rauskommen.

    Oder wenn die in Wäldern unterwegs sind, sich dann mal ein Fahrzeug zwischen 2 Bäumen verfängt und selber so nicht mehr rauskommt.


    Daher habe ich ja die Information gegeben, die KI immer "langsam" in Ortschaften fahren zu lassen, weil es ja nun mal sonst passieren kann, dass die bei zu hoher Geschwindigkeit, die Kurve nicht mehr rechtzeitig erwischen und dann durchziehen und in eine Häuserreihe reinfahren und sich festfahren.


    In den Videos fange ich erstmal KLEIN an und erklär vorerst nur das nötigste, ohne zu viele zusätzliche Informationen zu vermitteln.

  • Ja, das ist völlig OK. Bei nicht-konvexen Gebäudegrundrissen gibt's manchmal Probleme (allerdings auch Verbesserungen seit Version 4.1); das hängt einerseits davon ab, ob ein Gebäudemodell auch tatsächlich als "nicht-konvex" im Objektskript gekennzeichnet ist (die Häuser der Steel Beasts-Objektbibliothek haben das alle), andererseits können manchmal Objekte unterschiedliche Koordinatensysteme haben (sollte bei "unseren" Häusern nicht passieren), wodurch die Kollisionsbox nicht mit dem in der Karte und 3D-Ansicht gezeigten Gebäudegrundriß übereinstimmt, dann gibt's "Glaswände". Das ist natürlich besonders blöd, aber eigentlich nicht die Schuld der KI, sondern des Artworks. Dann gibt's noch die Einschränkung, daß Infanterie nur in konvexen Gebäuden Stellung beziehen kann, so daß manche Drittparteien-Designer lieber ein Gebäude als "konvex" einordnen obwohl es das überhaupt nicht ist, und dann wird zur Kollisionsvermeidung die große, umfassende Bounding Box eingesetzt. So kann dann niemand in die "innere Ecke des L" hineinfahren, weil der Glaszaun drum herum gebaut ist. Hat also alles seine Tücken, und manchmal wissen manche Leute nicht genau, was sie tun, oder sie wägen Vor- und Nachteile bestimmter Lösungen gegeneinander ab.

    Ich hoffe, daß wir das in Version 5.0 von Grund auf besser machen können, insbesondere die generelle Performance mit sehr vielen Häusern ohne großen Framerate-Verlust, so daß bestimmte Geschwindigkeits-Optimierungen einfach nicht mehr nötig sein werden, so daß alle Gebäudemodelle nach einheitlichen Prinzipien aufgebaut werden können ohne zugleich alle als langweilige, konvexe Kisten zu enden.


    Also, generell interessiert micht immer, wenn es in einer Karte an einer bestimmten Stelle ein reproduzierbares Problem gibt. Da will ich genau kennenlernen (Map UID, genaue Koordinate, idealerweise ein "minimal repeat scenario"), so daß wir das erst analysieren können, dann verbessern, und zum Schluß in unseren automatisierten KI-Benchmark aufnehmen. So wird jede neue Version, die wir bauen, auf Kompatibilität geprüft, bevor sie auch nur einen einzigen Kunden erreicht.

    Bitte keine Privat-Nachrichten an mich!
    eMails integrieren sich viel besser in meinen Arbeitsablauf, oder schreibt's gleich ins Forum, OK?

  • Ich hab ab und an mal im Szenario-Editor (Rote Partei) zusätzlich "Container" in diese L- Hausformationen eingefügt, damit dann keine KI mehr sich in sowas reinverirrt.


    Insbesondere scharfe Kurven in Ortschaften, wie z.B. eine 90° links-kurve und nach ein paar Metern sofort wieder 90° rechts.

    Dabei um die Häuser herumfahren die an den Straßen stehen. Wenn vor der ersten Kurve / T-Kreuzung dem Fahrzeug direkt ein Haus gegenübersteht, dann kann es passieren, dass die KI (vielleicht aus Angst gegen das Haus zu fahren), die richten abbiegepunkt nicht mehr rechtzeitig erreicht und versucht, andersherum um das Haus zu fahren, um seinen Wegpunkt weiter fortzuführen. - was zu folge haben kann, dass man eben in eine solche L-Hausfalle reinfahren kann, bzw, dass auch alle nachfolgenden KI's, insbesondere wenn es ein ganzer Zug ist, dass diese dann dem Weg des Führenden folgen und sich dann nicht mehr den Weg zu Straße finden und nicht an den Häusern vorbeikommen. Oder die restlichen KI's bleiben auf der Straße stehen, bis der Führende iiiirgendwie einen Weg gefunden hat und weiterfährt.

  • Es gibt drei Navigationsmethoden der KI. Erstens, lokale Hindernisvermeidung. die ist eher dumm und kommt z.B. zum Einsatz, wenn ein Fz ohne Navmesh unterwegs ist oder aufd Hindernisse trifft, die nicht Teil des Navmeshes sind - Bäume, beispielsweise.


    Zweitens, Straßenfolgemodus. Der setzt voraus, daß die Straßen "hindernisfrei" sind (sonst kommt wieder die (eher dumme, s.o.) lokale Hindernisvermeidung zum Einsatz). Allerdings kann im Straßenfolgemodus mittlerweile zumindest die Spur gewechselt werden; ist eine Kurve zu eng, wird (mindestens in Version 4.3) das Fahrzeug zurücksetzen und dann weiter dem Pfad folgen. Der Straßenfolgemodus kommt immer dann zum Einsatz, wenn ein Zug in Formation Reihe mit weniger als 30° Richtungsabweichung zum nächsten Zielpunkt auf einer Straße oder in deren unmittelbarer Nähe unterwegs ist. Das "Durchschlängeln" durch Enge, winklige Kurven oder bei am Straßenrand geparkten Fahrzeugen wird in 4.3 also nochmal deutlich besser werden.

    Alle Einzelfahrzeuge werden als "in Formation Reihe" betrachtet.


    Drittens, Navmesh (=Offroad-) Modus. Das ist die cleverste Wegfindung, benötigt aber die ausdrückliche Unterstützung durch das Navmesh, die bei der Pfadeingabe aktiviert werden muß. Nur im Navmeshmodus werden Lücken zwischen Hindernissen bewertet, ob sie breit genug zur Durchfahrt sind. Es kommt zudem "dynamische Hindernisvermeidung" zum Einsatz (also ob z.B. eine geplante Bewegung durch einen LKw oder Bus einen kleinen Umweg erfordert; ggf. aus die Ausnutzung von geschaffenen Lücken, wenn Panzer mit HE einen Mauerabschnitt freisprengen). Im Navmeshmodus befindliche Einheiten würden ggf. auch während ihrer Bewegung erkennen, ob eine frisch gelegte Panzerschnellbrücke (oder eine Minengasse) ihren Weg verkürzen würde, und ggf. spontan entscheiden, diese Brücke (Gasse) ebenfalls zu nutzen.

    Bitte keine Privat-Nachrichten an mich!
    eMails integrieren sich viel besser in meinen Arbeitsablauf, oder schreibt's gleich ins Forum, OK?

  • Ich habe mir zwar das Video zu Navmesh vor einiger Zeit schon angesehen, aber die Erklärungen hier von dir Ssnake zu dieser Thematik haben mich die Vorteile doch etwas besser verstehen lassen. Ich war nämlich bisher davon ausgegangen, dass die Navmeshroute die lokale Hindernisvermeidung einfach nur vorab schon visualisiert bzw. berechnet.

    Werde jetzt beim nächsten Gefecht auf jeden Fall die Navmesh Option dauerhaft aktivieren.:thumbup:(Damit sich die investierte Million wieder etwas mehr gelohnt hat. ;))