Ciekawe promocje na Steam:

 

-66% – Arma 3 – 11,89€ (50,08 zł) 
-66% – Arma 3 Apex – 10,19€ (42,92 zł)  

-66% – Arma 3 DLC Bundle 1 – 5,77€ (~20 zł)   (Arma 3 KartsArma 3 Helicopters oraz Arma 3 Marksmen DLC)
-20% – Arma 3 DLC Bundle 2 – 18,39€ (77,46 zł)  (Arma 3 Jets, Arma 3 „Orange” (nazwa robocza), Arma 3 Tac-Ops oraz Arma 3 Tanks!)
-66% – Arma 3 Helicopters – 3,39€ (14,28 zł)

Witaj gościu!

Zamierzasz spróbować swoich sił w zadaniach kooperacyjnych w świecie milsimu? Zapraszamy do rekrutacji.
Nie wymagamy regularnej obecności. Chcesz zagrać raz na tydzień lub miesiąc ? Proszę bardzo !
Jesteś w innej grupie? Nie mamy nic przeciwko !
Na naszym TeamSpeaku zawsze panuje miła atmosfera, jeśli masz pytania wbijaj i pytaj.
Rozgrywki prowadzimy codziennie (o ile są chętni) lub na zapisy (patrz w kalendarzu), zaczynamy zawsze o 20:00.

 

Zapraszamy do tematu z filmami z naszych rozgrywek. Miłego oglądania!

Jules

A3
AI w A3 | ASR AI

3 posty w tym temacie

Powitajcie,

Po pierwsze temat jest tylko i wyłącznie dla Mission Makerów - osób odpowiedzialnych za odpowiednie przygotowanie misji jak i zbalansowanie rozgrywki, tak aby było odpowiednio trudno dla graczy, ale byśmy nie stawali do walki z terminatorami.

Jeżeli jesteś graczem i nie chcesz sobie psuć zabawy wiedząc więcej o AIkach w tym momencie wyjdź z tego tematu, ale wtedy nie twórz bajek i legend na temat AI.

 

 

 

 

Okej, skoro to mamy za sobą, do rzeczy: ostatnio rozegrane misje (w tym moje) skłoniły mnie do eksperymentów i pracy nad poziomem AI w A3. Celem jest osiągnięcie odpowiedniego poziomu i może to być dokonane poprzez godziny spędzone na obserwacji i testach w warunkach kontrolowanych. Oczywiście, czekają mnie jeszcze eksperymenty z graczami, więc liczę na wasze wsparcie moje świnki morskie. Na wstępie chcę podziękować [m=Gienkov]owi za ogromną pomoc w pozyskaniu danych.

Teraz główna zasada: AI jest ogólnie rzecz biorąc sprawniejsze w A3. Dla każdego MM przyzwyczajenie z A2 gdzie współczynnik AI dla Gracza wynosił 3:1 powinno zmienić się do 1:1. To jest kluczowa sprawa, gdy planuje się misję z odpowiednią ilością slotów, gdzie na 16 graczy w jednej potyczce (zakładając scenariusz, że obie grupy spotykają się twarzą w twarz) powinno przypadać do 16 AIków. Większa ilość sprawi, że może być już o wiele trudniej, a nie biorę tu pod uwagę flankowania, pojazdów etc.

AI nie jest jednak na tyle sprawne by samodzielnie przeprowadzać manewry na szeroką skalę - szerokie flanki zasłaniając się terenem itp - to nadal leży w gestii MM by taki efekt nadać. Często taki efekt jest przypadkowy. W momencie starcia AI przechodzi w tryb Combat (dzięki któremu zaczyna przemieszczać się od osłony do osłony i nie po prostej trasie. Natomiast co w A3 jest o wiele lepsze to namierzanie przeciwnika i "przewidywanie" jego trasy przemieszczania się.

Na naszym serwerze działa addon ASR AI (dodatkowe informacje dostępne w temacie [m=Gienkov]a) który sprawia że:

 


- AI korzysta z "sieci radiowej", dzięki której komunikuje się z innymi grupami znajdującymi się w zasięgu 500 i wymusza na danych grupach wsparcie nadając im waypointa bliżej przeciwnika (nadpisuje to ustawienia DAC support)
- AI rozprasza się, gdy zostaje ostrzelane na pustym polu, poszukując osłony. W razie braku rzuca dym.
- AI korzysta z funkcji CBA - przeprowadza atak jak i obronę obsadzając stanowiska.
- AI korzysta z funkcji CBA by sprawdzać budynki.

- AI reaguje na dźwięk wystrzału.
- AI łączy się w grupy gdy dana grupa osiągnie 2 ludzi (tak jak to robi DAC), również grupa AI będzie ignorowała spowalniających ją żołnierzy (tj np rannych w nogę, nieprzytomnych etc) poprawiając mobilność.
- AI dostosowuje tryb ognia zależnie od dystansu (daleko - pojedyncze,. blisko - seria/full auto)
- Broń i optyka nadana AIkom modyfikuje ich celność, tryb ognia (np. RKMy będą pruć seriami nawet na dalsze dystanse)

- (aktualnie testowane) Zasięg widzenia AI jest zależny od pory dnia oraz mgły.



Przejdźmy teraz do skillów AI - są one wyrażane w wartościach od 0 do 1.0 (gdzie 1.0 to super AI). Najpierw warto zdefiniować co AI posiada i można to modyfikować: link

3 grupy:

Aiming

aimingAccuracy - celność AI, jak sprawnie kalkuluje dystans, rekompensate odrzutu i jak pewny musi być AI że trafi cel zanim otworzy ogień
aimingShake - jak celny jest jego ogień - tj rozrzut
aimingSpeed - jak szybko AI obraca się i "przycelowuje"

 

Spotting

spotDistance - powodzenie z jakim AI wypatruje/słyszy przeciwnika i jak szybko tą informację przetwarza
spotTime - jak szybko AI reaguje na zaobserowanego wroga, ale również na jak szybko reaguje na śmierć i obrażenia

 

General

courage - odwaga, w wypadku niskich wartości AI będą częściej uciekać. Ważne by pojedyncze pojazdy posiadały courage ustawione na 1 - w innym wypadku np. pilot śmigła bojowego może uznać, że musi uciekać bo wroga jest za dużo (mimo, że mu nie zagraża)
reloadSpeed - jak szybko AI zmienia broń/przeładowuje
commanding - jak szybko informacje o rozpoznanych celach są dystrybuowane w danej grupie (nie mylić ze wszystkimi AI)
general - "baza skilla" jednostki, również prędkość podejmowania decyzji

Nieużywane:
endurance - wytrzymałość

Podczas ostatniego updateu (18.11.2014) na serwerze A3 został wyłączony moduł nadawania AI skilla bazując na ich typie jednostki. Działało to na wszystkie postawione AI jak i te które były spawnowane podczas misji np. przez DAC. Zatem od tego momentu poziom AI zależy tylko i wyłącznie od Mission Makera.


Jak to działało?

Skrypt pobierał asr_ai_level nadawany przez addon i traktował go jako klasę, przykładowo rebelianci z misji Storm in a Teacup posiadali klasę 4 - co w configu ASR oznaczało jednostkę "regularną", następnie przypisywało im bazę skilla i podwyższało losowo o wspólczynnik przemnożony o typ frakcji.

Dla przykładu kategoria Aiming - baza dla klasy 4 wynosiła 0.3 a współczynnik wynosił 0.2. ten współczynnik był mnożony przez czynnik frakcji, gdzie w przypadku rebeliantów wynosił 0.9 - ergo suma wynosiła 0.18-  zatem finalny skill wynosił 0.3 + losowo zakreś do 0.18 dając wyniki jak 0.38 czy 0.42 ale nie przekraczając 0.48.

Jedynym nie wyjaśnionym wyjątkiem jest AimingSpeed - należący do kategorii Aiming, lecz jego wartości wynosiły średnio 0.75 co dawało rezultat elektronicznych mordulców.



Zatem co ma mission maker uczynić? Opcji jest kilka, spójrzmy na diagram:

613px-AI_Skill.png



Co wynika z tego diagramu:
- Nieprawdą jest, że poziom trudności wpływa na poziom AI w misjach MP.
- Nadrzędną wartością są wartości ustawione przez setSkill, jeżeli to nie jest wywołane skryptowo przez MM wtedy obowiązuje "slider" poziomu AI (który widać gdy jednostkę się tworzy).


OK teraz co jako MM mogę zrobić by mieć kontrolę nad tym? Według mnie najprostszym sposobem jest korzystanie z DAC'a. W wypadku, gdy MM ma postawione AI najprostszym sposobem jest używanie slidera, lecz to przydziela wszystkim umiejętnościom AIka taki sam poziom %. Można w inicie jednostki / grupy wpisać odpowiednią komendę, który skill ustawi. Opcjonalnie, gdy MM nie planuje np. podziału w danej misji na jednostki partyzantów i jednostki specjalne może postawić jeden trigger na mapie uruchamiany po 5 sekundach od odpalenia misji, który wszystkim jednostkom za jednym zamachem ustawi skill'a.

Wracając do DAC - każdy subskill można z łatwością modyfikować w DAC_Config_Behaviour, gdzie przy spawnie jednostki nadaje mu wartość z przedziału:

Oto linijka gotowa do wklejenia:

 

        //_setSkill = ["aimingAccuracy","aimingShake","aimingSpeed","Endurance","spotDistance","spotTime","courage","reloadSpeed","commanding","general"];
        _setSkill   = [[0.18,0.2],[0.4,0.45],[0.2,0.22],[1,1],[0.9,0.9],[0.5,0.6],[0.8,0.8],[0.4,0.5],[0.65,0.7],[0.4,0.5]];

 



Teraz, najważniejsze - do jakich wartości skillów doszedłem po testach w różnych warunkach dla piechoty (walka na daleki dystans (spotkanie na polu), średni (walka o miasto), bliski (ze względu na teren starcie było na <100m). Poniżej prezentuje sugerowane poziomy skillów dla "zwykłego żołnierza":

aimingAccuracy - od 0.18 do 0.2 - daje to AIkom na tyle celności by być zagrożeniem, ale jednocześnie by nie zdejmować graczy przy pierwszej serii na dalszym dystansie (sławne heady z AK na 600m)
 

aimingShake - od 0.4 do 0.45 - ew. można wyżej - tą wartość trudno zaobserwować i rozgraniczyć od aimingAccuracy
 

aimingSpeed - od 0.2 do 0.22 - spora obniżka z 0.75, który dotychczas był. AI reaguje dostatecznie szybko w bliskim kontakcie, ale nie strzela z laserową precyzją - także częściej dochodzi do "panicznych" serii, gdy AI nagle natknie się na wroga pomiędzy zabudowaniami.
 

Endurance - nie ma znaczenia
 

spotDistance - od 0.8 do 1 - to jeszcze wymaga testów z graczami i jak AI traktuje przeszkody jak drzewa - ale w mojej opinii powinno móc w stanie zauważyć graczy, którzy sielsko przechadzają się po otwartej polanie, ale nie pomiędzy drzewami. Wynik końcowy jest taki, że AI zauważało przeciwnika na polu w zasięgu ~600m i rozpoczynało starcie.
 

spotTime - od 0.4 do 0.6 - głównie odwołuje się to do przetwarzania informacji - jeżeli przeciwnik nas zauważy będzie potrzebował chwili, aby nas zidentyfikować jako wroga.

 

courage - 0.8 do 1 - trudno w Armie symulować taktyczne odwroty AI, lecz przy takiej wartości będzie się zdarzać, że pojedynczy AI który przetrwał z grupy będzie uciekał by dołączyć do innych.
 

reloadSpeed - ~0.5 - wydaje się dziwne, że można to modyfikować, ale gdyby pozostawić tą wartość na 1 wtedy może się wydawać, że AI nigdy nie przeładowuje broni jak w filmach amerykańskich.
 

commanding - od 0.6 do 0.7 - daje to rezultat, gdzie wróg może zostać zaskoczony i zanim przekaże informacje o nas do innych członków danej grupy minie kilka krytycznych sekund.
 

general - od 0.4 do 0.5 - ten subskill jest trudny do oceny, teoretycznie wpływa na wszystko ale specyficznie wyłącznie na szybkość podejmowania decyzji przez AI.



Tymczasem to tyle, chcę zatem uczulić MM by mieli na uwadze poziom AI - może wymagać to prób i błędów zanim się wstrzeli w odpowiedni poziom trudności. Gdy zdobędę dodatkowe informacje czy wyniki testów, wtedy podzielę się nimi w tym temacie. Również z chęcią postaram się odpowiedzieć na pytania dot. AI.

PS: Łatwo też ma się kontrolę nad AI, gdy korzysta się z F3 framework, ale nie np. z DAC. Domyślnie jest to opcja wyłączona. Więcej o F3 w innym temacie. LINK


 

7

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Co do modyfikacji umiejętności AI po przez DAC_config_behaviour to dla użytkowników DACa myślę, że to było oczywiste od początku, sam uskuteczniałem podkręcanie AI, gdy był one niezbyt skuteczne, nawet w grupach (dawno temu i nie prawda). Dziś im raczej trzeba zmniejszać mnożniki.

Co do nakładki ASR większość wiedziała, że coś takiego istnieje, jednak nikt nie wiedział jak na prawdę to działa. Wiedza opierała się jedynie na tym, że "AI są inteligentniejsze". Za to objaśnienie wielkie dzięki.

W rezultacie za samo bardzo czytelne i treściwe opisania zasady "siły" AI wielki plus dla Ciebie jak tylko zejdzie mi limit :)

 

Krótko mówiąc wystarczy stworzyć kilka templateów z case'ami dla behavioura, przykładowo dla klasy specjals, regularna armia, średnio wyszkolona bojówka, partyzantka itp

Edytowane przez kosteK
0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą dodawać komentarze

Dodaj konto

Załóż nowe konto. To bardzo proste!


Zarejestruj nowe konto

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.


Zaloguj się teraz

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.