Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
DIRBTINIS INTELEKTAS ŽAIDIMUOSE
Zbignev Monkevič
TurinysDirbtinis intelektas žaidimuose Kelio radimo algoritmai
A* Navigacijos tinklas
Unity navmesh Grupinės elgsenos Prototipai, jų veikimas ir įgyvendinimas
Formacija Paskirstytų vaidmenų grupės DI Minios simuliacija
Įgyta patirtis
Dirbtinis intelektas žaidimuose
Naudojamas sukurti intelekto iliuzija ne-žaidėjo valdomuose veikėjuose
Apribotas priverstinio interaktyvumo realiame laike
Dirbtinis intelektas žaidimuose(2)
Neturi būti maksimaliai efektyvus problemos sprendimas
Turi būti suprantamas žaidėjui bei imituoti mūsų apribojimus
Pagrindinis tikslas - suteikti žaidėjui malonumą
Įtakingiausi DI žaidimuose?
Sim City (gyvo miesto simuliavimas, atsirandančių savybių balansas)
Half-life (interaktyvus cut-scene, pirmas būrio DI)
Total War (tūkstančiai agentų, modeliuojamos karių emocijos)
Sims (emocinės interakcijos tarp veikėjų, žaidėjo pasirinkimų sąveika su centrinė logika)
F.E.A.R. (planuotojas generuoja kontekstinį elgesį, gerai įgyvendintas būrio DI, priešai naudoja aplinką)
Black & White (dizainas, kuris integruoja DI, neuroniniai tinklai, sprendimų medžiai)
DI klaidosSC:BW (dragoon)
Sims (ciklas alkanas & pavargęs)
Black & White (no poo)
Skyrim bucket exploit
2 min. pertrauka
Kelio radimo algoritmaiVienas svarbiausių pagalbinių DI algoritmų
Iš anksto suplanuojamas kelias atsižvelgiant į kliūtis
A* algoritmasf(x) = g(x) + h(x) x - esama viršūnė
g(x) - kaina parsigavimo nuo starto viršūnės iki esamos
h(x) - euristika, įvertinama parsigavimo kaina iš esamos viršūnės iki galutinės
Navigacijos tinklasAbstakti duomenų struktūra
Pakeitė prieš tai naudojamus kelio taškų grafus
Didesnis tikslumas
Mažesnis duomenų kiekis
Unity Navigation Mesh
Unity Navigation Mesh (2)Navmesh Agent
Navmesh Obstacle
Offmeshlink
Mini-žaidimas Pacman'o DI Pacman Arcade
Pacman’o DI4 skirtingų charakterių vaiduokliai
3 skirtingos būsenos
išėjimas iš namuko
energizer piliulė
tunelis
Neatitikimai online ver.Neapsisuka pereinant į “frightened” būseną
Nepradeda “scatter” būsenoje
Išeina iš namuko pagal laiką, o ne suvalgytų piliulių kiekį
Neatitinka originalių vaiduoklių charakterių (?)
Nesumažina greičio tunely
Bakalauro darbo tikslasIšanalizuoti žaidimuose naudojamus grupinės elgsenos algoritmus
Sukurti prototipus
Įvertinti pritaikymo galimybes mobiliems įrenginiams, ištestuoti jų efektyvumą bei greitaveiką
Kodėl mobilieji įrenginiai?Žaidimų industrija – prognozuojama virš 70 mlrd. pelno šiais metas
Mobilieji žaidimai – sparčiausiai augantis industrijos segmentas
500+ mln žaidėjų
Vis dar yra neišnaudotų galimybių
Grupinės elgsenos algoritmaiGrupinė elgsena - tai lokalių sąveikų tarp grupės narių ir jų sąveikos su aplinka rezultatas
Grupė susideda iš subjektų, kurie randasi toje pačioje fizinėje aplinkoje, turi panašų tikslą ir gali elgtis skirtingai, kai yra vieni
Pvz: būriavimasis, išsiskyrimas/susirinkimas, lyderio siekimas, susidūrimų vengimas, tikslo pozicijos sekimas
Grupinės elgsenos algoritmai naudojami žaidimuose
Formacijos – pasitaiko visose realaus laiko strategijose
Būrio elgesys – naudojamas pirmo asmens šaudyklėse, kurios naudoja protinga priešų DI
Minios simuliacija – naudojama daugumoje didelių atviro pasaulio veiksmo-nuotykių žaidimų
Vaidmenų grupės narių – taikomas vaidmenų žaidimuose kur žaidėją lydi DI valdomi veikėjai
2 min. pertrauka
FormacijaFormacija - grupė, kurios nariai bando išlaikyti jų unikalią santykinę poziciją
Tikslas – judėti kartu
Formacija(2)Lyderis
Išsaugomos santykinės startinės pozicijos
Prie kliūčių išsisklaido
Testų rezultatai (1) Formacija
6 testai, nuo paprasto judėjimo iki skirtingų kliūčių ir prasilenkimo testų
Formacija naudojančios grupės prasilenkimo testus įveikdavo greičiau
Mažiau efektyvus negu grupės įveikiant kliūtis del būtino formacijos išsisklaidymo ir suformavimo
Paskirstytų vaidmenų grupė3 skirtingi vaidmenys, kiekvienas būtinas grupei
Gynėjas Žalos darytojas Gydytojas
Paskirstytų vaidmenų grupė(2)Tikslas – išgyventi kuo ilgiau, nugalėti kuo daugiau priešų
Testų rezultatai (2) Paskirstytų vaidmenų grupėŽymiai padidėjo priešų įveikimų kiekis bei išgyvenimo laikas Veikia bent dvigubai efektyviai negu atskirai veikianti grupė
Pasi
kart
ojim
ų ki
ekis
0
8
15
23
30
Išgyventas laikas
0-50 50-100 100-200 200-500 500-1000 1000-5000
Individuali I testasIndividuali II testasGrupinė I testasGrupinė II testas
Minios simuliacijaKolizijų vengimas
Standartinė ir kritinė būsenos
Minios simuliacija (2)Simuliuojama realaus pasaulio situacija – evakuacija, prasidėjus gaisrui
Gali būti naudojama rimtuose žaidimuose
Testų rezultatai (3) Minios simuliacija
Naujausi mobilieji įrenginiai leidžia vaizduoti detalią sceną ir virš 50 animuotų ar virš 100 neanimuotų veikėjų su 30 kadrų per sekundę greičiu
Įrenginys iPhone 5 iPad 2 iPad 4
Animuoti veikėjai 62 15 72
Neanimuoti veikėjai 120 26 136
Įgyta patirtisJei projektui pakanka Unity Navmesh’o funkcijų, drąsiai jas naudokite - palengvins ir pagreitins kūrimo procesą Naujausi mobilieji įrenginiai pakankamai spartūs didelio kiekio veikėjų vaizdavimui vienu metu. Tai suteikia galimybę iki šiol neišplėtotiems žaidimų tipams Pasirinkite įdomią temą rašto darbams
Klausimai