18+
Ta strona może zawierać treści nieodpowiednie dla osób niepełnoletnich.
Zapamiętaj mój wybór i zastosuj na pozostałych stronach
topic

Boty w Quake 3.

thbrgftvwqe • 2013-07-01, 21:20
Witam serdecznie, kolega podesłał mi pewien temat na 4chanie, który z punktu widzenia dzisiejszego zaawansowania technologicznego wydaje mi się ciekawy. Trochę do czytania jest, ale myślę, że co niektórych to zainteresuje. Pominę niezbyt ciekawe wątki, ale pod koniec wrzucę całe źródło, po angielsku oczywiście.

Annonymous No. 111605203

Boty Quake'a 3 zostały zaprojektowane na prostej sztucznej sieci neuronowej.
Potrafią efektywnie "myśleć", żeby znaleźć najlepszą drogę do zrobienia czegoś. (Zabicie przeciwnika przyp.)
Są w stanie zobaczyć, która z taktyk zadziałała, a która nie, powtarzają taktyki, które przyniosły skutek i unikają tych, które się nie sprawdziły.
Im dłużej grają tym więcej o Tobie wiedzą (uczą się przyp.), sprawdzają Twoje zachowania, i też ich używają. Były to pierwsze uczące się boty w jakiejkolwiek grze.

Kiedy o tym przeczytałem, ustawiłem serwer Quake'a 3 Areny na mojej pirackiej wersji gry, żeby 16 botów walczyło między sobą i zobaczyć jak dobre mogą się stać.
Serwer ustawiłem 4 lata temu, działał przez ten cały czas. Zapomniałem o nim aż do dziś. Mam zamiar sprawdzić co u nich.

Annonymous No. 111605619

Właśnie sprawdziłem, ale z jakiegoś powodu boty tylko stoją. Spróbuję zmienić mapę (sama powinna się zmieniać, ale myślę, że coś się zacięło).

Boxes No. 111605859

>>111605619
To może mieć sens, nie jestem co do tego pewny, ale jeśli to co mówisz jest prawdą, jedynym zwycięskim logicznym ruchem dla nich będzie brak gry.

Annonymous No. 111606064

>>111605619
Może nauczyły się, że najlepszą techniką by przetrwać, jest pokój i stanie tam wieczność, w oczekiwaniu na zbawienie.

Annonymous No. 111606239

>>111606064
Prawdopodobnie myślą, że wynik 0:0 jest lepszy niż 1:1 lub jakikolwiek inny.

Annonymous No. 111606366

>>111606075
Wiedzą kiedy walczyć i uciekać, kiedy mają mało życia, albo, żeby zdobyć broń, to co robią teraz nie pomoże im w wygraniu.

Zmieniłem mapę, a one nadal stoją.
Mam program, który zbiera dane o r*chach graczy na serwerze i oni tam po prostu stoją.
Zaraz pobiorę Quake'a 3 Arenę i zobaczę czy zaczną grać kiedy wejdę na serwer.

Annonymous No. 111606371

>>111605619
Ostateczna strategia przetrwania zdobyta po 4 latach doświadczeń: Nikt nie umiera, jeśli nikt nie zabija.

Osiągnęli coś, czego my nie jesteśmy w stanie.

Pokój.

Annonymous No. 111606616

>>111606366
Założę się, że zabiją Cię w sekundę po wejściu, ponieważ zakłócisz ich koegzystencję.

Annonymous No. 111607946

Okej, to jest naprawdę kurewsko dziwne.
Dołączyłem do serwera i boty nadal po prostu stały, ale najbardziej popie**olone było to, że zaczęły "podążać za mną wzrokiem", chwilę połaziłem, a one nadal się na mnie zerkały.
Podniosłem broń i zastrzeliłem jednego z nich, wszyscy się rozbiegli (i jego i drużyna przeciwnika przyp.) i zebrali bronie, po czym ściągnęli mnie, po tym wysypał się serwer.

Annonymous No. 111608833

Mój boże, właśnie sprawdziłem ich logi. Każdy bot miał swój log.
Każdy z nich zebrał 512MB danych.

Annonymous No. 111609106

>>111608833
Chcę w to uwierzyć, pokaż mi dowód.

Annonymous No. 111610616



Annonymous No. 111610616

>>111610821
To nie są takie typy logów, te są logami taktycznymi, opierają się o to co zadziałało i co nie zadziałało w walce. To są ich wspomnienia.

>>111610902
Człowieku oni zebrali 512 MB danych NA BOTA. 16 botów, czyli 8GB informacji. Te k***y powinny być wdzięczne, że nie usunąłem ich za zaśmiecanie mi dysku.


To by było na tyle po pełną wersję owego obrazka (po angielsku), można skoczyć tutaj. Jest to tylko ciekawostka, nie ma żadnych przesłanek, że to co owy anon wysłał było prawdziwe jednak. Kłamstwo na nic by mu się nie zdało.

Co o tym sądzicie? Tłumaczenie moje, wiem, że koślawe ale na pewno lepsze niż z google lub jego brak i tekst "angielski na poziomie gimbazy."

Wo...........ov

2013-07-01, 23:47
Pomysł fajny, ale fejk z jednego prostego powodu.

Nawet gdyby te boty miały zaimplementowaną sieć uczącą się, to przy trenowaniu i tworzeniu nowych połączeń następowałby wielki wzrost wykorzystanych zasobów, więc po jakimś czasie komputer by się zwyczajnie wyj***ł (stawiam, że kilka godzin). Poza tym współczesne sieci dają mylne wyniki przy przepełnieniu, że nie wspomnę o tym, że programów (a bot tym jest) nie piszę się stricte na sieciach neuronowych, tylko wykorzystuje je się miejscami. Sieci najłatwiej wykorzystać do aproksymacji, klasyfikacji i analizy danych oraz prognoz.

Poza tym 512mb surowego logu przez około 1000 dni to kapkę mało, zwłaszcza, że czasem access log dostępu w głupim apache potrafi zrobić 1gb w miesiącu, a dane są tam tylko nagłówki przeglądarki i adresy ip ^^

PS. Wypowiedź typka z PCFu też nie do końca jest zgodna z faktycznym stanem rzeczy, wydaje mi się, że gość do końca nie pojmuje o co chodzi w sieciach 8-) Poza tym wspominał coś o 32bitowej apce i 8gb logu, przecież log jest przyrostowo zapisywany w trakcie symulacji/działania sieci/programu, więc ch*j ma się to do tego.

Poza tym co on bredzi. Teoretycznie jest to niemożliwe także, albo inaczej: na sprzęcie o nieskończonej mocy jest możliwe stworzenie takiej sieci, ale wynik może nie być taki jak autor przewidział. Uwielbiam jak pismaki cytują znalezionych ekspertów :idzwch*j:

No chyba, że log np. zalogował kilka godzin i boty sie po prostu zwiesiły na resztę dni. 8-)

ptaq666

2013-07-01, 23:58
Z tego artykułu w pdf to wynika, że boty w Quake działają jak każde inne boty (expert systems) korzystając w dodatku z dosyć archaicznych (nie znaczy, że złych) mechanizmów jak reguły produkcyjne. Teraz w systemach wnioskujących modna stała się logika predykatów, która daje trochę więcej możliwości, za to ciężej to potem kontrolować. Fajnie by było zaimplementować w botach jakieś uczenie maszynowe, tylko akurat z sieciami neuronowymi jest ten problem, że łatwo je "przeuczyć" i gdyby tak zostawić boty na 4 lata, to pewnie nie potrafiły by rozpoznać żadnych cech otoczenia dołożonych do gry po tym czasie. Gdybym nie był tak leniwy, to bym spróbował coś takiego ogarnąć, ale wolę się opie**alać czytając sadola :P

bingo100

2013-07-02, 00:21
To i ja trzy grosze dorzucę, bo akurat mam Q3 pod ręką.
Obrazek z logami jest fejkiem, bo katalog Bots jest spakowany w pliku pak0.pk3\botfiles\bots a nie w głównym katalogu gry.
W tymże katalogu są pliki z parametrami (dla przykładu fragment dla bota Xaero, który niemiłosiernie walił z railguna :-) Aha, te parametry można zmieniać jakby się komuś chciało. Np. dać mu 100% celności z raila i zrobić sobie taki challenge, żeby nie dać mu się dorwać to tej broni :-)

xaero_c.c:
//===========================================================================
//
// Name: Xaero_c.c
// Function: Xaero, rank 2
// Programmer: MrElusive (MrElusive@idsoftware.com)
// version: 1
// Tab Size: 4 (real tabs)
//===========================================================================

#include "chars.h"

skill 1
{
CHARACTERISTIC_NAME "Xaero"
CHARACTERISTIC_GENDER "male"
CHARACTERISTIC_ATTACK_SKILL 0.45
CHARACTERISTIC_WEAPONWEIGHTS "bots/xaero_w.c"
CHARACTERISTIC_AIM_SKILL 0.45
CHARACTERISTIC_AIM_ACCURACY 0.75
CHARACTERISTIC_VIEW_FACTOR 0.95
CHARACTERISTIC_VIEW_MAXCHANGE 360
CHARACTERISTIC_REACTIONTIME 0.5

CHARACTERISTIC_CHAT_FILE "bots/xaero_t.c"
CHARACTERISTIC_CHAT_NAME "xaero"
CHARACTERISTIC_CHAT_CPM 400
CHARACTERISTIC_CHAT_INSULT 0.4
CHARACTERISTIC_CHAT_MISC 0.5
CHARACTERISTIC_CHAT_STARTENDLEVEL 0.5
CHARACTERISTIC_CHAT_ENTEREXITGAME 0.5
CHARACTERISTIC_CHAT_KILL 0.5
CHARACTERISTIC_CHAT_DEATH 0.5
CHARACTERISTIC_CHAT_ENEMYSUICIDE 0.5
CHARACTERISTIC_CHAT_HITTALKING 0.15
CHARACTERISTIC_CHAT_HITNODEATH 0.5
CHARACTERISTIC_CHAT_HITNOKILL 0.5
CHARACTERISTIC_CHAT_RANDOM 0.5
CHARACTERISTIC_CHAT_REPLY 0.25

CHARACTERISTIC_CROUCHER 0.05
CHARACTERISTIC_JUMPER 0.95
CHARACTERISTIC_WEAPONJUMPING 0.05
CHARACTERISTIC_GRAPPLE_USER 0.05

CHARACTERISTIC_ITEMWEIGHTS "bots/xaero_i.c"
CHARACTERISTIC_AGGRESSION 0.75
CHARACTERISTIC_SELFPRESERVATION 0.95
CHARACTERISTIC_VENGEFULNESS 0.95
CHARACTERISTIC_CAMPER 0.25

CHARACTERISTIC_EASY_FRAGGER 0.05
CHARACTERISTIC_ALERTNESS 0.95

CHARACTERISTIC_AIM_ACCURACY_MACHINEGUN 0.5
CHARACTERISTIC_AIM_ACCURACY_SHOTGUN 0.5
CHARACTERISTIC_AIM_ACCURACY_ROCKETLAUNCHER 0.5
CHARACTERISTIC_AIM_ACCURACY_GRENADELAUNCHER 0.5
CHARACTERISTIC_AIM_ACCURACY_LIGHTNING 0.5
CHARACTERISTIC_AIM_ACCURACY_PLASMAGUN 0.5
CHARACTERISTIC_AIM_ACCURACY_RAILGUN 0.7
CHARACTERISTIC_AIM_ACCURACY_BFG10K 0.5
CHARACTERISTIC_AIM_SKILL_ROCKETLAUNCHER 0.5
CHARACTERISTIC_AIM_SKILL_GRENADELAUNCHER 0.5
CHARACTERISTIC_AIM_SKILL_PLASMAGUN 0.5
CHARACTERISTIC_AIM_SKILL_BFG10K 0.5

CHARACTERISTIC_FIRETHROTTLE 0.4
}

solteck

2013-07-02, 00:39
wzruszająca historia

kothletino

2013-07-02, 02:25
Quake 3 i łącze poziomu 128 kpbs wspaniałe czasy.
A ile nieprzespanych nocy żeby ogarnąć kolejne poziomy z NIGHTMARE to chyba tylko Bóg wie ...

KMD

2013-07-02, 04:00
k***a
Aż się zacząłem strachać :( Stany lękowe, bo już w ch*j późno...

ale dobrze, że to fejk, ale szkoda, że to fejk

KANIBAL22

2013-07-02, 04:16
ja swego czasu pogrywałem na e+ i nawet fajne wspomnienia mam z tamtego okresu. Teraz z tego co sprawdzałem juz nie ma takiej grywalności i ludzi mniej a w dodatku tak poj***li najnowsza wersje e+ że sie odechciewa grać.

Zimny_browar

2013-07-02, 09:58
Myślące boty? To można zrobić. Taka technika jest teraz a wy mało z zachwytu się nie zesraliście po przeczytaniu tego.

rimogyz

2013-07-02, 12:35
A jeśli ktoś nie ogarnia skąd wzięli na tego fake'a pomysł - "Gry Wojenne" ;)

bloodwar

2013-07-02, 21:19
Mamy 2013 rok i ludzie do tej pory narzekają na "sztuczną" inteligencję i boty o inteligencji ziemniaka w grach, więc niemozliwe żeby w latach świetności Q3 powstało coś, co może się uczyć w sposób tak zaawansowany. Z tego co pamiętam kiedyś czytałem o rankingu inteligencji botów w grach i wygrał jakiś tam bot do Counter-Strike 1.6, bot ten miał parę standardowych opcji (typu zmienianie ścieżki co runda, współpraca z innymi botami np. przy rzucaniu granatów, realizacji celu i campingu) a z bardziej zaawansowanych - "uczenie" się nowych map (bo miał wgrane ścieżki do najpopularniejszych map np. de_dust2 ale potrafił się "nauczyć" sam nowych ścieżek do nowej mapy) i dostosowywanie noszonej broni do przeciwnika (np. jak koleś często wybierał AWM - on też brał częściej AWM niż inną broń) i do obranej taktyki (np. jeżeli kampił na długie to brał snajperkę, ale jak kampił na krótkie to inną). Z ciekawości zainstalowałem CS 1.6, pobrałem bota i powiem krótko - szału nie ma, jeżeli to jest najlepsze co rynek miał do zaoferowania w 2010 roku to tym bardziej niemożliwe jest żeby było coś lepszego wcześniej w Q3

rejzer

2013-07-03, 01:29
jesli to prawda to powiem jedno , o k***a . Nie wiem czemu ,ale mi sie wydaje to na swoj sposob przerazajace.

szponiasty

2013-07-05, 20:47
Nic wyjątkowo skomplikowanego, ale trochę roboty jest. I nie wymaga wcale jakichś ogromnych mocy obliczeniowych... Co prawda bez sieci neuronowych, jedynie na bazie podstawowych algorytmów genetycznych i maszynowego uczenia, ale efekty są w zupełności zadowalające. 512MB danych na bota? Co on tam zapisywał?... W tej chwili wychodzi mi max po 3k rekordów na AI (ok 30kb), średnio ok. 1k rekordów.