PDA

Zobrazit normální verzi : CS1.6 herná AI (Umelá inteligencia)



Military
18-03-22, 18:42
Ako si zrejme mnohý všimli podľa názvu, túto tému som rozbehol už dávnejšie no zrušil som ju po veľmi krátkom čase, dôsledku toho to vyvolalo veľmi negatívnu spätnú väzbu. Kde sa kritizovalo najmä nedostatočné odôvodnenie zrušenia môjho príspevku s mojej strany. A uvedené odôvodnenie bolo podľa mnohých veľmi neadekvátne s mojej strany.

Keďže záujem je stále ešte celkom vysoký ako aj kritika zrušenia plánu na ten príspevok, tak som sa rozhodol to opäť rozbehnúť a zároveň vysvetlím na začiatok dôvody, prečo som ukončil predošlú tému.

Prvý dôvod prečo som tému zrušil aj keď som ju spustil bolo to, že po zložení harmonogramu som zistil že v tejto obsiahlej téme to bude asi na 14 dní písania ak by som sa naozaj držal každého AI módu ktorý som uvádzal že budem rozoberať.

Druhým dôvodom bolo to, ako bolo už naznačené v ukončenej téme a to bolo, že téma umelej inteligencie je veľmi široká, ponúka stovky veci a ľudia mali veľký záujem vedieť aké rozdiely medzi rôznymi druhmi AI sú napríklad medzi AI F a B. Čo ponúkajú a ku tomu som nemal a nemám materiál a chcel som sa tým vyhnúť situácii ktorú nemožno zodpovedať, ako že napíšem umelá inteligencia T má túto funkciu ktorú nemá napríklad J. A niekto by napísal umelá inteligencia J má túto funkciu od minulého roka a podobné situácie.

Čo bude cieľom tejto témy. Rád by som sa naviazal späť na tému ktorú som dávnejšie nedokončil a ukončil, avšak zhrnul by som iba základné veci a podobné nič v obrovskom rozsahu alebo časovom horizonte. Prešiel by som nejaké jedinečné funkcie ktoré je možné nájsť pri rôznych AI, rovnako tak rôzne zaujímavosti a parame. Tiež spôsoby ako by si dokázal bežný užívateľ určitými smermi ručne nastavovať niektoré AI. A spomenul aj to, na čo si treba dať pozor. V podstate veci o ktorých sa najviac písalo, že by sa aspoň o tých mohlo niečo napísať a s tým by som aj túto tému zakončil a s tým aj dlhodobú diskusiu na túto tému.

------------------------------

1) Ak ste tvorca map a robíte ku mape aj trasy pre botov, treba si dať pozor na to aký druh AI používate a je vhodné informovať o tom aj ľudí ktorí sťahujú vašu mapu. Každá AI ma jedinečné správanie a v mnohých prípadoch rôzne stratégie pre pohyb botov ako napríklad ich spracovanie navigácie pre pohyb botov na mape. Väčšina autorov zabúda udávať túto informáciu. Aj keď tvorcovi mapy boti fungujú perfektne, iným hráčom môže AI robiť aj napríklad to, že sa budú zasekávať, či dokonca sa úplne zastavia na rôznych miestach po mape, prípadne ak sú AI veľmi rozdielne sa pohybujú rôzne.

Príklad: (Rozšírené problémy medzi rôznymi AI, ktoré sú však podobné jedna druhej na mapách)

(Skok na vysokú krabicu a pokračovanie v ceste.)

V niektorých prípadoch niektoré AI spracúvajú všetky pokyny na oblasti kam vkročili systematicky, ako vedľa krabice Skok+čupnutie. Bot vyskočí a čupne si a tým sa dostane na vysokú krabicu. Inému hráčovi s inou AI to môže spôsobiť že boti prídu ku krabici a všetci si čupnu a skáču, čím ostávajú úplne zaseknutý pod krabicov. V ich prípade sa používa Skok a oblasť priamo na krabici kam idú, príkaz čupnutie. Bot vykoná príkaz skoku a vchádza do oblasti kde ma čupieť tak si čupne. V prípade že hráčov prehodite. Tak boti skáču vedľa vysokej krabice a nevedia sa na ňu dostať lebo príkaz čupnutia je v oblasti kam ešte len majú vstúpiť.

----------------------------------

2) Rôzne zaujímavosti. Pre hru cs1.6 máte dostupné veľké množstvo AI k stiahnutiu, zdarma aj za €.

Každá AI ponúka množstvo zaujímavých funkcií a je s čoho vyberať.

Veľmi zaujímavá je funkcia "vyrtualneho súpera". Keď sa nepriateľ stratí s dohľadu že zájde za objekt alebo roh steny. Bot ma stále vyrtualneho súpera na okraji tohto objektu po asi 2 až 3 sekundy a pokračuje v streľbe naň, čím vlastne dieruje svojho skutočného súpera za objektom.

Potom sú rôzne zaujímavosti ako šiesty zmysel, bot má tendenciu vyhýbať sa miestam kde umrel minulé kolo, tým donúti hráča meniť miesta ak je snajper.A tým je šanca že hráč skončí v roli bota ktorého zastrelil minulé kolo.

Rôzne AI a ich stratégie, napríklad máte aj AI že boti v súboji môžu vytiahnuť a vrhať dymovnice medzi seba a svojho nepriateľa. Pohybujú sa v skupinách a preferujú tichú chôdzu mimo boj. Neznamená to že iba chodia, ale významný dopad na rozhodovanie o rýchlosti presunú majú aj vzdialenosti medzi bodmi trasy, ak sa pohybujú v úzkych priestoroch alebo na krátke vzdialenosti zvyčajne chodia potichu, ak vo veľkom otvorenom priestore idú na opačnú stranu, zvyčajne bežia. Dokážu reagovať ako celá skupina na neznáme zvuky a vystreli v okolí.

Funkcia rozpoznávanie štítu. Bot rozpozná bota vedľa seba zo štítom a počíta ho ako ďalší objekt terénu v prípade že nabíja, ustupuje môže sa skryť zaňho.

---------------------------------

Rôzne základné parametre nie ultra elitnej AI, ktoré si hráč môže vlastnoručne upravovať a meniť správanie botov v hre jedného hráča.

Táto sekcia sa dokáže rozpísať mimoriadne široko aj na niekoľko dní. Ja sa však budem snažiť držať na zakladnej téme aby sa prebrali +- časté veci.

V sekcii záleží na vašej AI ktorú máte, každá AI môže mať iný výsledok pri rovnakej kombinácii parametrov. Máte rôzne parametre, ja sa budem držať plánov a stratégií v zložke s názvom botprofile najzákladnejších a popíšem tie, ktoré sú najmenej známe.

Skill =
Aggression =
ReactionTime =
AttackDelay =
Teamwork =
Team =
WeaponPreference = none
Cost =
Difficulty =
VoicePitch =
Skin =
AimFocusInitial =
AimFocusDecay =
AimFocusOffsetScale =
AimfocusInterval =
LookAngleMaxAccelNormal =
LookAngleStiffnessNormal =
LookAngleDampingNormal =
LookAngleMaxAccelAttacking =
LookAngleStiffnessAttacking =
LookAngleDampingAttacking =

Všetky tieto hodnoty vytvárajú osobnosť bota, udeľujete parametre každému zvlášť, zároveň tie ovplyvňuje pohľad bota na situáciu v ktorej sa ocitol, počty spojencov, nepriateľov v prípade elitných lepších AI aj vzdialenosti od súperov a mnohé ďalšie. Rozhodovanie a spravanie sa bota sa mení každú sekundu. Veľmi pokročilé AI, majú ešte viac parametrov až napríklad v zriedkavých prípadoch je že napríklad bot spanikari a utečie a vystresovane mieri na vchod ktorým prišiel a dokáže odstreliť hneď svojho spojenca len čo náhle vbehne do miestnosti.

Veľký dopad na situáciu zakladnej AI ma napríklad Cost. Ide o určitý parameter a opatrnosti (vo vysokých hodnotách zbabelosti). Hodnota predstavuje operačnú silu bota a hodnotu jeho vybavenia. V prípade že je hodnota veľmi nízko, bot častejšie cestuje, vchádza do bojov a častejšie riskuje a vždy vbehne do jasnej pasce.
Na druhú stranu ak je hodnota vysoká, bot častejšie ustupuje s boja, menej prenasleduje superov a bojiská a nezvykne vstupovať do oblasti kde umrel spojenec. Pokročila AI ma doplnkové parametre zbabelosť. Kombinacia Cost a Zbabelosť dodávajú botom nepredvídateľné spravanie v každej hre, dokonca umožňujú botovy obísť budovu a zaútočiť zo zadnej strany.

Agression
Ide o veľmi dôležitý parameter, veľmi náročne ovládateľný. Niektoré mody odstraňujú jeho max limit "100" a bot sa stava nadčlovekom. V prípade bežnej AI nie je možné jeho limit dať nad hodnotu 100. Tento parameter určuje napríklad to že bot behá zo strany na stranu počas boja aby bol ťažší cieľ. V prípade že tento parameter dosahuje hodnoty cez 500 bot sa pohybuje šialene, flankuje, kryje sa za objektami a dokáže pri behu a strieľaní chrbtom šplhať po rebríku a aj na ňom zľahka kličkovať zo strany na stranu. V prípade dobre nastavenej skupiny botov s vysokou hodnotou aggresion, dokážu behom niekoľkých sekúnd v oblasti ktorá je zaplnená objektami obkľúčiť hráča zo všetkých strán.

Teamwork
Táto hodnota určuje spoluprácu medzi jednotlivcami v teréne aj na diaľku. Táto hodnota je dobrá aj je vhodne nastavená pre kombináciu s cost. Ak hodnota cost veľmi nízka a teamwork veľmi vysoká, môže dochádzať ku tomu že celý tím sa rozbehne pomôcť jednému a stanú sa úplne všetci obeťou snajpera. Príliš nízke hodnoty znamenajú že bot nemá záujem o to čo sa deje niekde inde a príliš kladne neodpovedá na žiadosť o pomoc, preferuje plnenie hlavného cieľa mapy na úkor všetkého ostatného.

....

Ďalej sú ešte aj rôzne desiatky parametrov rôznych elitných AI.

Napríklad:

WoundThreshold
Expansionism
PanicThreshold
Pacifist

WoundThreshold 1 až 100
Ako vážne bot berie svoje zranenie, ak sú hodnoty vysoké bot preferuje keď je cieľom útoku ustúpiť aby našiel spôsob ako sa dostať do výhody, napríklad čakaním niekoľko kútov vzadu. Vysoké hodnoty sami o sebe sú však nevhodné pre režim s bombou. Boti prežijú veľmi dlho ale dlho obliehajú T bombové pokladiska a CT veľmi dlho útočia

Expansionism
Expanzionizmus je hodnota ktorá botom dáva chuť na dobrodružstvo, ako často sa pohybujú po mape. Vysoké hodnoty sú ideálne pre veľké mapy pri malom počte botov a hráčoch. Na malých mapách však vysoké hodnoty robia veľké riziko.

PanicThreshold
Zbabelosť. Určuje nepredvídateľný zvrat v správaní bota, jeho nedisciplinovanosť až vystresovanie pri ktorom môže s nedbanlivosti zastreliť spojenca ktorý vbehol do jeho úkrytu zo strany s ktorej utiekol pred nepriateľmi. Táto hodnota v dobrej miere v kombinácii s ostatnými parametrami však najlepšie udržuje bota pri živote, pretože môže priamo utiecť ďaleko od istej smrti, nie len ustúpiť o kus späť.

Pacifist
Hodnota určuje nepriateľstvo bota. Ak je hodnota takmer na 100~ dokáže bot ignorovať viditeľného nepriateľa a pokračuje v zneškodňovaní bomby alebo jej pokladaniu. Ak je hodnota vysoká bot začne bojovať v prípade že je tam iba sám proti tomu nepriateľovi. V prípade že je hodnota nízka nerieši rozdiely napríklad medzi tým, či vedie rukojemníkov na záchrannú zónu alebo nie. Môže sa prísť zúčastniť boja na mieste kde žiadajú o pomoc, aj keď sprevádza rukojemníkov na evakuačnu zónu. Tu rozhoduje aj faktor Teamwork.

Baldassare_Cossa
19-03-22, 16:16
Základní ale mírně pokročilou AI, link prosím.

Military
19-03-22, 19:38
Nejaká bližšia špecifikácia? Základná trochu upravená, takých je veľké množstvo. Niečo vám pozriem, ale bolo by lepšie keby si každý stiahol to čo mu vyhovuje.

Neskôr pridané (20~minút):

https://gamebanana.com/tools/5054

Skúsiť tento link, pôvodný odskúšaný je už mimo prevádzky.

Popis.
Z-bots títo boti boli použitý aj v kampani cs1.6 "Union in Arms"

-Títo boti majú veľmi nízke odchýlky v stratégii pre pohyb na rozdiel od originálnych.

- Majú systém veliteľa, dokážu sa naladiť ku elitným AI aj hráčom bez príkazov a tvoria skupiny tým že sprevádzajú hráča alebo elitných botov ako telesná stráž. Túto funkciu je možné zrušiť.

-Vnimajú lepšie kolizie, netlačia sa tak urputne jeden na druhého (mimo boj)

-Inteligentné nabíjanie zbraní. Keď nabíjajú zbraň nebežia bezhlavo vpred, zastavia sa a nabijú. Vďaka vnímaniu kolízii bot za ním čaká asi 2 sekundy až si ten vpredu nabije zbraň, čím ho kryje a nerozdeľujú sa.

-Veľký rozdiel je v tom, ako nakupuje zbrane. Majú jeden bug ak nastavíte že hlavná zbraň ktorú má kupovať má byť pištoľ, nekupuje náboje do nej. Myslím si že to môže byť dôsledok toho že bol súčasťou kampane a tam bolo veľa strážnikov čo nosilo pištole bez náhradných nábojov a hráč im pomáhal.

-V prípade použitia iných rozdielnych AI, ktoré sú kompatibilné jedna ku druhej a tretej je možné utvoriť zložitú hierarchiu ktorá utvorí špecializované skupiny. Od lepších botov po tých najlepších.

Klasický bot
Z Bot --> Hráč
Z Bot --> Elitný bot (Špeciálne bojové kapacity)
Z Bot --> Elitný bot --> Ilegálny bot (Kapacity porovnateľné s expertnými hráčmi s mnohých smerov)