100 likes | 221 Views
BecomePrey. Artificial Intelligence in computer games. Warzone 2100. Jako úplně první RTS strategie plně ve 3D s volnou rotací kamery Neuvěřitelná modifikovatelnost jednotlivých aspektů hry od 3D modelů jednotek, herních map až po skripty umělé inteligence
E N D
BecomePrey Artificial Intelligence in computer games
Warzone 2100 • Jako úplně první RTS strategie plně ve 3D s volnou rotací kamery • Neuvěřitelná modifikovatelnost jednotlivých aspektů hry od 3D modelů jednotek, herních map až po skripty umělé inteligence • plno dosud nepřekonaných revolučních nápadů Obsah práce • Shrnutí základů (teorie) umělé inteligence a možných typů • Hlubší popis hry Warzone 2100 a historie • Historie mé práce a naší organizace Warzone Elite Force (obdoba NEWST) • Popis příprav a programování utilit které později pomáhaly urychlit vývoj a testování BecomePrey • Zevní popis BecomePrey AI a jejího chování • Hluboký popis a dokumentace celého skriptu BecomePrey a všech událostí
Programování BecomePrey AI • Samotné programování až do aktuální verze 2.90PFR zabralo téměř 3 roky • Okolo WEF se seskupila řada zájemců o betatesting BecomePrey • tým betatesterů pro BecomePrey AI. • WEF-Trueblues a WEF-NIKER betatesteři na plný úvazek • + další dobrovolníci např. pro testování na mapách s extrémními podmínkami. • První kroky: • Na programování AI neexistoval žádný editor (dělala se v poznámkovém bloku) musel jsem naprogramovat VSC (VLO&SLO Compiler), který se staral o všechny životně důležité operace při psaní skriptu a hledání chyb a o automatické zálohy.
Důležitá otázka – jak vlastně začít psát vlastní AI? • Warzone 2100 obsahovala vlastní AI zvané 1.10 (podle verze hry ve které byla poprvé použita) • BecomePrey 1.xx založena na modifikovaném skriptu 1.10 (2002) • Postupné oprošťování se od zastaralých metod AI 1.10 a postupný kompletní přepis všech interních skriptů • BecomePrey 2.16 (2004) • -přes 85% skriptu kompletně přepsáno • -přibližně 50% skriptů nejen upraveno pro lepší výkon a kvůli podpoře nových postupů, ale od základů přepsáno do té doby nepoužitými metodami • BecomePrey 2.86 (2005) • Všechny skripty nahrazeny • přes 90% skriptů používá revoluční metody • nejpokročilejší dynamicky přizpůsobivá AI pro Warzone 2100
Problémy: • kvůli předčasnému rozpadu Pumpkin Studios zůstalo v engine Warzone 2100 pár chyb. Problémy viditelné přímo ve hře byly odstraněny, ale některé interní funkce skriptů zůstaly poškozené. Navíc detekce chyb v určitých situacích v kódu totálně selhávala a nevracela číslo řádky s chybou pozdržení vývoje mnohdy i o měsíce. • Příklady poškozených příkazů: • takeOverSingleDroid(DROID droidToTakeOver, INT playerToGain) • takeOverDroidsInArea(INT fromPlayer, INT toPlayer, INT x1, INT y1, INT x2, INT y2) • takeOverDroidsInAreaExp(INT fromPlayer, INT toPlayer, INT x1, INT y1, INT x2, INT y2, INT level, INT max) CTD: -Pokud se někdo zajímá o programování, tyto 3 písmenka mu zajisté nahání husí kůži. Znamenají Crash To Desktop (pád na plochu). Při CTD program spadne bez jakékoliv chybové hlášky díky čemu je nemožné snadno chybu lokalizovat a odstranit. Pokud některý betatester poslal email s předmětem CTD, bylo většinou zle no hodně dlouhou dobu. Mnohdy znamenaly revertování do předchozí verze a znovu-implementování všech změn.
Závěr: Ačkoliv vývoj BecomePrey AI zdaleka neskončil, tato dokumentace (i když velice zjednodušená) může sloužit jako nedocenitelný nástroj pro pochopení složitého skriptu BecomePrey a pomoci tak nové generaci talentovaných programátorů kteří se chtějí podílet na znovuzrození této klasiky. Krátce k historii Warzone 2100 - RTS (strategie v reálném čase) napsaná počátkem roku 1998 společností Pumpkin Studios, distribuovaná společností EIDOS. Po neshodách mezi vývojáři a EIDOS se ke konci roku 1999 Pumpkin Studios dostává do finančních potíží a tým talentovaných programátorů je rozpuštěn. Počátkem roku 2000 se zdálo, že Warzone 2100 je odsouzeno k zapomenutí. Byla však zformována organizace N.E.W.S.T. Sdružení dobrovolníků z celého světa odhodlaných udržet na slunci tuto revoluční a dosud nepřekonanou real-time strategii. NEWST, později Pumpkin-2 a RTS.net bojovali mimo jiné se společností EIDOS o vypuštění zdrojového kódu hry a prohlášení Warzone 2100 za open-source projekt. 30.prosince 2004 bylo jejich mnohaleté volání vyslyšeno, proto si všichni fanoušci tohoto herního žánru mohou být jistí, že jméno Warzone 2100 ještě uslyší…
„With BecomePrey on my side I can‘t lose, You will Become our Prey… „ 7h3 3nd