1 / 28

Pelisuunnittelumallit

LuK-Seminaari 2006 Antti Rantala. Pelisuunnittelumallit. Mitä suunnittelumallit ovat?. Ratkaisuja tietyissä ympäristöissä usein esiintyviin ongelmiin. Kuvailevat ongelman, sen kontekstin, sekä strategian jolla ongelma voidaan ratkaista. Tarjoavat sanaston jonka avulla suunnittelijat voivat:

briar
Download Presentation

Pelisuunnittelumallit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LuK-Seminaari 2006 Antti Rantala Pelisuunnittelumallit

  2. Mitä suunnittelumallit ovat? • Ratkaisuja tietyissä ympäristöissä usein esiintyviin ongelmiin. • Kuvailevat ongelman, sen kontekstin, sekä strategian jolla ongelma voidaan ratkaista. • Tarjoavat sanaston jonka avulla suunnittelijat voivat: • Kommunikoida tehokkaasti kokemuksesta riippumatta muiden suunnittelijoiden kanssa, sekä myös muiden alojen edustajien kanssa (esim. ohjelmoijat) • Dokumentoida omat oivalluksensa • Analysoida niin omia kuin muidenkin suunnitelmia

  3. Epäluuloja suunnittelumalleista • Suunnittelumalli on tarkka ratkaisu tiettyyn ongelmaan tietyssä kontekstissa • Suunnittelumallit ovat vain ammattislangia, sääntöjä, ohjelmointikikkoja, tietorakenteita... • Tarvitaan erityiset työkalut, jotta suunnittelumalleista olisi hyötyä • Suunnittelumallit takaavat uudelleenkäytettävän ohjelmiston, korkeamman tuottavuuden, maailmanrauhan... • Ei ole todisteita siitä, että suunnittelumallit hyödyttäisivät ketään

  4. Suunnittelumallien historiaa Malleja on käytetty historiassa mm. psykologian, antropologian ja arkkitehtuurin aloilla. • Psykologian historiassa Carl Jung esitteli termin “arkkityyppi”. Arkkityypit ovat merkkejä, jotka kertovat ihmisen mielestä. • Gestaltin psykologiassa psykologit käyttivät malleja terapiansa lähtökohtana • Antropologian historiassa Ruth Benedict tutki ihmisten käyttäytymistä mallien avulla.

  5. Suunnittelumallien historiaa Arkkitehti Christopher Alexander kirjoitti kirjan The Timeless way of Building (1979) • Olennainen dokumentti ohjelmistosuunnittelun historiassa • Määrittelee ongelmanratkaisutekniikan jota voidaan käyttää lukemattomissa ohjelmistosuunnittelun konteksteissa • Arkkitehtuuri ja ohjelmistosuunnittelu hyvin samanlaisia • Perustuvat olemassa olevien järjestelmien tutkimiseen ja mallien etsimiseen niistä

  6. Suunnittelumallien historiaa • “Jos luulet löytäneesi mallin, sinun on pystyttävä piirtämään se” Ohjelmistosuunnittelun alalla Gang of Four (eli Erich Gamma, Richard Helm, Ralph Johnson ja John Vlissides) tutkivat mallien käyttöä ohjelmistosuunnittelussa ja kirjoittivat aiheesta kirjan Design Patterns: Elements of Reusable Object-Oriented Software • Käsite ohjelmistosuunnittelijoiden piirissä

  7. Ohjelmistosuunnittelumalli vs. Pelisuunnittelumalli • Ohjelmistosuunnittelumallit ratkaisevat suunnitteluongelmia ohjelmointitasolla • Pelisuunnittelumallit keskittyvät pelimekaniikan ja -maailman ongelmiin • Peliohjelmoinnissa käytetään luonnollisesti ohjelmistosuunnittelumalleja ja niiden muunnelmia

  8. Pelisuunnittelumallin rakenne Suunnittelumallit sisältävät tyypillisesti seuraavat elementit: 1. Nimi 2. Ongelman kuvaus 3. Ratkaisu 4. Seuraukset 5. Esimerkit

  9. Pelisuunnittelumallien rakenne • Nimi • Suunnittelumallin nimeäminen lisää suunnittelussa käytettävää sanastoa ja auttaa suunnittelemaan korkeammalla abstraktiotasolla • Nimen tulee olla helposti muistettava ja mielikuvia herättävä • Ongelman kuvaus • Kuvaus ongelmasta ja kontekstista jossa se esiintyy • Kuvauksesta käy ilmi tavoite johon halutaan päästä, sekä esteet joita kohdataan matkalla tavoitteeseen

  10. Pelisuunnittelumallien rakenne • Ratkaisu • Yleisen tason kuvaus entiteettien ja mekanismien jär-jestelystä • Ei tarkka kaava tai konkreettinen toteutus, vaan abs-trakti rakenne, joka kuvaa joukon mahdollisia ratkai-suja • Seuraukset • Jokaisella mallilla on seurauksensa. • Suunnittelijan tulee ymmärtää eri ratkaisujen haitat ja hyödyt ja verrata niitä keskenään ennen lopullisen pää-töksen tekemistä • Esimerkit

  11. Pelisuunnittelumalleja • Edustaja (Proxy) • Odotuksenmukainen seuraus (Predictable consequence) • Kivi-paperi-sakset (Paper-rock-scissors) • Etuoikeus (Privileged move) • Suodatin (Filter) • Syötti (Weenie) • Syöttiketju (Weenie chain)

  12. Edustaja (Proxy) Ongelma: On mahdotonta tai ei toivottavaa, että pelitoiminto kohdistuu suoraan kohteeseen. Ratkaisu: Esitellään toinen objekti, jota käytetään edustajana varsinaiselle kohteelle. Edustaja voi-daan sijoittaa ja sitä voidaan liikutella itsenäisesti riippumatta varsinaisesta kohteesta/kohteista. Varsinaiselle objektille asetetut rajoitukset eivät välttämättä päde edustajaan. Samalle kohdeobjektille voidaan luoda useampia edustajia.

  13. Edustaja (Proxy) Seuraukset: Jos pelaajan oletetaan hyödyntävän edustajan ja varsinaisen kohteen välillä olevaa yhteyttä, siitä on viestittävä pelaajalle. Esimerkkejä: Napit/kytkimet/vivut jotka avaavat ovia tai käynnistävät/sammuttavat koneita tms. ovat usein sijoiteltu eri paikkaan kuin varsinainen kohde. Tällaisissa tapauksissa suunnittelija on halunnut erottaa laukaisimen kohteesta saadakseen aikaan kehittyneempää päänvaivaa pelaajalle.

  14. Odotuksenmukainen seuraus (Predictable consequence) Ongelma: Pelaajaa on rangaistava seurauksena teh-dyistä virheistä. Rangaistuksen on oltava riippu-vainen tehdyn virheen laadusta. Ratkaisu: Pelissä voi suorittaa vaan sellaisia toimin-toja, joiden seuraus on pelaajan pääteltävissä. Va-litaan pelimekanismi, joka viestittää odotuksenmu-kaisesta käytöksestä visuaalisella ulkoasullaan luottaen pelaajan tietämykseen (tietämys voi olla peräisin reaalimaailmasta, muista peleistä, ko. pelin aikaisemmista tapahtumista, jne.).

  15. Odotuksenmukainen seuraus(Predictable consequence) Visuaalisen ulkoasun yhtenäisyyttä ei pidä rikkoa, eli objektien, jotka käyttäytyvät samalla tavalla, myös näyttävät samalta. Seuraus: Ei voida toteuttaa yllätyksiä. Juonessa saattaa olla kohtia, joista on mahdotonta päästä ohi ottamatta jonkinlaista riskiä. Mikäli pelaaja pelaa siten, ettei ota tietoisesti riskejä, hän ei ikinä löydä oikeaa ratkaisua em. tilanteessa.

  16. Odotuksenmukainen seuraus(Predictable consequence) Esimerkkejä: Monissa peleissä on tynnyreitä tai laa-tikoita jotka on merkitty jollakin räjähdettä tarkoit-tavalla symbolilla ja näin ollen räjähtävät ampu-essa, tulipallot, liekit ja laava polttavat, vesi hukut-taa jne. Vastaesimerkkinä monista peleistä löytyy myös paljon sellaisia tilanteita, joissa on mahdo-tonta ennustaa tulevaa, kuten “Paina minua” -teks-tillä varustettu nappi, joka laukaisee ansan tms.

  17. Kivi-paperi-sakset (Rock-paper-scissors) Ongelma: Miten välttää ns. huippustrategioita, joiden avulla pelaajan on liian helppo voittaa. Ratkaisu: Laaditaan epätransitiivisia suhteita vaihto-ehtojoukolle, aivan kuten kivi-paperi-sakset -pelissä Seuraus: Pelaaja ei enää löydä yksittäistä strategiaa, joka on optimaalinen kaikissa tilanteessa ja ympä-ristöissä. Pelaajan on kerrattava vanhoja päätöksi-ään, verrattava niitä nykyiseen tilanteeseen ja ym-päristöön ja laadittava näiden perusteella uusi pa-ranneltu strategia.

  18. Kivi-paperi-sakset(Paper-rock-scissors) Esimerkkejä: Monissa strategiapeleissä pelaajan yksiköiden kesken esiintyy kivi-paperi-sakset -voimasuhde, eli yksi yksikkö voittaa toisen mutta häviää kolmannelle jne. Quakessa aseiden ja vi-hollisten välillä on myös em. kaltaisia voimasuh-teita. Eri aseet tehoavat eri tavalla eri vihollisiin, jolloin pelaajan ei ole mahdollista käyttää vain yhtä tiettyä asetta joka paikassa.

  19. Etuoikeus (Privileged move) Ongelma: Joskus jonkin pelientiteetin ei voida antaa vaikuttaa muihin entiteetteihin tai muut entiteetit eivät voi vaikuttaa siihen. Ratkaisu: Luodaan erilaisia liikkumistapoja ja alueita, jotka erottelevat ja suojaavat pelin entiteet-tejä. Nämä liikkumistavat ja alueet eivät ole saa-vutettavissa, ellei niihin pyrkivällä entiteetillä ole ko. Etuoikeutta. Kun pelimaailmassa on tällaisia Etuoikeuksia, maailmaan muodostuu eräänlaisia turvapaikkoja ja -reittejä Etuoikeutetuille entitee-teille.

  20. Etuoikeus (Privileged move) Seuraukset: Riippuen toteutustavasta, Etuoikeus voi olla hyvin kovakourainen tapa tarjota suojaa eri entiteeteille. Huonosti suunnitellut tai toteutetut Etuoikeudet saattavat ärsyttää pelaajaa. Esimerkkejä: DOOMissa eräät viholliset voivat liik-kua happoaltaissa, mutta pelaajan astuessa happo-altaaseen hahmo menettää terveyttään ja lopulta kuolee. Half-Lifessä ja Halossa vihollissotilaita pudotellaan lentävistä ajoneuvoista, mutta tämä kuljetusmekanismi ei ole pelaajan käytettävissä.

  21. Etuoikeus (Privileged move) Pelissä Thief pelaaja voi ennen varsinaisen pelin alkua lennellä pelialueen yllä ja näin tutustua peli-alueeseen. Monissa peleissä vedessä olevat vihol-liset voivat liikkua ja toimia vain vedessä (esim. Quake ja Half-Life). Monissa peleissä lentävät vastustajat voivat suorittaa pelaajalle mahdottomia liikkeitä ja näin ne saavuttavat etulyöntiaseman pelaajaan nähden.

  22. Suodatin (Filter) Ongelma: Jos pelaajan annetaan luoda uusia peli-objekteja, ja/tai uusia objektikombinaatioita, ja/tai liikutella pelin objekteja umpimähkään, tuloksena saatavan pelin kompleksisuus saattaa käydä liian ylivoimaiseksi suunnittelijoille. Ratkaisu: Rajoitetaan paikallista kompleksisuutta suodattimin, esimerkiksi luomalla pienempiä ja helpommin hallittavia, selkeästi määriteltyjä alijoukkoja.

  23. Suodatin (Filter) Seurauksia: Pelaajan vapautta joudutaan rajoitta-maan implisiittisyyden tai selkeyden takia. Vahin-gossa tapahtuva suodatus saattaa johtaa pelin ti-lanteisiin, joita pelaaja ei voi ratkaista. Ideaali-tilanteessa suodatus on silminnähtävä ja selkeä osa pelin maailmaa. Suodatin voi olla tarkoituksenmu-kainen seuraus tai Etuoikeuden tahaton sivuvai-kutus.

  24. Suodatin (Filter) Esimerkkejä: DroidWorks -pelin post mortemista: “Kenttäsuunnittelijamme eivät voi koskaan tietää, minkälainen droidi milloinkin saapuu heidän suun-nittelemiinsa ympäristöihin. Esimerkiksi jyrkkä mäki, kuilu, kapea kanjoni ja matala ovi asettavat rajoitteita sille, minkälaiset droidit pääsevät niissä kulkemaan. Suunnittelijat käyttivät ympäristön ominaisuuksia rajoittamaan pelin kompleksi-suutta.”

  25. Syötti (Weenie) Ongelma: Pelaaja saattaa menettää suuntavaistonsa pelimaailman kehitykseen nähden. Tämä ongelma esiintyy erityisesti peleissä, jossa pelaajan tekemät ratkaisut vaikuttavat juoneen. Ratkaisu: Pelin täytyy antaa pelaajalle selkeitä vinkkejä, jotka osoittavat pelaajalle minne mennä ja mitä tehdä. Seuraus: Pelaaja tulee ajan myötä riippuvaiseksi pe-lin tarjoamasta opastuksesta ja pelaaja hämmentyy mikäli opastus yhtäkkiä loppuu. (kts. syöttiketju)

  26. Syötti (Weenie) Esimerkkejä: Syöttimalli perustuu Walt Disneyn esittämään ideaan siitä, miten massiivisissa 3D-ympäristöissä (Disneyland) vierailijaa on johdateltava samalla tavalla, kuin koiran omistaja kouluttaa koiraansa, eli pitämällä koiran kuonon edessä sopivaa syöttiä ja sen avulla johdattaa koira haluamaansa paikkaan. Tapoja antaa pelaajalle vinkkejä tulevasta ovat mm. Ei-pelaajahahmojen antamat vinkit tai lyhyet kamera-ajot, jotka koh-distavat pelaajan mielenkiinnon esim. lähellä aukeavaan oveen.

  27. Syöttiketju (Weenie chain) Ongelma: Pelaaja menettää suuntavaistonsa, kun oikeaa suuntaa näyttävät elementit yllättäen loppuvat. Ongelma esiintyy erityisesti peleissä, joissa on suuria epälineaarisia ympäristöjä, eli peli ei etene “kuin putkessa”, vaan pelaaja voi joutua palaamaan jo vierailemiinsa paikkoihin juonen edetessä. Ratkaisu: Luodaan katkeamaton ketju Syöteistä, eli pelaajaa johdatellaan koko matkan pelin alusta loppuun.

  28. Syöttiketju (Weenie chain) Seuraukset: Syöttiketjua käyttämällä ei välttämättä voida aikaansaada monihaaraista juonta, jossa pelaaja voisi itse päättää mahdollisista vaihtoehdoista haluamansa. Syöttiketju saattaa siis tehdä pelistä putkimaisen. Esimerkkejä: Super Mario 64:ssä ja Munch's Oddyseessä pelialueella on runsaasti ohjekylttejä ja hahmoja, jotka antavat pelaajalle erilaisia vinkkejä aina pelin kontrolleista tehtävien suorittamiseen asti.

More Related