42
Luku 9: Tekoäly Tekoäly peleissä Agentit Tekniikoita Toimintapelit Taktiset pelit

Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Tekoäly peleissäAgentit

TekniikoitaToimintapelitTaktiset pelit

Page 2: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Tekoäly

● Mitä on tekoäly?– laskennallinen rationaalisuus

– nyt älykäs ei välttämättä ole sitä myöhemmin

– ajattelu vai toiminta

– ihmismäisyys vai rationaalisuus

● Poikkitieteellinen ala: filosofia, matematiikka, psykologia, tietotekniikka, lääketiede, robotiikka, kielitiede

● Paljon matemaattisia menetelmiä

Page 3: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Agentti

● Tekoälyllä varustettu olio usein ympäristöstään irrallinen toimija, jota kutsutaan agentiksi

● Agentin osat: sensorit, aktuaattorit, muisti, tiedonkäsittely

● Agentti toimii jossakin rajatussa ympäristössä● Maailman luokittelua: havainnoitavuus,

deterministisyys, episodisuus, dynaamisuus, diskreettisyys, agenttien määrä

Page 4: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Tekoäly peleissä

● Peleissä tekoälyn tavoitteina mm. luoda pelaajalle haastetta, elävöittää ja monipuolistaa maailmaa

● Vaatimukset hyvin erilaisia eri peleissä● Tarvitaanko verkkopeleissä tekoälyä?

– kaikki haluavat olla sankareita, joten MMO-peleissäkin tarvitaan ”taviksia”

Page 5: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Pelit vs. teknillistieteellinen

● Tekniikassa tekoälyllä pyritään ratkaisemaan ongelmia, peleissä luomaan illuusio järjestä

● Monissa peleissä tekoälyn on tarpeen tehdä tahallaan virheitä

● Peleissä maailma on hallittavissa ja ”omalla puolella”: voidaan tarvittaessa huijata

● Peleissä usein kovemmat reaaliaikavaatimukset

Page 6: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Tekoäly peleissä

● Tekoälytutkimusta on tehty pitkään, mutta vain pieni osa siitä on hyötykäytössä peleissä

● Monet menetelmät vaativat paljon prosessoritehoa, mutta sitä ei usein haluta käyttää tekoälyyn

● Peliagentilta toivotaan luotettavuutta: aina vähintään kohtuullisia päätöksiä

● Oppivia järjestelmiä näkee silloin tällöin peleissä, mutta ennustettavuus on ongelma

Page 7: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Agentteja peleissä

● Ilmeisimmät tekoälyagentit peleissä sivuhahmot: vastustajat, apulaiset jne.

● Myös muita: kameran ohjaus, tutoriaalit, fysiikkaengine, avatarin automatiikka, ”ohjaaja”

● Agentti: olio, joka tekee havaintoja pelimaailmasta ja suorittaa itsenäisesti niistä riippuvia toimintoja

● Tekoälyä eri tasolla: strategian suunnittelusta yksittäisten esineiden toimintaan

Page 8: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Agentteja peleissä

● Laird ja Lent luokittelevat pelitekoälyjä:– taktiset vastustajat (esim. FPS-botit, autopelit)

– ystävät (roolipelit, urheilupelin joukkuekaverit)

– tukihahmot (opastavat pelaajaa, neuvonantajat)

– strategiset vastustajat (suunnittelee, strategiapelit)

● Muita: simulaatiohahmot, selostajat, dynamiikka (juoni, fysiikka, sää, ...), pelaajan sijainen

● Toteutustekniikoita useita● Tekniikoita voi yhdistellä ja luoda hierarkioita

Page 9: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Tekniikoita

● Peleissä käytettyjä perustekniikoita:– Tilakoneet

– Päätöspuut

– Logiikka, sumea logiikka, sääntöjärjestelmät

– Tila-avaruushaku, polunetsintä

– Neuroverkot

– Geneettiset algoritmit

– Parveilualgoritmit

– Influence map

Page 10: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Tilakoneet

● Äärelliset tilakoneet (finite state machine, FSM) on ehkä eniten peleissä käytetty tekniikka

● Toiminta intuitiivista, joten myös pelisuunnittelijoiden käytössä

● Äärellinen määrä tiloja ja siirtymiä niiden välillä● Tavoitteet määräytyvät sen mukaan, missä

tilassa ollaan● Havainnot maailmasta aiheuttavat tilasiirtymiä

Page 11: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Epädeterminismi

● Epädeterministisessä tilakoneessa sama syöte voi aiheuttaa eri tilasiirtymän

– Ilman tätä toiminta on aina samanlaista

– Käytännössä esim. tilasiirtymien todennäköisyydet

● todennäköisyyksiä voidaan päivittää agentin oppiessa

Page 12: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Rinnakkaisuus

● Samaakin agenttia voi ohjata useilla rinnakkaisilla tilakoneilla, joista kukin voi olla hyvinkin yksinkertainen

● Toimii parhaiten, jos tilakoneet ovat toisistaan riippumattomat

● Tilakoneita voi synkronisoida esim. jaetulla muistilla tai yhteisillä tilasiirtymillä

● Synkronisoiduilla tilakoneilla voi toteuttaa myös pienen tiimitekoälyn

Page 13: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Etuja ja haittoja

● Tilakoneiden hyviä puolia:– paljon tutkimusta ja teoreettista taustaa

– helppo esittää ymmärrettävästi

– sopivat hyvin alimmalle, taktiselle tasolle

● Huonoja puolia:– paisuvat nopeasti jos niillä yritetään mallintaa liikaa

– sellaisenaan rajoittuneita

– helposti liian ennalta-arvattavia, oppiminen vaikeaa

Page 14: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Päätöspuut

● Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista toimintaa

– Koostuvat kysymyksistä (usein binäärisiä), joiden vastaus määrää, mihin lapseen edetään

– Solmussa on haluttu toiminta (tai hierarkisen puun tapauksessa toinen päätöspuu)

– Oikeastaan siis vastaavat kasaa if-lauseita

● Yhdistäminen tilakoneisiin: suoritettava tilasiirtymä valitaan päätöspuun avulla

Page 15: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Päätöspuut

● Varsinaisesti hyödyllisiä päätöspuista tulee, kun niitä aletaan muodostaa saadun palautteen perusteella lennossa

● Hyvin yksinkertaisesti toteutettava oppiminen– Esim. Black & White ja Quinlanin ID3-algoritmi

● Perustuu informaatioteoriaan: otetaan saadusta palautteesta maksimaalinen hyöty päätöspuun kysymyksillä

● Laajempi versio: behavior trees

Page 16: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Tila-avaruushaku

● Tila-avaruushaun idea on tutkia toimintojen mahdollisia seurauksia etukäteen ja löytää näin paras tai ainakin kelvollinen toiminto

● Maailma diskretisoidaan; tila-avaruuden tila vastaa maailman yhtä tilaa ja siirtymät niiden välillä mahdollisia toimintoja

● Tila-avaruus luodaan agentin saatavilla olevista tiedoista maailman toiminnasta (säännöistä)

● Syntyy puumainen rakenne, jonka juurena on tämänhetkinen tilanne

Page 17: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Tila-avaruushaku

● Tila-avaruus sisältää kaikki tilat, joita tästä tilasta voi sääntöjen mukaisesti seurata

● Pyritään valitsemaan toimintojen sarja, jonka seurauksena tila on agentille edullisin

● Useimmissa peleissä tila-avaruus on liian laaja edes rakennettavaksi kokonaan

● Lisäksi yleensä kaikki tekijät eivät ole agentin hallittavissa: viholliset, satunnaisuus

● Jako omiin siirtoihin ja muihin siirtoihin

Page 18: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Tila-avaruushaku

● Koska tila-avaruutta ei rakenneta pelin loppuun saakka, täytyy lehtisolmujen arvo määritellä– Esim. shakissa voi kannattaa uhrata kuningatar, jos

seuraavalla vuorolla saa matin; mutta jos puu katkeaa tässä välissä, voi uhraus näyttää erittäin huonolta idealta

● Käytännössä tila-avaruuden karsiminen jollakin menetelmällä on pakollista, ja tätä varten solmujen arvon arviointi on keskeistä

● Algoritmeja: A*, min-max, alfa-beta-karsinta

Page 19: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Tila-avaruushaku

● Tila-avaruushakua käytetään eniten lautapeleissä ja abstrakteissa strategiapeleissä– lautapeleissä usein alfa-beta-karsintaa

– rubikin kuution ratkaisemiseen A*

● Modernien pelien tila-avaruudet olisivat hyvin laajoja ja diskretisointi hankalaa

● Moderneissa peleissä on silti joitakin osa-alueita, joihin tila-avaruushaku sopii– Polunetsintä (A* muunnelmineen)

Page 20: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Sääntöjärjestelmät

● Sääntöjärjestelmät (Rule-Based Systems) perustuvat loogiseen päättelyyn

● Säännöt ovat muotoa ehto → reaktio● Reaktio ei välttämättä ole toiminto, vaan se voi

olla myös havainto tai päätelmä● Sääntöjärjestelmän osat: säännöt, muisti, tulkki● Käytetään paljon asiantuntijajärjestelmissä● Säännöt voivat olla esim. propositio-,

predikaatti- tai sumeaa logiikkaa

Page 21: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Sääntöjärjestelmät

● Esimerkki:– näkyy(vihollinen) → pakene()

– nälkä AND hallussa(ruoka) → syö(ruoka), NOT hallussa(ruoka)

– nälkä AND näkyy(ruoka) → poimi(ruoka), hallussa(ruoka)

– nälkä → etsi(ruoka)

– TRUE → nuku()

● Tässä valitaan ensimmäinen, jonka ehto toteutuu (voisi olla myös paras, tarkin, ...)

Page 22: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Sääntöjärjestelmät

● Hyviä puolia:– yksinkertainen ja luonnollinen

– modulaarinen (sääntöjä helppo lisätä ja poistaa)

– valmiita ratkaisuja olemassa

● Huonoja puolia:– yksinkertaisuudesta johtuen arvattava

– hidas, jos sääntöjä on paljon

– ei sovellu pitkän tähtäimen suunnitteluun

Page 23: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Suunnittelu

● Loogista päättelyä voi käyttää myös pidemmälle suunnittelevien, tavoitteellisten agenttien toteutukseen

● Paljon tutkittu aihe sekä teknistieteellisellä alalla että peleissä

● Maailma kuvataan formaalisti, esim. logiikalla● Agentilla käytössään sääntöjä, jotka koostuvat

esiehdosta (milloin sääntöä voi käyttää), toiminnosta (mitä tehdään) ja jälkiehdosta (millainen maailma on toiminnon jälkeen)

Page 24: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Suunnittelu

● Agentti toimii seuraavasti (regression planning):– Valitaan tavoite (voi olla kiinteä)

– Tutkitaan, minkä sääntöjen jälkeen tavoite voisi toteutua

– Niin edelleen etsitään, minkä sääntöjen avulla niiden esiehdot tulevat voimaan

– Jatketaan kunnes löydetään polku nykytilasta tavoitteeseen

● Yo. kuvaus on hyvin abstrakti, käytännössä menetelmiä on erilaisia

Page 25: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Suunnittelu● Käytännön peleissä ei niin helppoa, koska

sääntöjä ja faktoja on liikaa● Esiehtojen määrä säännöissä voi olla valtava

– Esim. Matti haluaa leipää, jota saa kaupasta● Esiehtoja: Matilla rahaa, kaupassa leipää,

kauppa auki, kauppias elossa, ei zombieinvaasiota matkan varrella...

● Jos itsestäänselvä esiehto unohtuu mainita mallissa, koko suunnitelma voi epäonnistua

● Partial order planner, GOAP

Page 26: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Neuroverkot

● Neuroverkot jäljittelevät ihmisaivojen toimintaa● Verkko koostuu neuroneista ja niiden välisistä

yhteyksistä● (Yleensä) järjestetään kerroksiksi: syötekerros,

0 tai useampia välikerroksia, ulostulokerros● Jokaisesta neuronista yhteys jokaiseen

seuraavan kerroksen neuroniin● Toiminta koodattuna yhteyksien painokertoimiin● Oppiminen on painokertoimien muuttamista

Page 27: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Neuroverkot

● Painokertoimia muutetaan opetusnäytteiden perusteella, yleisin algoritmi tähän on nimeltään back-propagation

● Neuroverkko lopultakin oppii ”vain” jonkin funktion syötteen ja ulostulon välillä

● Oppiminen vaatii paljon laskemista● Esim. autopelin kuski: syötteinä näkyvät esteet

sijainteineen, ulostuloina kaasu/jarru, ohjaus● Läpinäkyvyyden puute pahin ongelma

Page 28: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Geneettiset algoritmit

● Geneettisissä algoritmeissa (GA) matkitaan luonnonvalintaa

● Pidetään yllä populaatiota, jossa seuraava sukupolvi muodostetaan risteyttämällä (enimmäkseen) parhaiten menestyviä yksilöitä

● Risteytys esim. koodaamalla yksilöt bittijonoiksi ja ottamalla alkuosa toiselta, loppuosa toiselta vanhemmalta

● Yleensä lisäksi mutaatioita

Page 29: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Geneettiset algoritmit

● Mutaatioiden määrä täytyy valita niin, ettei kehitys jähmety, mutta populaatio pysyy kuitenkin elinkelpoisena

● Parhaiden valintaa varten täytyy suorittaa jonkinlainen evaluaatio, mikä voi olla vaikeaa tai ainakin työlästä– Jos yksilöt esim. pelistrategioita, evaluaatio voi olla

pelien pelaamista toisia yksilöitä vastaan

● Tuottaa kohtalaisia, mutta harvoin optimaalisia tuloksia

Page 30: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Geneettiset algoritmit

● Sukupolvia voidaan tarvita paljon, joten ei välttämättä sovi reaaliaikaiseen peliin– Voidaan kuitenkin käyttää etukäteen vaikkapa

pelistrategian optimoimiseen

● Joskus yksinkertainen hill climbing tms. voi olla helpompaa ja tuottaa nopeammin ratkaisuja

– GA usein pelkkä hypetermi

● Tosin evoluution seuraaminen sinänsä on hauskaa, joten joissakin peleissä GA:n toiminta ja hienovarainen ohjailu on osa itse sisältöä

Page 31: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Parveilu

● Parveilu (flocking) mallintaa yksinkertaisista olioista muodostuvien joukkojen käyttäytymistä

– Esimerkiksi linnut, kalat, muurahaiset

– Muurahaiset ja polunetsintä feromoneilla

● Käytetään etenkin sivuhahmojen kuten ihmismassojen liikkumisen luomiseen

● Boids: ero, suuntaus, yhtenäisyys– ajateltavissa voimakenttien avulla, jolloin esteet

ovat luotaantyöntäviä

Page 32: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

A-life

● Keinoelämä (A-life, artificial life) viittaa elämän simuloimiseen keinotekoisessa ympäristössä

● Ei yksittäinen tekniikka, vaan laaja käsite, a-lifeä voi esiintyä monella tasolla

● Esim. ekosysteemit ja päämäärälliset ihmiset● Peleissä voi olla yksinkertaisimmillaan vain sitä,

että pelin hahmoja päivitetään vaikka ne eivät ole lähellä pelaajaa

● Sim-sarjan pelit, S.T.A.L.K.E.R.

Page 33: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Muita menetelmiä

● Sims ja fiksu maasto– esineet osaavat kertoa hahmoille, mitä tarpeita ne

tyydyttävät ja miten niitä käytetään

– mainostus, mitä lähempänä esine on, sitä enemmän se vaikuttaa hahmoon

– koska toiminnallisuus on esineissä eikä itse pelissä, pelistä tulee hyvin laajennettava

● Creatures ja kemialliset eritteet– tunteet aiheuttavat hahmoille yhdisteiden eritystä

– muiden jättämät eritteet vaikuttavat hahmoon

Page 34: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Polunetsintä● Polunetsintä on hyvin yleinen ongelma peleissä

– Lokaalit menetelmät ottavat huomioon van lähialueen: ihmismäisiä

– Globaalit menetelmät vastaavat ihmisen toimintaa, kun käytössä on kartta

● Jos maasto ei suoraan ruudukko, jaetaan konvekseihin soluihin ja portaaleihin

– Syntyy navigaatioverkko

● Algoritmeja: ”törmää ja käänny”, Dijkstra, A*– A*:stä erilaisia versioita: IDA* ym.

Page 35: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Toimintapelin AI

● Muutamia perusideoita, joita toimintapelin AI voi hyödyntää käytöksessään– katsominen: käännytään kohti

– seuraaminen: katsotaan ja liikutaan eteenpäin

– ennakointi: kohteen tulevan sijainnin arviointi

– pakeneminen: katsotaan poispäin ja liikutaan

– välietapit (waypoints): vuorotellen kohteeksi ennalta määrättyjä pisteitä, joiden välillä partioidaan

● esim. käytetään välietappeja jos pelaajaa ei näy, muuten seurataan pelaajaa

Page 36: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Toimintapelin AI

– suojautuminen: etsitään lähin este, vedetään suora pelaajasta esteen keskipisteen kautta ja liikutaan mahdollisimman suoraan tämän suoran varrelle esteen taakse

– yllättäminen: suojan takaa voi hyökätä kun agentti ei enää ole pelaajan näköfrustumin alueella

– ampuminen: usein muistuttaa seuraamista (ennakoinnilla tai ilman), mutta esim. konekiväärillä voi olla erilaista

– joukkuetaktiikat: suojatuli, parit, piiritys

– tilakoneet yleisin tekniikka

Page 37: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Maaston piirteet

● Usein tekoälylle on avuksi, jos sille on etukäteen merkitty kenttään hyödyllisiä piirteitä– polunetsinnän nopeutus: valmiit reitit, konveksi jako

– suojat, kyttäyspaikat, hyökkäyssuunnat, kapeikot

– autopeleissä optimaalinen ajolinja

● Näiden löytäminen automaattisesti on hankalaa tai ainakin aikaavievää

● Usein kenttäsuunnittelijan työtä, mutta silloin niitä täytyy päivittää kentän muuttuessa

Page 38: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Ryhmän liike

● Tekoäly liikuttaa usein joukkoa yksiköitä● Esim. RTS:ien muodostelmat● Synkronisoidut tilakoneet eivät välttämättä

toimi, koska yksiköitä on helposti liikaa● Parveilualgoritmit (boids)● Sotilaallisessa muodostelmassa pysymiselle

korkeampi painoarvo: voimakenttä, joka vetää kohti sotilaan oikeaa sijaintia muodostelmassa

● Avaruuden osittavat tietorakenteet avuksi

Page 39: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Influence map● Ihminen näkee taistelukentästä heti, missä on

kunkin puolen vahva alue ja missä on rintamia● Tekoäly ratkoo ongelmaa influence mapilla

– Kartta jaetaan ruudukkoon● Vaihtoehtoisesti käytetään navigaatioverkkoa,

erityisesti jos pelimaailma on aidosti 3d

– Merkitään kartalle esim. omat (+) ja viholliset (-)● Myös väliaikaiset uhat, esim. kranaatin räjähdys● Yksikön tyyppi (kesto, vahinko) voi vaikuttaa

kertoimena arvoihin

Page 40: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Influence map

● Vaikutus levitetään ympäristöön etäisyyden mukana vähenevän funktion avulla

– Vähenee nopeasti esteiden suuntaan

– Verkossa leviää vain yhteyksien suuntaan

– esim. eksponenttifunktio tai lineaarinen

● Kokonaisvaikutus summa yksiköiden kentistä● Päivityksessä jätetään jokin osuus vanhasta

arvosta voimaan (momentum)● Päivitysväli esim. 0,2 s ... 5 s pelistä riippuen

Page 41: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Influence map

● Kartasta voi tehdä monenlaisia analyysejä– Positiiviset alueet omien hallussa, negatiiviset

vihollisen

– Rintama on siellä, missä arvot ovat lähellä nollaa

– Jos kahden vahvan vihollisalueen välillä on heikko alue, isku sinne saattaa jakaa vihollisen kahtia

– Aikaderivaatan avulla näkee isot hyökkäykset

– Turvallisten reittien etsintä

– Suuri gradientti kuvaa kiisteltyä aluetta

Page 42: Luku 9: Tekoäly - TUNIpeliohj/peliohj2012-09-Tekoaly-webversio.pdf · 2012. 11. 7. · Päätöspuut Päätöspuut (decision trees) ovat yksinkertainen tapa aikaansaada rationaalista

Luku 9: Tekoäly

Strateginen suunnittelu

● Esim. RTS-pelin tekoäly koostuu usein kahdesta kerroksesta: yksittäiset yksiköt kuten toimintapeleissä (tilakone tms.)

● Ylemmällä tasolla strateginen äly● Vastaava äly myös strategiapeleissä, mutta

hierarkiassa voi olla useampia kerroksia● Käytettyjä tekniikoita sääntöpohjaiset

järjestelmät, käsin tehdyt skriptit, suunnittelualgoritmit, influence mapit