.: Rubriky
plus 1) Poezie a próza
plus 2) Hudba
plus 3) Galerie
mínus 4) Film
mínus 5) Divadlo
plus 6) Věda a technika
plus 7) Mozaika (ostatní)
plus 8) Projekty POSTŘEHU

 .: Chci...
... se stát autorem
... znát lidi kolem Postřehu
... sponzorovat Postřeh
... vložit/upravit článek
Boží Dar
 .: Free MP3 album!
Vinylová budoucnost 2008 Vinylová budoucnost 2007

 .: Články podle data
<<  Listopad  >>
PoÚtStČtSoNe
       1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30       

 .: Online
Stránku si právě čtou 3 lidé.
 .: Informace
magazín Postřeh
ISSN 1803-5639
Národní knihovna ČR:
001686222
TOP 15, Fotogalerie
Chata v České KanaděChataUbytování velkých skupinPenzion v Jižních ČecháchPenzion v KunžakuRybařeníJižní ČechyPenzion StrmilovKomorníkChata u rybníka KomorníkaUbytování Česká KanadaKomorníkUbytování v Jižních Čechách
 .: Login

Jméno (přezdívka)
Heslo


Registrace nového čtenáře

Pokročilá umělá inteligence pro boty

Jakub Raida - Software - 18. 10. 2007 - 2990 přečtení

Counter-Strike 1.5 a 1.6, aneb jak mít něco lepšího, než je rozšířený PODBot a podobní. Pro pokročilé programátory botů.

Něco málo opakování

Bot je výraz pro souhrn počítačem řízených procesů, suplujících někde lidského hráče. Nejedná se v tomto případě jen o boty ve smyslu počítačem řízených postav, ale také populární aim boty, kteří pomáhají lidským hráčům v míření, chat boty, kteří urychlují komunikaci apod. Jednotlivé boty můžete navíc propojovat, čili i player bot může být propojen s aim botem.

Základy (rychlé opakování)

Umělá inteligence se nevytváří pro jednotlivé boty, ale pro jednotlivé mapy. V adresáři s mapami vytvoříme soubor se stejným jménem a příponou .wad, do kterého později nahrajeme údaje o waypointech a chování. Předtím však ještě v rootové složce hry musíme vytvořit základní údaje o sérii botů, což je reakční doba, procentuální přesnost, posloupnost priorit a šance na headshot. V dalším souboru potom nastavíme jména botů, která mohou mít i prefixy a sufixy. A v posledním nastavíme bot vote, kde máme několik základních kategorií: 1, hlášky custom, které se objevují náhodně, 2, vázané na události (death, kill...) a za 3, vázané na klíčová slova v řeči ostatních (lidí i botů). Máme několik konstant, které udáváme s procentem na začátku (%t, %s, %r...).

Samotné vypisování do wad souboru probíhá přes hru spuštěnou v editačním režimu - musíme mít aktivovanou konzoli a deaktivováné hráče, načež se přes příkazovou řádku dostaneme do editace waypointů, kterých je několik druhů, a které musíme po jejich ponastavování na klíčová místa mapy (musí být blízko sebe), pospojujeme trasami. U každého waypointu navíc nastavíme, je-li klečící nebo stojící, nebo jestli jde o camping area, tak musíme nastavit zorný úhel, který se zde nachází mezi dvěma vektory vycházejícími z waypointu. Nakonec provedeme debug a zkusíme umístit boty do hry.

Moudré hospodaření s waypointy

Zorné úhly nastavujeme často, naopak camping nastavíme někde kratší (třeba u krytí dveří), někde delší. Kryjeme-li dveře, uděláme pro jejich průchod dvě různé trasy. Trasa A má při vstupu do dveří waypoint s campingem a při výstupu jen obyčejný průchozí waypoint a pro trasu B to uděláme právě naopak. Campovací waypoint bude mít rozumně nastavený zorný úhel, tedy první vektor bude mířit dejme tomu do levého dolního rohu dveří a druhý vektor do pravé horního rohu dveří (samozřejmě z úhlu pohledu waypointu).

Dále se vyvarujeme propojování dvou campingů, leda bychom na trasu mezi nimi dali velmi malou pravděpodobnost. Pokud nenastavujete pravděpodobnost ručně, pak to jednodušše musíte zařídit tak, aby z danného waypointu vedlo více tras do obyčejných waypointů než do toho druhého campovacího. Rovněž nespojujte mnoho klečících waypointů a nenastavuje dvěma navzájem propojeným waypointům příliš odlišné zorné úhly (třeba o 180°).

Učení

Nechte botovi ukládat informace z minulých kol. Dobré je, nechat ho zkoušet různé zbraně (tedy náhodně se měnící priorita), aby pak na základě úspěšnosti zásahů nastavil pevnou prioritu. Pozor, nespleťte si vstupní hodnotu (konst.) a výstupní (konst. + náh. + zbraň).

Rovněž waypointům, na nichž byl bot

a, zabit
b, nejvíc zraněn
c, nejdéle odloučen od střelby

by měla klesat pravděpodobnost. Pokdu si budete tyto data ukládat, můžete později waypointy s nejnižší užitečností rovnou smazat.

Dále naučte bota odhadu. Na místech, kde nejvícekrát provedl zásah (místem myšlen konec vektoru) ať si bot zapamatuje automatickou střelbu (třebas do zdi), je totiž pravděpodobné, že tam zrovna vběhne někdo do rány. Obdobně házení granátem, místa, od kterých se granát odrazil tak, že následkem byl zásah, by se mohla zapisovat jako místa k dalším hodům. Nikde však nenastavujte 100%, protože by jste tak zastavili evoluci bota a stal by se předvídatelným.

Tak, a doufejme, že nám moc nezchytrají a nepokusí se ovládnout svět :) 


Pro ohodnocení článku musíte být registrovaným čtenářem  [Akt. známka: 0 / Počet hlasů: 0]

 
Informační e-mail Upozornit emailem     Vytisknout článek Vytisknout článek

Komentáře na Facebooku:

Komentáře na Postřehu:
Komentář ze dne: 21.10.2007 20:50:27     Reagovat    Nový komentář
Autor: neregistrovaný - Ivo-Hary (@fofr)
Titulek:
Fakt jsem dlouho myslel, že je to jeden z dalších Jakubových absurdně žertovných článků, kde se jedná o byty jako obuv (anotace občas přeskakuju :-) ).
Potom, co jsem se dostal konečně k otevření článku, bylo hned po srandě. Aby Ti, co se vyznají, pochopili, tak např. vím, že v PC hrách je nějaký "endžín", co to ovšem je, se už nachází zcela mimo rámec mého chápání. Není tedy divu, že jsem článek sice přečetl, ale kdybych četl pojednání o výslovnosti staré korejštiny, byl bych na tom asi stejně. Přesto přeji článku u věci znalých úspěch a ostatním :) !

Komentář ze dne: 16.08.2008 21:33:58     Reagovat    Nový komentář
Autor: neregistrovaný - blade7445 (@)
Titulek: SurviveBatchAnimals
Ahoj :) napisal som program ktory simuluje prezitie jednoduchych organizmov :) Kto by mal zaujem, je to freeware.. je na nom este co robit :) ako kazdy kod da sa i tento vylepsit :) ja som len polozil zaklady, pre Vas :) Je mozne si ho zadarmo stiahnut a lubovolne pouzivat tu: http://www.uloz.to/669141/survivebatchanimals.rar alebo ho kludne aj poslem mailom, moja adresa je blade7445@azet.sk



 .: Služby & akce PT




 

 

(c) Postřeh team 2001 - 2009        postaveno na českém opensource redakčním systému phpRS

 

fotografie

|

grafika

|

hudba

|

literatura

|

umění

|

galerie

|

poezie

|

gramodeska

|

ars polyri

|

věda

|

elektro

|

technika

|

radio

|

bastlení

|

konstrukce

|

schémata

optimalizace PageRank.cz