Stärke der KI-Einheiten
Liste der Anhänge anzeigen (Anzahl: 1)
Stellt man zwei feindliche Infanterie KI-Gruppen gegenüber auf, dann wird meist die Gruppe siegen, in welcher sich der Spieler befindet.
Das weist darauf in, das ArmA sichtlich einer Gruppe, in welcher sich der Spieler befindet, bessere Eigenschaften zuweist. Für diese Einstellungen gibt es mehrere Parameter. Hier ein Skript, mit welchem alle Eigenschaften einzelner KIs auf das Maximum gestellt wird. Code:
//Setzt bei einer Gruppe alle Skills auf Maximum [Vienna 09.03.2011] Im Anhang eine Testmission, in welcher vorerst die vom System vorgegebene Stärke in den Gruppen vorhanden ist. Damit kann getestet werden, wie im überwiegenden Anteil die Gruppe des Spielers gewinnt, egal auf welcher Seite er spielt. Wenn danach der Auslöser, der das Skript aktiviert, auf true gestellt wird. Dann ist zu sehen, dass die Gruppen eine ausgeglichene Gewinnwahrscheinlichkeit haben. |
Ich habe das Skript so abgeändert, dass man als Parameter auch den Wert (0-1) einstellen kann. So ist es möglich den Gruppen unterschiedliche Werte zu geben.
Am besten sieht man wie enorm die Auswirkungen sind, wenn man einer Gruppe den Wert 1 und der anderen den Wert 0 gibt. Code:
//Setzt bei einer Gruppe alle Skills auf einen Wert (0-1) [Vienna 09.03.2011] |
Hab mal detailliert die Skills jeder einzelnen Einheit ausgeben lassen.
Folgendes kam dabei für East raus: Code:
=================== Code:
=================== Code:
private ["_aimingAcc", "_aimingShake", "_aimingSpeed", "_endurance", "_spotDistance", Und anscheinend wirken die Schwierigkeitsgradskills nicht, sondern die Editorskills. Ansonsten hätten alle Einheiten einen Skill von 1. Die Frage ist trotzdem, warum die eigene KI trotz gleichem Skill jedes Mal gewinnt. Wenn man den Skill auf 1.0 durch dein Skript hochschraubt, dann sind beiden Seiten gleich stark. Es sieht aber meistens so aus, dass der EastLeader als erstes stirbt, dadurch verliert das East Squad natürlich den besten Mann und die anderen Soldaten haben einen commanding Skill von 0. Kann also schon damit zusammenhängen. Durch dein Skript setzt du ja auch den commanding Skill von jeder Einheit auf 1, sodass eigentlich fast jeder Soldat ein perfekter Leader ist :D Vordefinierte Gruppen im Editor ist zu setzen ist doof, da jede Einheit einen unterschiedlichen Skill hat :] Man müsste das mal mit einzeln gesetzten Einheiten mit jeweils einem Skillwert von 0.5 testen. Hab den Skill mal manuell auf 1.0 bei jeder Einheit im Editor gesetzt. Selber Effekt wie mit deinem Skript, denn deins macht ja auch nichts anderes. Ich sehe das Problem darin, dass vordefinierte Gruppen unterschiedliche Skills haben. Und wenn der Feind es schafft zuerst die "gut geskillten" Soldaten zu erschießen ist es logisch, dass der Feind gewinnt. |
Es kommt auch auf das Gelände an auf denen sich die Einheiten jeweils bewegen. Auch wie schnell die Einheiten eine vorteilhafte Stellung einnehmen. Man weiß ja, wie irr sich die KI z.B. beim Lenken eines Fahrzeuges aufführt. Wenn sich die Soldaten gegenseitig im Weg stehen, oder vielleicht gar einen Busch oder Baum in der unmittelbaren Umgebung haben, dann bringt das einige Verwirrung, die bei einer Gruppe 50% Verluste verursachen kann, bevor sie aktiv am Kampfgeschehen teilnimmt.
Auch ist sicher ein weiterer Zufallsfaktor eingebaut, sonst würde bei Einstellung 1 alles 100% sein. In den Klassen sind anscheinend noch andere Werte vorhanden, die man mit setSkill gar nicht einstellen kann. CfgAISkill - Bohemia Interactive Community |
Hast du mal manuell (via Texteditor) die Ost- bzw. Westeinheiten ausgetauscht und geguckt ob die Spielerseite dann immer noch die Gewinnerseite ist ?
Kleinste Geländeunterschiede können schon für enorme Vor- bzw. Nachteile sorgen, dies gilt insbesondere weil das Gleichgewicht sehr schnell kippen kann. Bei 0 Abschüssen werden z.B. Einheiten mit höheren Thread und Cost Werten als Ziele bevorzugt. Steht ein Soldat mit durchschlagenderer Waffe etwas günstiger für die eine Partei zum Abschuß, ist oftmals der Lavineneffekt bereits losgetreten. Aufgrund der angesammelten "Abschusskosten" wird dann zb. der Bursche der den gekillt hat wiederum recht schnell bevorzugt aus "Rache" unter Feuer genommen. Im Gegenzug kann dessen Seite es wiederum schaffen jemand mit stärkerer Waffe abzuschießen der noch deutlicher auf sich aufmerksam gemacht hat. :naughty: Tauscht man die Einheiten exakt aus sollten wiederum zwar statistisch umgekehrte Ergebnisse dabei herauskommen, aber da ist dann noch Väterchen Waffenqualität am Werk. Wenn Da nur ein Thread/Cost/etc. Wert besser ist kann es wiederum ständig ungleich enden. Genaugenommen müßte man identische Truppen mit identischer Ausrüstung wählen und dann die Seite in der Missionsdatei verbiegen um wirklich sicher zu sein. :angel: |
man muss hierbei auch immer bedenken, dass die Spieler KI auf niederen Schwierigkeitsgraden immer besser ist, als die Gegner KI.
Code:
class Difficulties |
QUOTE]Ich sehe das Problem darin, dass vordefinierte Gruppen unterschiedliche Skills haben. Und wenn der Feind es schafft zuerst die "gut geskillten" Soldaten zu erschießen ist es logisch, dass der Feind gewinnt.[/quote]
Ist doch ok, wie im wahren Leben! Leg den Offizier um und danach knallst du die kopflosen Hühner ab. CommandSkill = 0 ist natürlich sinnlos. Ist 1-1-A:1 jeweils der Commander oder die erste Einheit unter dem Commander? Weil der auch commanding=0 hat. Egal wie, normale Einheiten haben immer begrenzte Commandofähigkeiten und dies könnte man ja auch so abbilden. |
O/B 1-1 A:1 sind jeweils die Squadleader. Die Leader sind Truppanführer.
Ich glaub, dass der commanding Skill entweder nur bei Offizieren auf 1 oder niemals bei den Standardeinstelllungen auf 1 ist D: Aber trotzdem dürfte das bei diesem KI Gefecht ja eigentlich egal sein, da beide Leader auf beiden Seiten nicht kommandieren können. :D Ist der Skill beider Seiten auf 1 sind es spannende Gefechte, die sehr selten gleich ausgehen. Lässt man den Skill aber standardmäßig und lässt die KI gegeneinander kämpfen, dann gewinnt komischerweise immer das Squad, in dem der Spieler ist. Das bezieht sich jetzt aber nur auf die BLUFOR Seite, wenn der Spieler im West Squad ist. Bin gerade mal dem East Squad beigetreten und jedes Mal wurde mein Squad geschlagen (ohne Skilländerung). @$CHLUCKi: Man kann den Skill der Einheiten aber auch selber definieren und ist nicht an eine Standardschwierigkeit gebunden. |
Ich habe immer, bei gleichbleibender Aufstellung, die Seite gewechselt und einen einfachen Schützen als Spieler gewählt. Dabei war eben zu bemerken, dass die Seite mit dem Spieler, bei annähernd gleichen Chancen, öfter siegte. Da sowieso immer ein geringfügig anderer Ablauf erfolgt, wird es kaum einen Unterschied machen,wenn man die Seiten im "Missionstext" umdreht. Ich habe auf 10 Meter Plazierungsspielraum eingestellt, um etwaige gleichbleibende Zufälle auszuschließen.
Mit der Skill-Einstellung ist ein erheblicher Einfluss auf das Verhalten der KIs möglich. Aber wie man sieht gibt es noch viele andere unbeeinflussbare Parameter, die oft den Ausgang entscheiden, wenn die Skill-Einstellungen nicht extrem unterschiedlich sind. Diese kleinen unbeeinflussbaren Parameter wirken sich aber anscheinend weniger aus, wenn Skill auf 1 steht. |
Wie sich herausstellte, setzt der Befehl <Unitname> setskill 1 alle oben angeführten Skills auf 1. Die einzelnen Skills anzuführen macht also nur Sinn, wenn man den einzelnen Skills unterschiedliche Werte zu weisen will.
Um die alle Skills aller Seiten auf 1 zu stellen reicht folgende Zeile: call {{_x setskill 1} foreach allUnits}; |
Man kann im Fenster "Einheiten bearbeiten" mit dem Schieberegler die "Fähigkeiten" einer Einheit einstellen. Dabei ergeben sich für alle Skill-Fähigkeiten die gleichen Werte von 0,2 bis 1.
Es ist kein Unterschied gegenüber der Einstellung mit dem Befehl setSkill zu sehen! Das Skript zum Anzeigen der Werte: Skill.sqf Code:
//Auslesen und Anzeigen der Skills einer Einheit mit hintC. SkillAuslesen.sqf Code:
//Liest von einer Grupp die Skill-Werte aus |
Frage zwischendurch, wieso benutzt du dafür call und nicht spawn, damit es parallel mit anderen Sachen läuft? :]
|
Spawn verlangt in einem Auslöser eine Variable vorgestellt. Ich glaube bemerkt zu haben, wenn man z.B. in einem Auslöser für zwei hintereinander stehende Aufrufe die selbe Variable voranstellt (temp = ......; temp = .....), dass es bei solchen Routinen zu Fehlern kommt.
|
Gibt es mittlerweile eine Lösung für die peinliche "KI gewinnt nur, wenn der Spieler auf IHRER Seite ist" Sache?
Mal so ganz nebenbei: was denken die sich dabei sowas einzustellen? Steht auf der Verpackung nicht Millitärsimulation? Denke das ist ein billiger Markttrick, weil die genau wissen das sie wenig Kunden haben... damit sich die Kunden wie Helden fühlen, weil sie immer gewinnen. Was auch immer - dafür verdienen sie wiedermal ein geschlossenes Studio. :sauer: Mir fällt auf das die Gegner einfach immer ne andere Taktik haben. Habe grade Pakistanische Soldaten gegen US Soldaten kämpfen lassen. Wenn ich US Soldat spiele, bewegen sich die Pakistaner in unserer Richtung und schiessen, die US Soldaten bleiben einfach liegen und schiessen... wenn ich Pakistani bin ist es halt genau umgekehrt, die US Soldaten bewegen sich und die Pakistanis bleiben liegen und feuern.... Wurde NIE abgeschossen. Das Gefecht lief auf ca. 500 Metern distanz auf offener Wüste... Wie kann man da noch Spaß haben wenn man sowieso weiß das man gewinnt. Ist doch total fail sowas. Zudem gerät man in Arma selten unter Beschuss... KI EInheiten werden deutlich bevorzugt. Aber naja, was will man von Programmierern erwarten die im erbärmlichen Zustand leben und Sat 1 Actionfilme und CoD als Kontrast sehen. :rolleyes: |
Ich dachte das Thema KI und damit ArmA2 wäre für dich erledigt. Jetzt kommst du wieder mit der alten Leier und streust darin ein paar unqualifizierte Behauptungen :rolleyes:
Du bist ein Troll. Das ist alles. |
Kann dir eig. egal sein obs nun für mich abgeschlossen ist oder nicht. Fakt ist: BIS stellt ihre KI so ein, das der Spieler die höheren Chancen hat zu gewinnen. Kurz gesagt: eine realistische Millitärsimulation! (IRONIE)
Und meine Frage ist: ob es irgendwie behoben werden kann, WEIL ich vernünftige Gefechte in Arma erleben möchte und auch mal unter Beschuss geraten möchte und solange Arma die einzige Alternative bleibt auf dem Markt habe ich leider keine anderen Ausweichmöglichkeiten. "Du bist ein Troll" - Weil ich kein Fanboy bin und FAKTEN erwähne? Mehrere Leute haben bereits die Sache mit der KI bestätigt, das die KI gewinnt auf welcher SEITE der SPIELER spielt. Aber naja, mit 40 SCHON so eine schöne Argumentation auf den Tisch legen.... super! :D |
Ich glaube du willst das unmögliche... Ich habe noch kein einziges Spiel gespielt in dem die KI durch einen höheren Schwierigkeitsgrad besser wurde, sie wurde einfach nur übertrieben treffsicher oder hielt mehr aus als vorher aber sie bekam nie ein besseres Verhalten, sie blieb wie immer einfach dumm. Das selbe ist auch bei ArmA der Fall, es ist halt KI da darf man sowieso nicht allzuviel verlangen... Hab zwar auch gemerkt das man häufig gewinnt, als USMC gegen Russland hab ich allerdings auch häufig verloren. Es ist spannend vllt. nicht so wie man es gerne hätte, aber wenn man gegen einen Gegner spielen will der sich wie in echt verhält, sollte man gegen Menschen spielen. Und das nicht unter Beschuss geraten ist bei mir jedenfalls noch nicht passiert.
|
Och... mit den richtigen Settings und Addons kann man da schon eine Menge mehr rausholen als Vanilla ArmA2 zu bieten hat.
Aber man kann natürlich lieber quengeln... :zahn: |
Naja wie gesagt, mit Mods zocke ich schon!
ACE ist nicht wegzudenken... ansonsten wird halt viel rumgetestet... GL4 hat ein paar nette Einstellungen aber der SKILL der KI ist etwas jämmerlich im Nahkampf. Ich rege mich auch nur deswegen dadrüber auf, weil ich viel Potenzial sehe in dem Game... es wird aber eben nicht genutzt! "OFP" DR ist ein schlechtes Spiel... es gibt aber eine KI Modifizierung die man noch etwas verändern kann.... dann ist die KI im Nahkampf und auf Distanz um einiges besser als in Arma. Sowas in Arma und Arma wäre der hammer. Arma brauch in meinen Augen nur ne hardcore KI. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias