Schiffs-KI technische Verständnisfrage

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum

skylinedr
Posts: 1011
Joined: Wed, 30. Nov 05, 12:09
x4

Schiffs-KI technische Verständnisfrage

Post by skylinedr »

Huhu Leute.

Da ich in meinem TC Game nun schon ein paar IG-Tage durchs Uni schippere, habe ich mittlerweile ein paar GKS angesammelt. Wenn GKS gegen GKS kämpfen fällt mir jetzt erst so richtig auf, das die KI immer viel zu dicht an meine Schiffe ranfliegen, M1, M2, M7 usw.. steuern so dicht an ihre gegnerischen GKS-Ziele, das immer die Gefahr des Rammens besteht. Oder wenn ich selbst drinsitze kommen sie so dermaßen dicht rangeflogen das man den Gegner einfach wegrammen kann, ohne sich weitere Gedanken machen zu müssen. Das hebelt die ganze Raumballerei aus, weil man eigtl. nur noch nach GKS mit guten Schilden schaut.

Nun die Verständnisfrage: Woran liegt das? Meine Vermutung geht in Richtung Schiffshitbox, also liege ich richtig wenn ich annehme das jedes Schiff eine Hitbox hat, bei der die CPU beginnt die Ausweichmanöver einzuleiten? Wenn das der Fall ist, würde es was bringen wenn die Hitboxen von großen Schiffen einfach vergrößert werden? Wie siehts dann mit den Waffen aus? Die richten sich bestimmt auch nach der Hitbox, wenn die nun viel größer wäre, - würde die KI dann ständig danebenballern? In Ansätzen hab ich das bei Albatros und Kondor schon beobachtet.

Und was würde mit Andockmanövern passieren? Hat hier die Hitbox einen Einfluss?

Da ich gerade dabei bin die Unimap so zu überarbeiten, das jeder Sektor größer wird, die Objekte und Stationen sich weiter voneinander entfernen, damit einfach mehr Platz für GKS-Manöver da ist, kam mir so in den Sinn das dann auch endlich mehr Platz für Schlachten vorhanden ist. Also muss ich auch die Schiffe und Waffen etwas anpassen. Nur mir gefällt die ganze GKS-Kämpferei nicht, dabei hatte ich darüber nachgedacht den Waffen extreme Reichweiten zu geben und den Projektilspeed stark zu erhöhen, z.B wenn ich mal die PIK nehme: Eine Reichweite von etwa 15km würde mir gefallen, den Speed so gewählt das man bis auf etwa 10 bis 12km mit einem GKS noch gerade so ausweichen kann, nur bringt das alles nichts wenn die KI ständig auf Kollisionsentfernung heranfliegt.


Für ein paar erklärende Worte hierzu wäre ich sehr dankbar, genaue Infos hab ich leider nirgends gefunden.
Ich mag den Gedanken einer "Spukhaften Fernwirkung" nicht. - A.Einstein
User avatar
Generalwest
Posts: 2764
Joined: Thu, 31. May 07, 18:07
x4

Post by Generalwest »

ich hab mit der tokyo nie ein prob gehabt.

Daneben ballern: nein es wird immer der Schiffsmittelpunkt beschossen bzw das was x denkt was der Mittelpunkt ist. xxgeheimnissxx

Andocken: Die Kolli würde vermutlich immer versuchen auszuweichen, da sie nich mal zu den Landelichtern kommen. Ein Kolli aus ist zwar weit verbreitet, kann ich mir aber nicht vorstellen. Weder beim an noch beim abdocken,

Hitbox: Hülle ist die fläche. Schlägt was auf die Hülle ist es ein Hit. Ein signal gibt an ob ein Objekt angegriffen wird. Ka wie oft man Hiten muss damit es auslöst. Was ich gelesen habe ist 5 mal oder so.

GKS Anflug: Liegt an dem Bereich hitbox. Wenn signal aktiv ist dann beginnt es "ab und an" erst auszuweichen oder wenn etwas einen Kollipunkt passiert. Aber wie gesagt: Entweder landest du dann mit allen Waffen direkte Treffer oder man rammt es einfach. Was bei mir gar nicht oft passiert.
mace24de
Posts: 229
Joined: Sun, 15. Jan 06, 12:52
x4

Re: Schiffs-KI technische Verständnisfrage

Post by mace24de »

skylinedr wrote:Huhu Leute.

Da ich in meinem TC Game nun schon ein paar IG-Tage durchs Uni schippere, habe ich mittlerweile ein paar GKS angesammelt. Wenn GKS gegen GKS kämpfen fällt mir jetzt erst so richtig auf, das die KI immer viel zu dicht an meine Schiffe ranfliegen, M1, M2, M7 usw.. steuern so dicht an ihre gegnerischen GKS-Ziele, das immer die Gefahr des Rammens besteht. Oder wenn ich selbst drinsitze kommen sie so dermaßen dicht rangeflogen das man den Gegner einfach wegrammen kann, ohne sich weitere Gedanken machen zu müssen. Das hebelt die ganze Raumballerei aus, weil man eigtl. nur noch nach GKS mit guten Schilden schaut.

Nun die Verständnisfrage: Woran liegt das? Meine Vermutung geht in Richtung Schiffshitbox, also liege ich richtig wenn ich annehme das jedes Schiff eine Hitbox hat, bei der die CPU beginnt die Ausweichmanöver einzuleiten? Wenn das der Fall ist, würde es was bringen wenn die Hitboxen von großen Schiffen einfach vergrößert werden? Wie siehts dann mit den Waffen aus? Die richten sich bestimmt auch nach der Hitbox, wenn die nun viel größer wäre, - würde die KI dann ständig danebenballern? In Ansätzen hab ich das bei Albatros und Kondor schon beobachtet.

Und was würde mit Andockmanövern passieren? Hat hier die Hitbox einen Einfluss?....
Hi,

irgendwie klingt das nach fehlendem "Navmesh" interessant wäre zu wissen mit welchen Schiffen dir das passiert, dann könnte man das mal testen.
skylinedr
Posts: 1011
Joined: Wed, 30. Nov 05, 12:09
x4

Post by skylinedr »

@mace24de: Ist nicht so das die KI garnicht ausweicht, die fliegen einfach alle generell zu dicht ran, ein Q z.B. beginnt bei direktem Anflug auf mich bei etwa 2km das Ausweichmanöver. Das ist lächerlich. Da fliege ich einfach weiter drauf zu und ramme es weg. Dasselbe beim J, beim K. Neulich hab ich ein paar Piris in ihren Korvetten angegriffen, die weichen erst bei 1,5km aus, dabei kam noch die Paranidische Militärpat zu Hilfe obwohl ichs keinesfalls gebraucht hätte aber gut. Deren Deimos flog bis auf fast 1km neben mich. Die sollen Abstand halten!

@Generalwest: Hmm, nochmal ... die Außenhülle ist die Hitbox? Kann iwie nicht sein, dann würde ja alles miteinander kollidieren. Hab ich nicht so ganz verstanden.
Ich mag den Gedanken einer "Spukhaften Fernwirkung" nicht. - A.Einstein
mace24de
Posts: 229
Joined: Sun, 15. Jan 06, 12:52
x4

Post by mace24de »

skylinedr wrote:@mace24de: Ist nicht so das die KI garnicht ausweicht, die fliegen einfach alle generell zu dicht ran, ein Q z.B. beginnt bei direktem Anflug auf mich bei etwa 2km das Ausweichmanöver. Das ist lächerlich. Da fliege ich einfach weiter drauf zu und ramme es weg. Dasselbe beim J, beim K. Neulich hab ich ein paar Piris in ihren Korvetten angegriffen, die weichen erst bei 1,5km aus, dabei kam noch die Paranidische Militärpat zu Hilfe obwohl ichs keinesfalls gebraucht hätte aber gut. Deren Deimos flog bis auf fast 1km neben mich. Die sollen Abstand halten!

@Generalwest: Hmm, nochmal ... die Außenhülle ist die Hitbox? Kann iwie nicht sein, dann würde ja alles miteinander kollidieren. Hab ich nicht so ganz verstanden.
Achso, dann liegt es wohl nicht am Navmesh, sondern ist das standard KI Verhalten :/, die ATF Schiff Verhalten sich da etwas anders, die versuchen gar nicht erst auszuweichen.

Ich denke das ist eher eine Frage für die Scripter, vielleicht kann man da eine Lösung finden.
User avatar
Generalwest
Posts: 2764
Joined: Thu, 31. May 07, 18:07
x4

Post by Generalwest »

mace24de wrote:
Ich denke das ist eher eine Frage für die Scripter, vielleicht kann man da eine Lösung finden.
Nein seh ich anders da wenn das Navmash wie du es nennst vergrößerst weichen die früher aus da das Kolliwarn signal darauf zu greift. Greift das Signal Kolli Script gibt es kein Ausweichmanöver, es sei den Signal Attack (Schiff unter Beschuss) wird gesendet.

Allerdings seh ich dann das Problem das man nicht mehr andocken kann da kollisionsignal selbst dann zündet, wenn man docken will bzw zum ende der Landelichter fliegt. das geht dann zum teil gar nicht mehr.

Die Außenhülle ist ein Kollisionsobjekt. oder das navmesch, ka was da reagiert. wenn man zum Beispiel ein Treffer auf das Heck landet wird der genauso erkannt wie wenn er am Bug landet. Die gesamte Hülle die man Sieht ist wenn ich dein Box Beispiel aufgreife vergleichbar mit deiner HitBox. Türme versuchen weiterhin die Mitte des Schiffes zu treffen. Da von egosoft auch einzelne Bausteine erlaubt sind, ist alles in der Scene des Objekts verankert. Tust du zum Beispiel den Selben Body ein zweites mal dazu, ist das für die Engien egal und es findet keine Kollision statt da es EINS ist. (ist bei Astros genauso deswegen kann man auch nicht vernünftig auf größere Brocken Zielen da man nur den "Objekt Mittelpunkt erfassen kann und if in range of turret dafür nicht wirklich funktioniert)
skylinedr
Posts: 1011
Joined: Wed, 30. Nov 05, 12:09
x4

Post by skylinedr »

Dann andersrum. Was ist ein Navmesh? Oder besser: Was müsste getan werden das Bigships einen Sicherheitsabstand von min. 3,5 bis 4km einhalten, oder noch besser: Alles was in die Range reinläuft wird gecheckt, wenns was kleines ist - egal, wenns größer ist - ausweichen.

Dann müssten also alle Landelichter-Ranges bei Docks auch verlängert werden? Die sind sowieso meistens zu kurz, ist mir eh aufgefallen, davon mal abgesehen.
Ich mag den Gedanken einer "Spukhaften Fernwirkung" nicht. - A.Einstein
mace24de
Posts: 229
Joined: Sun, 15. Jan 06, 12:52
x4

Post by mace24de »

skylinedr wrote:Dann andersrum. Was ist ein Navmesh? Oder besser: Was müsste getan werden das Bigships einen Sicherheitsabstand von min. 3,5 bis 4km einhalten, oder noch besser: Alles was in die Range reinläuft wird gecheckt, wenns was kleines ist - egal, wenns größer ist - ausweichen.

Dann müssten also alle Landelichter-Ranges bei Docks auch verlängert werden? Die sind sowieso meistens zu kurz, ist mir eh aufgefallen, davon mal abgesehen.
Also ein "Navmesh" sagt der Schiffs KI wann es auszuweichen hat. Das Problem ist wenn man ein 3d objekt exportiert mit DBOX2 und die daraus resultierende BOD datei mit doubleshadow X2BC Compiler in eine BOB umwandelt, wird das "Navmesh" des Objekts gelöscht oder zumindest verändert, ob ein Navmesh da ist kann man einfach testen. Nimm dir z.b. einen Träger, mach den Hangar voll mit Jägern und lass diese dann abdocken, wenn du beim an oder abdocken(üblicherweise beim abdocken) einen Haufen Jäger verlierst weil die sich im Träger verkeilen, kannst du davon ausgehen das kein "Navmesh" vorhanden ist.

Wenn kein Dock vorhanden ist einfach mal die Schiffe auf Kollisionskurs schicken, dass Schiff ohne Navmesh wird dann gar nicht ausweichen oder erst sehr sehr spät(und ich rede hier von ein paar hundert Metern und nicht von Kilometern.)

Ich habe leider keine Ahnung wie man dein Problem lösen soll, da es anscheinend normal ist das GKS erst ein bis zwei Kilometer vorher ausweichen.

Wenn ich das Navmesh zu sehr vergrößere kann es sein das z.B. Jäger gar nicht mehr in Feuerreichweite eines GKS kommen, weil sie vorher ausweichen würden. GKS dagegen hätten keine Probleme.

Das Navmesh-problem tritt auch nur bei den ATF und selbst erstellten Objekten auf, von daher stört es eigentlich nur die wenigsten.
skylinedr
Posts: 1011
Joined: Wed, 30. Nov 05, 12:09
x4

Post by skylinedr »

Das die Feuerreichweite zu kurz sein könnte lässt sich recht simpel beheben, dann reicht eben ein EPW nach der Überarbeitung 5km weit, oder was auch immer nötig ist um ein GKS angreifen zu können ohne auf Selbstmord-Kollisionskurs gehen zu müssen in einem kleinen Schiff.

Das es normal ist das die KI erst 1-2 km vorher ausweicht ist mir klar, darum geht es mir ja grade. Das ist eben für große Schiffe viel zu spät, die können doch schon bei 4km ne Reaktion zeigen. Da muss doch was zu machen sein, bis dieses Problem nicht irgendwie gelöst ist hat es absolut keinen Zweck an den Waffen herumzuschrauben.
Ich mag den Gedanken einer "Spukhaften Fernwirkung" nicht. - A.Einstein
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

ich denke eher das problem ist viel mehr dass die Kleinschiffe dann auch auf diese Entfernung ausweichen - sprich sie kommen im kampf gegen GKS noch seltener zum schuss…
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
User avatar
Killjaeden
Posts: 5366
Joined: Sun, 3. Sep 06, 18:19
x3tc

Post by Killjaeden »

UniTrader wrote:ich denke eher das problem ist viel mehr dass die Kleinschiffe dann auch auf diese Entfernung ausweichen - sprich sie kommen im kampf gegen GKS noch seltener zum schuss…
richtig. Das kann man schon teilweise in vanilla beobachten bei kurzreichweite waffen wie PS

Die KI visiert im übrigen mit den Turretskripts meines erachtens die Kamerapositionen an. Welche genau, keine Ahnung, anscheinend immer die ungünstigste.
Kommt nämlich öfter mal vor das der PIK Turm freudig auf den oberen Rand des Gegner GKS feuert anstelle von mitten rein.
Oder aber es sind die Flächen-schwerpunkte der Nav-mesh-box (ich gehe davon aus das es eine ist).

Es gab mal den Versuch eine (nicht genutzten) Kameradummy ein stück weit vor das eigentliche Modell zu setzen, sodass es denkt es wäre größer und weicht somit früher aus. Scheint halbwegs geklappt zu haben nur muss dazu halt jede Szene geändert werden.
[ external image ]
X-Tended TC Mod Team Veteran.
Modeller of X3AP Split Acinonyx, Split Drake, Argon Lotan, Teladi Tern. My current work:
Image
skylinedr
Posts: 1011
Joined: Wed, 30. Nov 05, 12:09
x4

Post by skylinedr »

Das mit dem fröhlichen danebenballern selbst auf kürzeste Entfernungen hab ich auch schon oft beobachtet. Da scheint wohl auch nicht alles rund zu laufen.

Zur "Navmeshbox": Das ist dann also das, was ich im Sinn hatte in Sachen "Hitbox", die man woanders verwendet, also eine Art Kasten um das Schiff herum, der signalisiert wenn irgendwas als "Kontakt" dort hinein gerät und das Schiff ausweichen muss. Lässt sich das nicht im Editor einfach größer ziehen? Wäre so für meine laienhaften Vorstellungen die einfachste Lösung. Am besten noch mit ner Prüfung, ob es überhaupt notwendig ist auszuweichen, bei kleinen Sachen wie Jäger oder Miniastros ist das ja eher unnötig.
Ich mag den Gedanken einer "Spukhaften Fernwirkung" nicht. - A.Einstein
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz »

Killjaeden wrote:Kommt nämlich öfter mal vor das der PIK Turm freudig auf den oberen Rand des Gegner GKS feuert anstelle von mitten rein.
Oder aber es sind die Flächen-schwerpunkte der Nav-mesh-box (ich gehe davon aus das es eine ist).
Turret cameras sind Zielpunkte für die KI und werden nur dann benutzt, wenn "Mitte des Schiffs" nicht "in range of turret" ist.
Mit dem Turret Fix Mod habe ich diese möglichst nahe am Schiff positioniert, um den Effekt auf ein Minimum zu beschränken.

Ob unbenutzte cameradummies auch Zielpunkte sind weiß ich ned. Gibts in meinem Spiel nicht.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
User avatar
Killjaeden
Posts: 5366
Joined: Sun, 3. Sep 06, 18:19
x3tc

Post by Killjaeden »

Die Hitbox (für Laser) ist was anderes. Die generiert sich aus LODs, genaugenommen aus dem letzten.

Fürs Navmesh gibts keine seperate Box, das wird beim export automatisch erstellt. Zumindest soll es theoretisch so sein. Praktisch ists überhaupt nicht eingebaut.
[ external image ]
X-Tended TC Mod Team Veteran.
Modeller of X3AP Split Acinonyx, Split Drake, Argon Lotan, Teladi Tern. My current work:
Image
skylinedr
Posts: 1011
Joined: Wed, 30. Nov 05, 12:09
x4

Post by skylinedr »

Fürs Navmesh gibts keine seperate Box, das wird beim export automatisch erstellt. Zumindest soll es theoretisch so sein. Praktisch ists überhaupt nicht eingebaut.
Mit anderen Worten, damit lässt sich nix groß verändern am GKS gegen GKS Kampf? Das wäre sehr schade, weil so wie es original ist hats ja keinen Zweck große Kämpfe anzuzetteln, weil die dicken Pötte wie blinde Kühe vor sich hinstolpern und im letzten Augenblick erst plötzlich irgendwas versuchen wollen, wenn es längst zu spät ist. :shock:
Ich mag den Gedanken einer "Spukhaften Fernwirkung" nicht. - A.Einstein
Striker304
Posts: 915
Joined: Fri, 26. Mar 10, 21:15
x3tc

Post by Striker304 »

Fürs Navmesh gibts keine seperate Box, das wird beim export automatisch erstellt. Zumindest soll es theoretisch so sein. Praktisch ists überhaupt nicht eingebaut.

Mit anderen Worten, damit lässt sich nix groß verändern am GKS gegen GKS Kampf? Das wäre sehr schade, weil so wie es original ist hats ja keinen Zweck große Kämpfe anzuzetteln, weil die dicken Pötte wie blinde Kühe vor sich hinstolpern und im letzten Augenblick erst plötzlich irgendwas versuchen wollen, wenn es längst zu spät ist.
Man könnte ein Script schreiben, das auf allen GKS ausgeführt wird und alle Schiffe im Umkreis von sagen wir mal 6km erfasst. Ist darunter ein GKS, wird ein Ausweichmanöver eingeleitet.
Ob es jetzt so elegant ist und wie das mit der Rechenleistung aussieht, ist ne andere Frage, aber möglich wärs zumindest.
User avatar
Generalwest
Posts: 2764
Joined: Thu, 31. May 07, 18:07
x4

Post by Generalwest »

6km? wow welche Waffe trifft schon auf 6km? PIK, PSP vl, hmm mehr fällt mir auf Anhieb nicht ein.

Ich hab damals signal Killed modifiziert, da ich ncih alle schiffe immer und immer wieder erfassen und mit dem sig collekten wollte da das zu viel rechen power schluckt. (überprüfen, schaunen ob was läuft, warten bis ein neues da ist wieder alles. und das ständig da man nicht mit nur size of array arbeiten kann)
Striker304
Posts: 915
Joined: Fri, 26. Mar 10, 21:15
x3tc

Post by Striker304 »

6km? wow welche Waffe trifft schon auf 6km? PIK, PSP vl, hmm mehr fällt mir auf Anhieb nicht ein.
Ich weiß jetzt nicht wie das genau ist, aber wenn der Mittelpunkt eines Schiffes als seine Position genommen wird, dann ist das schon fast richtig mit den 6km. weil eben die Front eines Phönix so ca. 2 km weiter vorne ist. Bei den meisten M2 dürfte die Front mind so ca. 1km vor dem Mittelpunkt liegen, d.h. wenn zwei solcher M2 aufeinander zufliegen und ihre Mittelpunkte 6 km voneinander entfernt sind, dann sind die Fronten der Schiffe nur noch 4km entfernt. Und da schießen sie dann schon auch mit FS oder IK. Und diese 4km Distanz wären auch noch gut fürs langsamer werden und wenden.

Je nachdem wie lang die beiden Schiffe sind könnte man auch nen kleineren Abstand nehmen, aber z.B. bei 4km wäre bei meinem Beispiel von gerade der abstand zwischen den beiden Fronten der Schiffe aber nur noch 2km, und da fliegen sie mit fast voller Geschwindigkeit aufeinander zu und beginnen grade erst damit, sich zu drehen....
skylinedr
Posts: 1011
Joined: Wed, 30. Nov 05, 12:09
x4

Post by skylinedr »

Die Waffenreichweite könnte man zumindest für mich völlig außer acht lassen, das passe ich dann schon an wie es sein sollte.

Ausweichscript in etwa so? : Checke (nehmen wir 10km) Radius, wenn GKS oder Station oder dicker Astro in Range, ausweichen in die 180Grad entgegengesetzte Richtung, wenn dort ebenfalls ein Objekt, dann 90 Grad nach unten / oben, und so weiter....
Nur was geschieht wenn mehrere Objekte in Range sind.... ob das die CPU in die Knie zwingt?

Theoretisch müsste man auch noch unterscheiden ob "in Flugrichtung" oder dahinter, oder seitlich, dann könnte man das verfeinern mit "in Flugrichtung 10km, seitlich 5km, dahinter 3km...."
Ich mag den Gedanken einer "Spukhaften Fernwirkung" nicht. - A.Einstein
Chaber
Posts: 6693
Joined: Wed, 6. Nov 02, 20:31
x4

Post by Chaber »

ich würde nicht 180° nehmen... 45 oder max 75° sollten erst mal reichen, mann kann ja auch einen Bereich vor dem GKS erfassen und den Rest die Ego-Ki übergeben.

Ich, warum sollte ein M2 wild rumnavigieren wenn irgendeienr von der Seite angeflogen kommt
Das vo nder seite angeflogene GKS kann ja ruhig weiterfliegen, während das auf kollisionskurs geradeausfliegende abdrehen sollte :D
Du empfindest Xenon "langweilig", Khaak nur "lästig" und willst einen richtigen Feind in einem nagelneuem Universum?
Dann warte auf meinen Mod, "den" Feind wirst du hassen lernen ;) -> Mapper/Skripter (auch MD) und Modder gesucht, melden per PN bei Interesse.
Forumsthread - - - NW-Modforum

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”