Luku 8: Pelimaailmat



Samankaltaiset tiedostot
8/21/2013 TIE PELIOHJELMOINTI ANIMAATIO, AI, MAAILMAT, VERKKO ANIMAATIO SUORA JA KÄÄNTEINEN KINEMATIIKKA LUURANKOANIMAATIO

Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat

T Vuorovaikutteinen tietokonegrafiikka Tentti

Tekoäly ja koneoppiminen metsävaratiedon apuna

Toni Räsänen. Proseduraalinen sisällön generointi

Board Game Lab. 5 Pelimaailma. Materiaalit CC-BY 4.0 Mikko Lampi

Signaalien generointi

Markku Velinen. 2D-pelimaaston generointi

Koostaneet Juulia Lahdenperä ja Rami Luisto. Kochin lumihiutale

Digitaalisen arkkitehtuurin alkeet

Luento 3: 3D katselu. Sisältö

Board Game Lab. 4 Teema. Materiaalit CC-BY 4.0 Mikko Lampi

T Tietotekniikan peruskurssi: Tietokonegrafiikka. Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

Kattopedagogiikka moninkertaista liikuntatilat päiväkodissa!

PROSEDURAALISEN HIIHTOMAAILMAN LUONTI MOBIILIPELILLE UNITY -PELIMOOTTORILLA

Tietotekniikan laitoksen uusi linja

Cloud rendering. Juho Karppinen 49480E

Laskut käyvät hermoille

Venekilpailu! Esteiden väistely ja hahmon ohjaaminen

OHJ-2710 Peliohjelmointi. Syksy 2012 Timo Kellomäki

Matematiikka ja teknologia, kevät 2011

Graze MX Powercore monikerroksisten rakennuksien voimakkaaseen pintavalaistukseen

Matematiikka ja teknologia, kevät 2011

T Tietokoneanimaatio ja mallintaminen. Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio 02/02

Strategiset suunnittelupelit: SimCity ja Civilization

Ampumahiihto. Hiihto. Pelihahmon piirtäminen. Jos tahdot animoida hiihtämisen, Peli muodostuu kahdesta erilaisesta osasta: ensin

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

Symmetrioiden tutkiminen GeoGebran avulla

Proseduraalinen pelisisällön luominen

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Luento 6: Piilopinnat ja Näkyvyys

Visualisoinnin perusteet

TERRASOLID Point Cloud Intelligence

Esitystekniikoita ja visualisoinnin workflow

Videon tallentaminen Virtual Mapista

UPPOPALLOALTAAN SPESIFIKAATIO

AutoCAD blokit. RI Rami Ylä-Pöntinen

KODU. Lumijoen peruskoulu

XXIII Keski-Suomen lukiolaisten matematiikkakilpailu , tehtävien ratkaisut

Maailma visuaalivalmistajan näkökulmasta

Kuva 1: Yksinkertainen siniaalto. Amplitudi kertoo heilahduksen laajuuden ja aallonpituus

Mikael Vilpponen Innojok Oy

Tuulivoiman maisemavaikutukset

Jypelin käyttöohjeet» Ruutukentän luominen

Kenguru 2012 Junior sivu 1 / 8 (lukion 1. vuosi)

Pintamallintaminen ja maastomallinnus

Kenguru 2015 Cadet (8. ja 9. luokka)

Korkeuskartat. Maaston muotojen generointi ja visualisointi. Harmaasävykartat. Spectral Syntetis Noise 1. Spectral Syntetis Noise 2

Teoria. Satunnaismuuttujan arvonta annetusta jakaumasta

2.2. Kohteiden konstruktiivinen avaruusgeometrinen esitys

S09 04 Kohteiden tunnistaminen 3D datasta

Kojemeteorologia. Sami Haapanala syksy Fysiikan laitos, Ilmakehätieteiden osasto

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

laji, jonka suosio kasvaa jatkuvasti

Copyright

Johdatus tekoälyn taustalla olevaan matematiikkaan

Tässä osassa ei käytetä laskinta. Selitä päätelmäsi lyhyesti tai perustele ratkaisusi laskulausekkeella, kuviolla tms.

OPPIMISKYVYKKYYS DIGITALISOITUVASSA MAAILMASSA

Spittelhof Estate. Biel-Benken, Sveitsi, 1996 Peter Zumthor. 50m

Seilailupeli. Piirrä tausta, mm. liukuvärejä kannattaa käyttää Esteet. Piirrä uusi este-hahmo, joka voi olla esim. jäävuori tai merimiina

Jypelin käyttöohjeet» Ruutukentän luominen

Tietorakenteet ja algoritmit

Esimerkkejä vaativuusluokista

Helsingin seitsemäsluokkalaisten matematiikkakilpailu Ratkaisuita

Palloultimate Soveltaminen:

Mitä mahdollisuuksia pelillisyys avaa vakavahenkisessä toiminnassa?

Impedanssitomografia-peli

Algoritmi I kuvioiden ja niille johtavien ajourien erottelu. Metsätehon tuloskalvosarja 7a/2018 LIITE 1 Timo Melkas Kirsi Riekki Metsäteho Oy

5. Grafiikkaliukuhihna: (1) geometriset operaatiot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Topologia Syksy 2010 Harjoitus 9

Tietokonegrafiikka. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

Simulointi. Varianssinhallintaa Esimerkki

Harjoitustyö, joka on jätetty tarkastettavaksi Vaasassa

Kun yritän luoda täydellisen kuvan, käytän aina tarkoin määriteltyjä

1) Maan muodon selvittäminen. 2) Leveys- ja pituuspiirit. 3) Mittaaminen

The Adult Temperament Questionnaire (the ATQ, 77-item short form) AIKUISEN TEMPERAMENTTIKYSELY

JOHDATUS TEKOÄLYYN TEEMU ROOS

Luento 15: Ääniaallot, osa 2

Mekaniikan jatkokurssi Fys102

Luento 6: Geometrinen mallinnus

Ohjeet opettajalle/ oppilaalle

Koura Bars on suomalainen street workout -telineitä suunnitteleva ja toimittava yritys.

Uppgårds Fotisgolf. Tällä radalla pitää potkaista pallo alustalta reikään joka sijaitsee juuri ratalipun kohdalla.

Kosmos = maailmankaikkeus

MILTÄ VALON KAUPUNKI NÄYTTÄÄ NYT?

Työvälineistä komentoihin

Lataa Taittuuko matikka? Lataa

Oppimateriaali oppilaalle ja opettajalle : GeoGebra oppilaan työkaluna ylioppilaskirjoituksissa 2016 versio 0.8

Tehosta valaistustoimintaasi

Tieteellinen laskenta 2 Törmäykset

Tilastotiede ottaa aivoon

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Lauri Karppi j SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI.

Tasogeometriaa GeoGebran piirtoalue ja työvälineet

Puzzle SM Pistelasku

Labyrintti. Pelihahmon toiminta. Piirrä pelihahmo (älä piirrä esim. sivusta, ettei hahmon tarvitse

Piirrä ja/tai maalaa vapaalla tekniikalla ihminen/ihmisiä ja puu/puita.

Viimeistely Ajourien huomiointi puutiedoissa ja lopullinen kuviointi. Metsätehon tuloskalvosarja 5/2018 LIITE 4 Timo Melkas Kirsi Riekki Metsäteho Oy

Juhlitaan yhdessä lapsen oikeuksien sopimusta!

Pelejä tällä ikäluokituksella: FIFA-pelisarja ja Super Mario -pelisarja

Transkriptio:

Satunnaiset kartat Proseduraalinen sisältö Luonnon mallintaminen Lähteitä mm.: Ken Perlinin materiaali satunnaiskohinasta Julian Togeliuksen kurssi PCG:stä (IT University of Copenhagen) Kevin Boucaudinin väitöskirja

Pelimaailmoista Useimmissa peleissä on jonkinlainen fysikaalinen pelimaailma Tyypillisesti maailma on 2- tai 3-ulotteinen; valinta riippuu siitä, mikä palvelee pelin tarkoitusta parhaiten Pohjimmiltaan 2-ulotteinen peli voi näyttää 3- ulotteiselta Suunnittelullisia aspekteja: harmonia, immersio

Mittakaava Pelimaailma on yleensä jokin selvästi rajattu alue: kilparata, kaupunki, planeetta Joissakin peleissä esineet/hahmot maailmassa todellisen kokoisia (simulaatiot), toisissa vain abstrakteja pelimerkkejä (strategiapelit) Sotapeli: saman alueen läpi kulkeminen kestää useita tunteja sotilaalta mutta muutamia sekunteja hävittäjältä vääristymiä: hahmot isompia kuin ympäristö, välimatkojen pienentäminen, ajan nopeutus

Maailman reunat Pelimaailmalle olisi syytä muodostaa luonnolliset rajat (suspension of disbelief) Stadion/kilparata, sisätilojen seinät ja lukitut ovet, läpikulkematon maasto, putkiräiskinnät Lentosimulaattorit? Maailman vastakkaisten reunojen yhdistäminen

Aika Pelaaja haluaa nauttia pelistä koko ajan, mutta todellisuudessa suuri osa elämästä on rutiinia ja odottelua outo aika/epärealistinen nopeus mahdollisuus nopeuttaa peliä esim. Sims, Minecraft Vuorokaudenajat, vuodenajat Elävyys: maailma muuttuu ilmankin pelaajaa Aikarajojen käyttö

Turva - vaara Totten: turvan ja vaaran vuorottelu perustuu evoluutiopsykologiaan avoimet paikat vaarallisia, pelottavia suljetut turvapaikat, joista avointa aluetta voi tarkkailla, mielellään yläpuolella tarkka-ampumisen viehätys, Minecraft Valaistuksella voi myös viestiä turvasta, vaarasta, pyhyydestä helppo tapa yllättää pelaaja

Proseduraalinen sisältö Pelisisältöä voidaan luoda proseduraalisesti eli algoritmien avulla mitä tahansa sisältöä: kartat, radat, puzzlet, rakennukset, luonto, tehtävät, dialogi, säännöt, aseet ja muu tavara, hahmot, vaatteet,... usein hyödynnetään satunnaisuutta esim: Elite, Rogue, Diablo, Dwarf Fortress, Spelunky, Far Cry 2, Civilization, Sudoku, Ludi loputtomasti sisältöä ja pelejä ilman käsityötä?

Pseudosatunnaisluvut Elite (1984): mm. satoja erilaisia tähtiä planeettoineen ja asukkaineen, mutta peli mahtuu kuitenkin 32 kilotavuun? Satunnaislukugeneraattori (RNG) on deterministinen: tuottaa aina saman tuloksen, kunhan siemenluku on sama Koko universumin sisällön voi kuvata yhdellä luvulla: RNG:n siemen! RNG on erinomainen lähde pelisisällölle

Pseudosatunnaisluvut Satunnaislukugeneraattoreita on paljon erilaisia Satunnaisuuden laadussa on eroja korrelaatiota peräkkäisten/lähekkäisten kesken jakson pituus (= monenko jälkeen alkaa alusta) Generaattoreita: linear congruential, Mersenne twister, Mother-of-all, Xorshift

Karttojen luominen Pseudosatunnaisluvuilla voidaan luoda karttoja: tähtikartat (Elite, 4X-pelit) maailmankartat (Civilization) 3d-ulkotilat (korkeuskentät) sisätilat (huoneet, luolastot, rogueliket) esim. Diablo, Worms, Spelunky, Nethack Jokaiseen näistä on omia tekniikoita, joista useimmat melko ad hoc -henkisiä

Kartat Tähtikartan voi yksinkertaisimmillaan luoda arpomalla tähtiä satunnaisiin paikkoihin Maailmankarttoja varten voi simuloida luonnonvoimia (esim. Mei & al.) Kaupunkeja ja provinsseja niiden ympärillä Voronoi-diagrammit Luolastot ja sokkelot: kieliopit, huoneet + käytävät, kaivajat, syvyyteen ensin, virittävät puut, soluautomaatit

Korkeuskentät Korkeuskenttien luomiseen on lukuisia menetelmiä Hiukkasten pudottelu, fault lines, pyöreät mäet Keskikohdan poikkeutus / neliöt ja vinoneliöt Fraktaaliset menetelmät (ehkä eniten käytettyjä) L-systeemit

Perlin noise Ken Perlin on kehittänyt menetelmiä luonnollisen kohinan tuottamiseksi Kohinafunktio tuottaa arvon mielivaltaisessa n- ulotteisen avaruuden pisteessä Esim 2d: arvo jossakin pisteessä perustuu pisteen neljälle kokonaislukunaapurille arvottuihin gradienttivektoreihin pisteen arvo interpoloidaan näistä kokonaislukupisteissä arvo 0 taajuus

Fraktaalinen kohina Perlin-kohinaa voi tuottaa erilaisilla amplitudeilla ja taajuuksilla Kohinasta voi muodostaa oktaaveja: kaksinkertaistetaan taajuus ja puolitetaan amplitudi Summaamalla peräkkäisiä oktaaveja muodostuu fraktaalista kohinaa, jossa on sekä isoja muotoja että pieniä yksityiskohtia Muistuttaa erityisen hyvin maastonmuotoja

Planeetat Esimerkki: Sean O'Neil - astronominen skaala planeettojen pinnat fraktaalista kohinaa planeetan piirto ROAMilla aurinkokunnat: huijarit (impostors) galaksi mittakaavaongelmat: float ei riitä, ja esim. z- puskuri on toteutettu raudalla 32-bittisenä Infinity: The Quest for Earth

Maailmankartat Fraktaalisella kohinalla tai vastaavalla voi luoda karttoja mihin mittakaavaan tahansa muuttamalla datan diskreetiksi saa myös ruutupohjaisen tai vastaavan kartan Esim. Civilization 4:n fanituote Perfect World keskikohdan poikkeutus + mannerlaatat + meteorit + tuulen ja sateen simulointi lisäksi muita muokkauksia pelattavuuden parantamiseksi (esim. uusi maailma)

Hakuun perustuva luominen Proseduraalista sisältöä voi tehdä käyttäen erilaisia hakumenetelmiä sisältö koodataan n-ulotteiseksi vektoriksi erilaisia parametreja voi olla mitä tahansa, vaikkapa neuroverkko määritetään kelpoisuusfunktio esim. heuristiikkoja viihdyttävyydelle sovelletaan mitä tahansa hakualgoritmia usein käytetään evolutiivisia menetelmiä esim: Hastings&al: Galactic Arms Racen aseet

Muuta proseduraalista sisältöä Erilaisia versioita pelisisällöstä voidaan luoda satunnaisesti: vihollisten kasvot, aseet... Satunnaiseen sisältöön voi yhdistää käyttäjien sisällöntuotannon/valinnan (digg-henkisesti) Tekoälyn A-life-sovellukset ovat tavallaan samaa lajia: luodaan vain käyttäytymissäännöt, ja annetaan AI:n elää omaa elämäänsä Proseduraalinen musiikki (Spore), keskustelut (Façade), entä puzzlet ja juonet? Esimerkki proseduraalisuudesta:.kkrieger

Proseduraalisuus: etuja ja ongelmia Etuja: yllättävyys: pelin suunnittelijakaan ei tiedä, mitä kaikkea pelistä löytyy pelisuunnittelijan työtä säästyy loputon sisältö: aina voi luoda uuden maailman Ongelmia: yllätykset eivät aina ole positiivisia keinotekoisen oloiset ja toistuvat tulokset algoritmit usein raskaita ja niitä on vaikea keksiä

Luonto Luonto ei koostu palloista, kolmioista ja muista yksinkertaisista muodoista, vaan uusia yksityiskohtia on jokaisella kokotasolla fraktaalisuus Kaikkia yksityiskohtia ei millään ehditä piirtää, eikä niillä kauempaa katsoessa ole edes väliä LoD on tarpeen ulkotiloissa maaston lisäksi myös kasveissa, materiaaleissa jne. Proseduraalisuus: L-systeemit

Puut Puut yksi yleisimmistä ulkotilojen ongelmakohdista: sekä monimutkaisia että suuria Realistinen puu vaatii 10 000+ monikulmiota mallintaminen proseduraalisesti (L-systeemit) piirtäminen yleensä liian kallista reaaliajassa Mainostaulu (billboard) on yksinkertainen tekniikka puiden piirtoon: kameraa kohti kääntyvä tekstuuri pikselikohtainen on/off-läpinäkyvyys (alfa-testi) yksittäin sopii vain kaukana oleviin puihin muunnelmia puusta: poikkeutus, väri, koko näistä voi rakentaa halvalla kokonaisen metsän

Puut Voidaan käyttää useita mainostauluja per puu kerroksia sopivasti ristikkäin, läpinäkyvyyttä vaihdellen Parempi versio: runko geometriaa, oksat ja lehdet mainostauluja tai pelkät lehdet mainostauluja, jos on varaa animointiin voi käyttää luurankomenetelmää Volymetriset puut: 3d-tekstuuri Globaali valaistus - ainakin AO, esilaskenta?

Ruoho Puutekniikat eivät toimi ruohoon: yksittäiset korret yksinkertaisia, mutta tarvitaan miljoonia tehovaatimukset, laskostuminen Lähellä geometria: proseduraaliset menetelmät Mainostaulut, joissa kussakin iso määrä korsia usein alfa-testattu läpinäkyvyys ei toimi hyvin ylhäältä katsottuna (litteys) parallaksikartat ym. valaistuskikat animointi hankalaa

Ruoho Kaukana tavallinen teksturointi riittää Volymetriset tekniikat melko lähellä katsojaa: 3d-tekstuuri tai useita päällekkäisiä 2dtekstuureita hyvä riippumatta katselusuunnasta vaatii paljon muistia ja tehoa dynaaminen valaistus vaikeaa animointi poikkeuttamalla eri tasoja eri verran sivusuunnassa

Taivas Pilvillä ja säällä voidaan luoda tunnelmaa, ja esim. lentosimulaattoreissa ne ovat pakollisia Yksinkertainen ratkaisu on skybox Taivas koostuu 5-6 teksturoidusta neliöstä (ylös, 4 sivusuuntaan, mahdollisesti alas) Reunat yhteensopivia, jolloin niitä ei voi nähdä Pilviä voi luoda myös mainostauluilla Lentosimulaattoreihin riittämätöntä, koska pilvien sisään ei pääse

Taivas Volymetriset pilvet hienostuneempi ratkaisu Pilvet voidaan rakentaa useista melkein läpinäkyvistä mainostauluista Muutokset aikaansaadaan simuloimalla hitaasti liikkuvaa hiukkassysteemiä Väri voi riippua yläpuolella olevien pilvien määrästä Myös 3- tai 4-ulotteinen Perlin-kohina toimii

Vesi Yksinkertaisimmillaan mereksi tai järveksi välttää (animoitu) teksturoitu taso Realistisempi vesi vaatii geometriaa (aaltoja) ja interaktiota valon kanssa (välkettä) Geometrian voi tehdä monella tavalla: Kohinaa samaan tapaan kuin maaston luomisessa Hiukkasmalli: verkko jousilla yhdistettyjä hiukkasia FFT(Just Cause 2), aaltohiukkaset (Uncharted 3) Simulaatio...

Vesisimulaatio Vesisimulaatio on raskasta 2 lähestymistapaa: hiukkaset ja ruudukot hiukkaset hyvä ratkaisu pienillä vesimäärillä, mutta piirtäminen on vaikeaa käytössä 3d:ssä efektinä, 2d:ssä pelien pohjana ruudukot 3d:nä liian raskaita, mutta korkeuskentät sopivat hyvin jokiin/meriin yhdistelmämenetelmiäkin löytyy Interaktio pelin esineiden kanssa ongelma Esimerkki nopeasta menetelmästä (putket)

Vesi Veden ulkoasu koostuu useista tekijöistä Heijastukset voi luoda ympäristökartalla parempi: peilaa kamera veden suhteen, piirrä uudestaan Läpinäkyvyys: Fresnel-termi Vedenalainen näkymä tekstuuriin, josta luettaessa poikkeutetaan normaalin pohjalta Normaalikartat pienten aaltojen saamiseksi voidaan animoida virran mukaan venyttämällä karttoja Monimutkaisia ilmiöitä, kuten valokeskittymät pohjassa, vaahtopäät, kirkkaat valopisteet (caustics), roiskeet,...

Proseduraaliset kaupungit Satelliittikuvien pohjalta voi rakentaa malleja oikeista kaupungeista Kokonaan proseduraalinen lähestymistapa (Parish, Müller): Generoidaan tieverkko graafina Jaetaan välialueet sopiviksi tonteiksi Generoidaan tonteille rakennuksia Rakennuksille julkisivut valmiista kuvista kooten Generoinnissa käteviä kieliopit