570 likes | 683 Views
Tekoäly urheilu- ja autopeleissä. Mika Timonen. Sisällysluettelo. Urheilupelit Historia Tekoälyn osa-alueet Tekoälyn tekniikat Parannuskohteet Autopelit Historia Tekoälyn osa-alueet Tekoälyn tekniikat Parannuskohteet Yhteenveto. Urheilupelit. Urheilupelit – Historia.
E N D
Tekoäly urheilu- ja autopeleissä Mika Timonen
Sisällysluettelo • Urheilupelit • Historia • Tekoälyn osa-alueet • Tekoälyn tekniikat • Parannuskohteet • Autopelit • Historia • Tekoälyn osa-alueet • Tekoälyn tekniikat • Parannuskohteet • Yhteenveto
Urheilupelit – Historia • Kaikkien aikojen ensimmäinen urheilupeli: Kuvan lähde: http://en.wikipedia.org/wiki/Pong
Urheilupelit – HistoriaPong • Pong on näkökulmasta riippuen tennis tai pöytätennis peli. • Ensimmäinen kotiin myytävä videopeli. • Julkaisijana Atari • Oli erittäin suosittu.
Urheilupelit – Historia1970-luku • Alkuaikoina pelit olivat erittäin yksinkertaisia. • Koneiden resurssit eivät riittäneet kunnollisen grafiikan tai tekoälyn suoritukseen. • Klassisia kyseisen ajan pelejä Football,Basketball ja Baseball.
Urheilupelit – Historia1980-luku • 1980-luvulla julkaistun Nintendo Entertainment Systemin (NES) avulla urheilupelit saivat suuren sykäyksen ja suosio kasvoi. • 8-bittinen järjestelmä antoi jo sen verran lisää suoritustehoa, että tekoälystä voitiin luoda hieman fiksumpi ja grafiikasta kauniimpaa.
Urheilupelit – Historia 1980-luku • NESin kaudelta yleensä muistetaan pari klassikkoa: • Ice Hockey Kuvien lähde: http://www.geocities.com/nesicehockey/screenshots.html
Urheilupelit – Historia 1980-luku • Double Dribble Kuvat: http://www.consoleclassix.com/gameinfo_doubled_nes.php
Urheilupelit – Historia 1980-luku • World Cup Soccer Kuvat: http://www.nesfiles.com/NES/World_Cup/World_Cup.asp ja http://www.nes-site.com/articles/article_11/02.shtml
Urheilupelit – Historia 1980-luku • Pelit eivät olleet kovinkaan realistisia. • Kaikkia pelaajia ei oltu mallinnettu. • Tekoäly erittäin yksinkertainen. • Tästäkin huolimatta pelit olivat erittäin suosittuja. • Tänäkin päivänä urheilupeleissä olevat pelattavuuden mallit kehitettiin näitä pelejä varten. • Tästä syystä pelattavuudessa ei ole tapahtunut aikoihin mitään innovatiivista. • Etuna pelien oppimiskynnys on vanhalle pelaajalle erittäin matala, sillä kontrollit, pelimekaniikka ja pelistrategia on pysynyt miltei samana vuodesta toiseen.
Urheilupelit – Historia 1990-luku • 90-luvun alkupuolella julkaistiin 16-bittiset pelikoneet (SNES ja Sega Megadrive). • Grafiikka ja tekoäly parantui. • 1990-luku toi mukanaan urheilupelisarjat. • Uusi versio julkaistaan vuoden välein. • Esimerkiksi EA Sportsin NHL-sarjaa on julkaistu vuodesta 1993 lähtien aina tähän päivään saakka. Kuvat: http://www.consoleclassix.com/gameinfo_nhlpa_smc.html
Urheilupelit – Historia 2000-luku • Nykyään pelit jo melkein simulaation tasolla. • Grafiikka on loistavaa: pelaajat on tunnistettavissa naamasta ja liikkeistä. Kuva: www.videogameslife.com
Urheilupelit – Historia 2000-luku • Simulaatiomaisuus näkyy myös: • Tekoäly osaa pelata erittäin fiksusti ja käyttää oikeassa elämässä käytetty tekniikoita. • Madden ja Pro Evolution Soccer-pelit alkavat olla jo liian vaikeita aloittelijoille, koska ne ovat erittäin realistisia. • Tämä ei koske EA:n NHL-pelisarjaa. NHL-peleissä tekoäly on varsin epärealistinen.
Urheilupelit – Tekoälyn osa-alueet • Perinteisin osa-alue on pelaajien tekoäly. • Pelien tullessa yhä simulaatiomaisemmiksi, enää ei riitä pelkästään pelaajien tekoälyn mallintaminen vaan on syytä mallintaa myös koko joukkueen/valmentajan toiminta. • Myös kameran toiminta on mallinnettava. • Kentän reunalta voi löytyä eri osa-alueita joita kannattaa mallintaa. • Yleisö. • Valmentajan ja vaihtopelaajien ”fyysinen” olemus. • Maskotit, cheerleaderit
Urheilupelit – Tekoälyn osa-alueet Pelaajatason tekoäly • Pelaajatason tekoäly vaikuttaa yksittäisen pelaajan tekemiin päätöksiin. • Esimerkiksi kuljettaako vai syöttääkö. • Näitä päätöksiä ohjaa joukkueen yhteinen tavoite, mutta päätökset tehdään kuitenkin pelaajatasolla. • Pelaajilla on usein attribuutteja, jotka kuvaavat pelaajien taitoja. • Attribuutit asetettu vastaamaan oikean maailman esikuvia. • Pelaajatason tekoäly voidaan jakaa kahteen osa-alueeseen: • Taktiseen päätöksentekoon • Animaation valintaan
Urheilupelit – Tekoälyn osa-alueet Joukkuetason tekoäly • Esimerkiksi joukkueen taktiikan valinta ja pelaajavaihdot eivät kuulu kenenkään yksittäisen pelaajan vastuualueisiin, vaan ne on hoidettava valmentajan=joukkuetason tekoälyn toimesta. • Jos joukkuetason tekoälyä ei toteuteta, ovat joukkueen taktiset muutokset joko täysin satunnaisia tai niitä ei tehdä ollenkaan. • Yleensä joukkuetason tekoälyn toteutuksessa käytetään liitutaulujärjestelmää tai singleton-luokkaa (ainokainen-luokkaa?) • Yleisin ongelma joukkuetason tekoälyn toteutuksessa on se, ettei tehtäviä ole jaettu osa-alueisiin ja mallinnettu attribuuteilla.
Urheilupelit – Tekoälyn osa-alueet Muut – Polunetsintä • Polunetsintä • Haastava tehtävä, vaikka pelialue rajattu eikä kentällä ole paljon staattisia esteitä. • Pelaajat, eli dynaamiset esteet liikkuvat kentällä jatkuvasti, minkä vuoksi perinteiset polunetsintäalgoritmit ovat kömpelöitä ja tehottomia. • Perinteisten menetelmien tilalla käytetään kevyitä ja optimoituja menetelmiä, jotka ottavat huomioon myös pelin luonteen.
Urheilupelit – Tekoälyn osa-alueet Muut – Kamera • Kameran sijoitus ja pelin aikainen liikkuminen • Ei yhtä suuri ongelma kuin esimerkiksi toiminta- ja seikkailupeleissä. • Tärkeä osa-alue, koska se vaikuttaa suoraan pelattavuuteen ja pelin tunnelmaan. • Kameran sijoittamisessa yleensä kaksi hyvin ristiriitaista tavoitetta: • Hyvä pelattavuus. • Televisiomainen tunnelma.
Urheilupelit – Tekoälyn osa-alueet Muut – Sekalaiset • Kentän reunalla on yleensä jonkin verran mahdollisia tekoälykohteita. • Valmentajat. • Vaihtopelaajat. • Yleisö. • Maskotit ja cheerleaderit. • Ei vaikuta pelattavuuteen vaan pelin tunnelmaan. • Vaativat yleensä vain hyvin yksinkertaisen tekoälytoteutuksen.
Urheilupelit – Tekoälyn tekniikat • Joukkuelajeissa mahdollisia pelityyppejä on kaksi erilaista: • Pelitilanteen nollaavat lajit (pesäpallo, amerikkalainen jalkapallo). • Jatkuvat eli dynaamiset lajit (jääkiekko, jalkapallo, koripallo).
Urheilupelit – Tekoälyn tekniikatÄärelliset automaatit • Pelitilanteen nollaavissa lajeissa on selkeitä tiloja. • Pelaaja ykköspesällä, pesät tyhjät, jne. • Näin ollen äärellisten automaattien käyttö on varsin itsestään selvä vaihtoehto.
Urheilupelit – Tekoälyn tekniikatSumeat tilakoneet • Myös dynaamisissa lajeissa on tiloja. • B-piste aloitus, rangaistuslaukaus, jne. • Aloituksen jälkeen on kuitenkin vaikea keksiä uusia tiloja tai mahdollisia tilasiirtymiä, sillä pelitilanne muuttuu erittäin nopeasti. • Lisäksi pelaajat joutuvat tekemään jatkuvasti sumeita päätöksiä jokaisella pelin tasolla. • Näin ollen äärellisten automaattien sijaan dynaamisissa lajeissa käytetään usein sumeita tilakoneita. • Toinen vaihtoehto olisi käyttää sumeutta pelaajien havaintotasolla, jolloin tilat olisivat perinteisiä tilakoneiden tiloja, mutta siirtymän laskelmissa käytetään sumeutta.
Urheilupelit – Tekoälyn tekniikatData-driven menetelmät • Koska urheilupeleissä on nykyään valtava määrä pelaajia, pelitapoja ja tilastollista tietoa, käytetään eräänä tekoälyn tekniikkana data-driven menetelmiä (havaintoihin perustuvia menetelmiä?). • Helpottaa tekoälyn pelitasapainon hienosäädössä. • Tekniikkaa käytetään ainakin eri pelitaktiikoiden luonnissa, animaatioiden valinnassa ja pelaajien tilastoissa. • Sen sijaan että taktiikat luotaisiin valmiiksi tekoälylle, luodaan pienempiä toimintatapoja, joita tekoälyn ohjaamat pelaajat voivat suorittaa. Nämä toimintatavat voidaan sitten yhdistää taktiikoiksi.
Urheilupelit – Tekoälyn tekniikatViestintäjärjestelmät • Viestintäjärjestelmiä voitaisiin käyttää: • Pelaajien väliseen kommunikointiin. • Taktiikoiden ilmoitukseen ja vaihtoon lennosta.
Urheilupelit – Parannuskohteet • Urheilupelit eivät ole vielä läheskään täydellisiä. • Ei edes Pro Evolution Soccer. • Ja ei todellakaan NHL pelit. • Parannuskohteet: • Oppiminen. • Pelattavuuden innovaatiot.
Urheilupelit – ParannuskohteetOppiminen • Oppimista ei ole juurikaan käytetty urheilupeleissä. • Voitaisiin käyttää mm. maalikikkojen poistoon. • Tekoäly huomaisi toistuvan kuvion jonka seurauksena syntyy maali Muuttaisi pelitapaansa niin, ettei tällainen kuvio enää toimisi. • Tällöin ihminen joutuisi miettimään uusia pelistrategioita, mikä lisäisi realismia ja pelin ikää. • Myös oman joukkueen pelaajat voisivat käyttää oppimista. • Oppisivat ihmispelaajan pelistrategioita, jolloin tekoäly osaisi pelata paremmin. • Jos oppimista käytetään edellä esitettyihin osa-alueisiin, ei se nosta vaikeustasoa. Oppimista voidaan kuitenkin käyttää myös vaikeustason nostoon esimerkiksi opettamalla vastustajalle ihmispelaajan heikot kohdat ja iskemällä niihin. • Voi kuitenkin tuoda ongelmia, jos kone oppii käyttämään pelin bugeja hyödykseen.
Urheilupelit – ParannuskohteetOppiminen • Oppiminen on yleensä toteutettu vaikutuskarttojen (influence map) ja tilastollisen oppimisen keinoilla. • Vaikutuskartat toimivat niin, että sijoittumistietoja vaihdetaan luomalla uusia sijoittumistietoja, jolloin syntyy myös uusia kannattavia sijoittumistietoja jotka sitten tallennetaan. • Tilastollisessa oppimisessa pidetään yllä yritettyjä toimintatapoja, joista sitten valitaan parhaat tilastollisen analyysin keinoin.
Urheilupelit – ParannuskohteetPelattavuuden uudistus • Pelimekaniikka on pysynyt samana jo vuosia. • Pelifirmat eivät uskalla ottaa riskejä vaan pitävät pelit vuodesta toiseen hyvin samanlaisina. • Näin ollen urheilupeleissä ei esiinny enää innovaatioita. • Pienet uudistukset voisivat tuoda paljon lisää peligenrelle.
Autopelit – Historia • Kuten urheilupelit, myös autopelit ovat aina olleet erittäin suosittuja. • Ensimmäiset autopelit julkaistiin jo 1970-luvun puolivälissä. • Ensimmäiset autopelit tehtiin pelihallien koneille ja ne olivat erittäin yksinkertaisia. • Yleensä tietä esitti kaksi viivaa ja autoa saattoi esittää jokin yksinkertainen hahmo, esimerkiksi pelkkä piste. • Näissä peleissä ei tekoälyä ollut.
Autopelit – Historia 1970-luku • Lähteestä riippuen ensimmäinen ajopeli oli joko Gran Trak (vasen) tai Night Driver (oikea). • Molemmat pelit ovat Atarin julkaisuja • Pelien ainoa tarkoitus on radalla pysyminen Kuvat:http://emustatus.rainemu.com/games/gtrak10.htm ja http://emustatus.rainemu.com/editorial/timeline-main.htm
Autopelit – Historia1980-luku • Autopeleistä tuli erittäin suosittuja 1980-luvulla, kun niitä pääsi pelaamaan pelihalleissa rateilla ja polkimilla ja paremmalla grafiikalla. • Tällöin pelit saivat jo enemmän sisältöä, eikä ajamisen tarkoitus ollut enää pelkästään radalla pysyminen. • Vuonna 1982 potin räjäytti:
Autopelit – Historia1980-luku – Pole Position • Pole Positions • Tuolloin vallankumouksellinen grafiikka. • Vastassa oli tekoälyn ohjaamia autoja. • Mukana aito rata Fuji • Pole Position nosti autopelit kerralla erittäin suosituksi genreksi. Kuva: http://emustatus.rainemu.com/editorial/timeline-main.htm
Autopelit – Historia1980-luku • Tekoäly kuitenkin erittäin pienessä roolissa. • Tekoälyn ohjaamat autot ajoivat vain omaa linjaansa. • Saattoivat vaihtaa kaistaa, joskin satunnaisesti. • Eivät välittäneet ihmispelaajasta ollenkaan. • Vähät resurssit menivät jo grafiikkaan, joten tekoälyn täytyi olla erittäin yksinkertaista. • 80-luvun aikana autopelit siirtyivät myös kotiin muun muassa NES:lle ja Commodore 64:lle.
Autopelit – Historia1990-luku • Prosessori tehon lisääntyessä 1990-luku toi mukanaan simulaatiomaiset autopelit. • Enää eivät kilpa-autoilut olleet pelkästään kilpailijoiden väistelyä, vaan nyt voitiin jo ajaa oikeasti kilpaa vastustajia vastaan. • 1992 ilmestyi Microproselta loistava Geoff Crammond’s Formula One Grand Prix.
Autopelit – Historia1990-luku – F1GP • Geoff Crammond’s Formula One Grand Prix oli tuona aikana ennennäkemättömän hieno autopeli sekä grafiikan, ajomallin että tekoälyn vuoksi. • Grafiikka oli kolmiulotteista. • Ajomalli oli realistinen • Otti huomioon fysiikan lait. • Kilpailijat osasivat ajaa suhteellisen fiksusti. Kuvat: http://en.wikipedia.org/wiki/Formula_One_Grand_Prix_(Geoff_Crammond)
Autopelit – Historia1990-luku • 90-luvulla laitteisto ja pelit kehittyivät hurjaa vauhtia. • Vuosikymmenen lopulla ajomalli ja tekoäly olivat jo lähellä simulaatiota. • Tällöin tuli kaksi uutta autopelityyppiä, joissa tarkoituksena ei ollut enää olla nopein. • Vaan autot olivat pelkästään tapa päästä paikasta A paikkaan B. • Grand Theft Auto • Tai autoja käytettiin aseina muita vastaan. • Interstate ’76 • Carmageddon • Destruction Derby
Autopelit – Historia2000-luku • Nykyään autopelit ovat simulaatioita niin halutessaan. • Grafiikka on myöskin erittäin upeaa. • Tekoäly osaa antaa hyvän vastuksen • Pelit saattavat sisältää useita kymmeniä ratoja ja satoja erilaisia autoja. http://media.www.gamestats.com/media/745/745534/img_3066759.html
Autopelit – Tekoälyn osa-alueet • Perinteisessä kilvanajossa mallinnetaan yleensä vain ratatekoäly. • Uusien pelityyppien myötä on tullut myös uusia tekoälyn kohteita. • Liikenne ja jalankulkijat. • Viholliset ja taistelu. • Ei-pelaajahahmot.
Autopelit – Tekoälyn osa-alueetRatatekoäly • Ratatekoäly on perinteinen tekoälyn osa-alue autopeleissä. • Pitää huolen, että koneen ohjaamat autot pysyvät radalla ja ajavat mahdollisimman nopeasti. • Tavoitteena on ainoastaan olla nopea. • Pitää myös huolen siitä, että koneen ohjaamat autot ajavat realistisesti. • Tätä käytetään myös uusissa pelityypeissä ajomallin toteutukseen.
Autopelit – Tekoälyn osa-alueetRatatekoäly • Toteutuksessa käytetään usein äärellisiä tilakoneita. • Tiloja esim. radalla, hiekalla jne. • Tiloissa parhaat toimenpiteet kyseiselle tilalle. Esim. hiekalla on fiksumpaa hiljentää vauhtia kuin lisätä sitä. • Toimenpiteiden valinnassa on otettava huomioon myös paikka radalla (sisäkaarteessa, ulkokaarteessa, ym.) ja sijainti muihin autoihin. • Hyvin monet pelit käyttävät ajofysiikan ja optimaalisen ajolinjan yhdistelmää tekoälyn toteutukseen. • Optimaalisen ajolinjan laskussa otetaan siis huomioon ajofysiikka.
Autopelit – Tekoälyn osa-alueetRatatekoäly - Optimaalinen ajolinja • Optimaalinen ajolinja on näkymätön ajolinja jota pitkin tekoälyn ohjaamat autot pyrkivät ajamaan. • Optimaalinen ajolinja on joko ohjelmoijan valmiiksi koodaama, tai se lasketaan suorituksen aikana pienimmän kaartuvuuden tekniikalla. • Viereisessä kuvassa ajolinja on saatu kyseistä tekniikkaa käyttäen. • Tekniikkaa ei voi käyttää suoraan kaikissa peleissä. Kuva: Schwab, B., AI Game Engine Programming
Autopelit – Tekoälyn osa-alueetLiikenne • Joissain peleissä hyvin tärkeässä roolissa. • Liikenteen mallinnus pitää sisällään ei-pelaajahahmojen ajomallin, jalankulkijat, liikennevalot, liikennesäännöt, ym. • Usein toteutus on vain juuri ja juuri välttävä. • Ei esim. reagoi pelaajiin ja pelaajien toimiin ollenkaan. • Jotkin pelit osaavat tehdä hieman monimutkaisempia temppuja, kuten esimerkiksi väistää hälytysajossa olevaa poliisiautoa. • Tällaiset toiminnot on yleensä toteutettu tilakoneilla. • Löytyy myös satunnaisuutta, jottei toiminnot näytä toistavan itseään.
Autopelit – Tekoälyn osa-alueetJalankulkijat • Jalankulkijat kuuluvat olennaisena osana liikenteeseen. • Useita jalankulkijatyyppejä • Vihollisia, jotka yrittävät tuhota pelaajan auton. • Ystäviä jotka auttavat pelaajaa. • Työntekijöitä, jotka tienaavat elantonsa kadulta. • Tavallisia ihmisiä, jotka vain kuljeksivat kaduilla. • Jokainen näistä tyypeistä suorittaa omaa tekoälyään. • Toteutettu tilakoneilla, johon on lisätty viestintäjärjestelmä. • Käytetään myös usein laumatekoälyä. • Lisäksi jalankulkijat voidaan mallintaa kahdella eri lähestymistavalla: • Kaikki on vapaata riistaa, jolloin jalankulkijoiden päältä voi ajaa. • GTA ja Carmageddon. • Syytetty mm. moraalin turmelemisesta. • Tai jalankulkijat väistävät aina, eikä niihin voi koskea.
Autopelit – Tekoälyn osa-alueetViholliset ja taistelu • Edellä mainitut jalankulkijat voivat toimia vihollisena. • Esim. poliisit tai vihollisjengiläiset. • Myös toiset autoilijat voivat olla vihollisia. • Tavoitteena on tuhota pelaajan auto joko ampumalla tai törmäämällä. • Interstate '76 on tavallaan FTPS-autopeli. • Käytetään ratatekoäly ja FPS-peleistä tuttua botti-tekoälyä. • Botti-tekoäly huolehtii ihmismäisestä toiminnasta, jolloin koneen ohjaamat autot ampuvat silloin tällöin ohi ja ajavat huonosti. • Ratatekoäly huolehtii ajolinjoista ja -reiteistä.
Autopelit – Tekoälyn osa-alueetEi-pelaajahahmot • Liikenteen lisäksi toiminta-autoiluissa on myös perinteisiä ei-pelaajahahmoja. • Toimivat samoin kuin roolipeleissäkin. • Saadaan tietoa tehtävistä, kaupoista, ym. • Toimivat käsikirjoitetuksen mukaan. • Toiminta ei siis ole älykästä eikä reaktiivista. • Toteutettu purkittamalla ohjelmointivaiheessa valmiita kohtauksia, joita toistetaan pelin kuluessa.
Autopelit – Tekoälyn tekniikat • Edellä jo mainittiin mitä tekniikoita eri osa-alueet hyödyntävät. • Samoja tekniikoita kuin urheilupeleissä. • Äärelliset automaatit. • Viestintäjärjestelmät. • Myös jotain omaa. • Käsikirjoitetut järjestelmät (skriptit). • Geneettiset algoritmit.
Autopelit – Tekoälyn tekniikatÄärelliset automaatit • Äärelliset automaatteja käytetään yksinkertaisena tekoälykehikkona, jonka määrittävät. • Fysiikan lait. • Yksinkertaiset kilpailukohtaiset tavoitteet. • Tilat yleensä yksinkertaisia. • Radalla. • Pois radalta. • Ohita. • Kiihdytä. • Jne.
Autopelit – Tekoälyn tekniikatViestintäjärjestelmät • Viestintäjärjestelmiä käytetään varsinkin liikenteessä. • Koordinoidaan liikkumista esimerkiksi liikennevaloissa. • Voidaan mallintaa varsin monimutkaista liikennettä tehokkaasti ja melko realistisesti. • Yleensä käytetään äärellisten automaattien tukena. • Voidaan myös korvata äärellisillä automaateilla. • Jos pelissä on paljon jalankulkijoita tai liikennettä, on helpoin käyttää viestintäjärjestelmiä joko yksittäisen hahmon tai ryhmän toiminnan kontrollointiin.