vanhan ajan seikkailupelin runko
vanhan ajan seikkailupelin runko
Mielessäni olisi seikkailupelin teko/opettelu, eli tarvitsisin esimerkin kuinka tehdä peli joka on monkey Islandin ja muiden seikkailupelien hyvin pelkistetty kaava. Kiitän jo etukäteen neuvoja antaville.
Re: vanhan ajan seikkailupelin runko
jos olet uusi niin suosittelen selailemaan manuaalia aika paljon . seikkailu ja roolipelejä ei tehdä noin vain ..
Re: vanhan ajan seikkailupelin runko
olen tehnyt lähinnä autopelien alkeellisia runkoja, mutta en yllämainittuja pelejä. Olisin kaivannut jonkinlaista esimerkkiä siitä miten totettaa peli missä täytyisi poimia huoneesta avain ja käyttää tätä sitten oveen jotta pääsisi toiseen huoneeseen. En löytänyt oppaista vastaavanlaista esimerkkiä joten päätin kysyä sitä täältä. En siis ole vielä suunnitellut mitään juonta yms. vaan lähinnä harjoittelemassa ohjelman käyttöä.
-
- Active Member
- Posts: 163
- Joined: Fri Aug 31, 2007 7:07 pm
- Location: Helsinki
- Contact:
Re: vanhan ajan seikkailupelin runko
Jos ukkeli - pelaajan hahmo - ei liiku tai liikkuu hyvin vähän ruudulla, on klassinen seikkailupeli sangen simppeli tehdä: Piirretään nätti tausta (tai siis taustoja) ja ladataan se vaikka kuvaksi cb:hen ja näytetään DrawImagella. Keräiltävät esineet ja muut klikkailtavat hommelit piirretään erikseen ja laitetaan coolbasicissa objekteiksi tai kuviksi. Kun hiirellä klikataan (MouseHit) katsotaan osuttiinko johonki tärkeään (objektien tapauksessa komennnon CameraPick manuaalisivu auttaa, kuvilla voidaan käyttää vaikka ImagesOverlappia hiirikursorin kanssa, kun kelataan esineet for-luupilla läpi). Jos sitten vaikka saatiin selville että löyty avain, ni poistetaan se avain objekti pelikentästä ja lisätään inventaarioon.
Jos taustat on monimutkaisia ja halutaan että ukkeli voi silti liikkua melko vapaasti, homma menee vaikeammaksi, koska taustan pitää koostua ainakin kahdesta kerroksesta (esim. ukkelin mennessä pöydän taakse, sen jalkoja ei näy) ja lisäksi tarvitaan vielä kolmas, kaksi värinen kuva joka kertoo mihin voi mennä ja mihin ei (muitakin tapoja on). Reitinhakuälykin astuu siinä vaiheessa mukaan kuvioon, eli suosittelen aloittamaan yksinkertaisesta.
Lyhyesti: piirrä taustakuva, esineet ja ukkeli. Toteuta koodi, joka hiirtä klikatessa katsotaan osuttiinko johonkin tärkeään pisteeseen ja jos osuttiin, toteutetaan sen tapahtuma (esim. jos klikattiin ovea, katsotaan onko mukana avainta, jos on; siirrytään seuraavalle alueelle.) Jos paikat pitää simppeleinä, ukkeli on helppo laittaa myös kävelemään sinne, mihin hiirellä käsketään (tyyliin ei piirrellä esteitä ruudun alimmalle kolmannekselle ja annetaan ukkelin kulkea vapaasti siinä tilassa).
Jos taustat on monimutkaisia ja halutaan että ukkeli voi silti liikkua melko vapaasti, homma menee vaikeammaksi, koska taustan pitää koostua ainakin kahdesta kerroksesta (esim. ukkelin mennessä pöydän taakse, sen jalkoja ei näy) ja lisäksi tarvitaan vielä kolmas, kaksi värinen kuva joka kertoo mihin voi mennä ja mihin ei (muitakin tapoja on). Reitinhakuälykin astuu siinä vaiheessa mukaan kuvioon, eli suosittelen aloittamaan yksinkertaisesta.
Lyhyesti: piirrä taustakuva, esineet ja ukkeli. Toteuta koodi, joka hiirtä klikatessa katsotaan osuttiinko johonkin tärkeään pisteeseen ja jos osuttiin, toteutetaan sen tapahtuma (esim. jos klikattiin ovea, katsotaan onko mukana avainta, jos on; siirrytään seuraavalle alueelle.) Jos paikat pitää simppeleinä, ukkeli on helppo laittaa myös kävelemään sinne, mihin hiirellä käsketään (tyyliin ei piirrellä esteitä ruudun alimmalle kolmannekselle ja annetaan ukkelin kulkea vapaasti siinä tilassa).
Re: vanhan ajan seikkailupelin runko
Selvä kiitoksia vinkistä. Alampa tästä sittee koodamaan.
Re: vanhan ajan seikkailupelin runko
Nyt kun taas pitkästä aikaa olen innostunut tästä projektista niin osaisiko joku neuvoa miten saisi hiiri ikonin muuttumaan useammaksi ikoniksi kuin vain kahdeksi, jonka sain aikaan mousehit komennolla, eli pitäisi saada perus ikonit eri komennoille mitä noissa vanhoissa seikkailupeleissä oli esim puhuminen, kävely, yms.
-
- Member
- Posts: 54
- Joined: Fri Apr 03, 2009 8:12 pm
- Location: Loviisa
Re: vanhan ajan seikkailupelin runko
En ole varma ymmärsinkö kysymystäsi, mutta etkös vain vaihda ikonia sen mukaan mitä teet? Kävely tilanteessa laitat kävely ikonin. Luulen että ymmärsin väärin mutta kuiteski.
Osallistu suuren tilastoon -> viewtopic.php?f=13&t=1756
-
- Advanced Member
- Posts: 364
- Joined: Wed Dec 03, 2008 3:48 pm
- Location: Turku
Re: vanhan ajan seikkailupelin runko
Jos kursorit on objecteja niin kloonaa yleiskursorista kopio(olettaen, että kaikki kursori-objectit on piilotettu) ja tietyissä tilanteissa käytä paintobject-komentoa.
EDIT:
Ketä kiität?
Last edited by skorpioni-cb on Sat May 23, 2009 5:17 pm, edited 1 time in total.
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.
I know not what I know, but I do know that it's not beautiful.
I know not what I know, but I do know that it's not beautiful.
Re: vanhan ajan seikkailupelin runko
Kiitos vinkistä hiiri toimii nyt halutulla tavalla,ongelma oli itse asiassa se etten ollut muistanut pistää muuttujaa haluttuun paikkaan, mutta nyt se on kunnossa.
Re: vanhan ajan seikkailupelin runko
Osaiskohan joku kertoa miten saisi hahmon liikkumaan siihen pisteeseen mitä on hiirellä klikannut, eli kun tuolla kävelykursorilla klikkaa kohtaa mihin haluaa hahmon menevän liikkuisi ukko sitten tapahtuman mukaisesti. kiitoksia jo nyt vinkeistä.
-
- Tech Developer
- Posts: 545
- Joined: Sun Aug 26, 2007 2:43 pm
- Location: Liminka
Re: vanhan ajan seikkailupelin runko
En nyt viitsi suoraa koodia kirjoittaa, mutta hiirtä klikatessa luo uusi objekti hiiren maailmankoordinaatteihin jonka jälkeen käännä hahmo objektin suuntaan pointobjectilla ja liikuttele sitten moveobjectilla.
CoolBasic henkilökuntaa
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Kehittäjä
cbFUN Kello
cbSDL
Whale.dy.fi
<@cce> miltäs tuntuu olla suomen paras
Re: vanhan ajan seikkailupelin runko
Parempi tapa taas on luoda kaksi muuttuja, ja kun klikataan, niin muuttujiin kirjoitetaan hiiren paikka, ja sitten ukkeli käännetään koordinaatteja kohti ja liikutetaan. Koska itsekkin pähkäilin tätä juttua hetken niin pistän pienen esimerkin, valoksi.KilledWhale wrote:En nyt viitsi suoraa koodia kirjoittaa, mutta hiirtä klikatessa luo uusi objekti hiiren maailmankoordinaatteihin jonka jälkeen käännä hahmo objektin suuntaan pointobjectilla ja liikuttele sitten moveobjectilla.
Code: Select all
new_x=0
new_y=0
guy=LoadObject("media\guy.bmp",72)
Repeat
If MouseHit(1) Then
new_x=MouseWX()
new_y=MouseWY()
ElseIf Distance(ObjectX(guy),ObjectY(guy),new_x,new_y)<10
new_x=ObjectX(guy)
new_y=ObjectY(guy)
EndIf
If Distance(ObjectX(guy),ObjectY(guy),new_x,new_y)>10 Then
RotateObject guy,GetAngle(ObjectX(guy),ObjectY(guy),new_x,new_y)
MoveObject guy,2
EndIf
DrawScreen
Until EscapeKey()
Edit: Ehkä se editori kannattaa vaan avata...
Last edited by phons on Mon May 25, 2009 8:42 am, edited 1 time in total.
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: vanhan ajan seikkailupelin runko
Muuten ihan oikein, mutta -GetAngle(), nykyinenhän siirtää objektia suoraan poispäin hiirestä :)
Re: vanhan ajan seikkailupelin runko
Kiitosta taas vinkeistä, tosin ohjelmointi on nyt paripäivää jäissä kun on pitänyt matkustaa kouluun.
Miten muuten pitäisi tehdä hahmon edessä oleva tausta? Itse sain sen muuttamalla tausta objectiksi ja siitä objectorder käskyllä hahmon päälle. Onko se kovin käytännöllistä vai onko jotAin muuTA tapaa
Miten muuten pitäisi tehdä hahmon edessä oleva tausta? Itse sain sen muuttamalla tausta objectiksi ja siitä objectorder käskyllä hahmon päälle. Onko se kovin käytännöllistä vai onko jotAin muuTA tapaa
Re: vanhan ajan seikkailupelin runko
Saat kuvat piirrettyä objektien päälle komennolla DrawGame. Siis kaikki DrawGame-komennon jälkeen piirretyt kuvat piirretään objektien päälle. Käytä komentoa vain kerran silmukassa (poikkeuksena, jos piirrät ruudun sijasta kuvaan ja tarvitset siinä jostain syystä ko. komentoa)
Suosittelen kuitenkin tekemään kaikki kuvat käyttämällä kuvakomentoja. Hahmot, esineet, tausta jne. Silloin ei tarvitse murehtia erillisistä koordinaateista, animoinnista tai piirtojärjestyksestä.
Ota huomioon tämä: hahmosi voi olla tietyn kohteen edessä ja takana, riippuen y-koordinaatista (esim. pöytä). Tällöin pöydän piirtojärjestys täytyy välillä vaihtaa hahmoihin nähden. Jos hahmo on objekti, tulee siitä erittäin työlästä. Ja kun ottaa huomioon muut eri "syvyydellä" olevat esineet sekä hahmon päälle ja taakse piirrettävät kohdat taustasta, voi tietyissä tilanteissa oikeanlaisen piirtojärjestyksen luominen olla mahdotonta käyttämällä sekä objekteja että kuvia.
Ja toivon todella, ettet tee hahmosta ylhäältäpäin kuvattua objektia pyöritysarvolla. Siitä tulee vain älyttömän ruma ja huono systeemi. Jos haluat seikkailupelistä kunnollisen, etkä pelkää piirtämistä, tee hahmosta esim. neljään eri suuntaan animoitu kuva, sekä tietenkin animaatiot esineiden poimimiselle, keskusteluille ja välianimaatioille. Seikkailupelit vaativat paljon piirtämistä.
Edit.
Tässä esimerkki, kuinka piirtää kuva osittain toisen kuvan alle. Esimerkissä on siis YKSI taustakuva, jossa on kohtia jotka piirretään hahmon alle, ja toisia kohtia jotka piirretään hahmon päälle. Piirtojärjestyksen kanssa ei kikkailla millään lailla. Objekteja ei myöskään käytetä.
Koodi toimii näin:
1. Piirrämme taustakuvan.
2. Piirrämme kuvaan lehmä:
2a. Tyhjennetään kuva (cls)
2b. Piirretään alkuperäinen lehmä
2c. Piirretään maski oikeisiin koordinaatteihin (-lehmäX, -lehmäY)
3. Piirrämme kuvan lehmä, jossa on nyt "reikiä" maskin kohdalla. Sattumoisin reiät ovat juuri siinä missä taustakuvan "päällyskerros" ylittää lehmän.
Toinen tapahan olisi tehdä vain kaksi taustakuvaa, toinen alle ja toinen päälle. Mutta sain tämän idean sellaisesta ohjelmasta kuin Adventure Game Studio, jossa käytetään tällaista tapaa.
En tiedä kuinka nopea tuo maskimenetelmä on suurilla kuvilla ja monella hahmolla, mutta kokeilin suorittaa rivit 50-56 viisisataa kertaa putkeen, eikä fps tippunut ollenkaan.
Suosittelen kuitenkin tekemään kaikki kuvat käyttämällä kuvakomentoja. Hahmot, esineet, tausta jne. Silloin ei tarvitse murehtia erillisistä koordinaateista, animoinnista tai piirtojärjestyksestä.
Ota huomioon tämä: hahmosi voi olla tietyn kohteen edessä ja takana, riippuen y-koordinaatista (esim. pöytä). Tällöin pöydän piirtojärjestys täytyy välillä vaihtaa hahmoihin nähden. Jos hahmo on objekti, tulee siitä erittäin työlästä. Ja kun ottaa huomioon muut eri "syvyydellä" olevat esineet sekä hahmon päälle ja taakse piirrettävät kohdat taustasta, voi tietyissä tilanteissa oikeanlaisen piirtojärjestyksen luominen olla mahdotonta käyttämällä sekä objekteja että kuvia.
Ja toivon todella, ettet tee hahmosta ylhäältäpäin kuvattua objektia pyöritysarvolla. Siitä tulee vain älyttömän ruma ja huono systeemi. Jos haluat seikkailupelistä kunnollisen, etkä pelkää piirtämistä, tee hahmosta esim. neljään eri suuntaan animoitu kuva, sekä tietenkin animaatiot esineiden poimimiselle, keskusteluille ja välianimaatioille. Seikkailupelit vaativat paljon piirtämistä.
Edit.
Tässä esimerkki, kuinka piirtää kuva osittain toisen kuvan alle. Esimerkissä on siis YKSI taustakuva, jossa on kohtia jotka piirretään hahmon alle, ja toisia kohtia jotka piirretään hahmon päälle. Piirtojärjestyksen kanssa ei kikkailla millään lailla. Objekteja ei myöskään käytetä.
Koodi toimii näin:
1. Piirrämme taustakuvan.
2. Piirrämme kuvaan lehmä:
2a. Tyhjennetään kuva (cls)
2b. Piirretään alkuperäinen lehmä
2c. Piirretään maski oikeisiin koordinaatteihin (-lehmäX, -lehmäY)
3. Piirrämme kuvan lehmä, jossa on nyt "reikiä" maskin kohdalla. Sattumoisin reiät ovat juuri siinä missä taustakuvan "päällyskerros" ylittää lehmän.
Code: Select all
tausta = MakeImage( 100, 100 )
maski = MakeImage( 100, 100 )
alkuperäinen_lehmä = LoadImage( "media\cow.bmp" ) //ladataan lehmäkuva, jota ei milloinkaan muuteta.
lehmä = CloneImage( alkuperäinen_lehmä )
MaskImage lehmä, cbMagenta //<- lehmän maskiväri ON erittäin oleellinen.
//Kokeile kommentoida rivit 6-21, ja katso mitä käy.
//Muutetaan lehmän maskiväri magentaksi. Se on alunperin musta. Tästä ei tarvitse välittää. Ongelmana
//on vain se, että media-kansiossa olevan lehmän maski on musta, ja me tarvitsemme magentan.
DrawToImage alkuperäinen_lehmä
For x = 0 To ImageWidth( alkuperäinen_lehmä )
For y = 0 To ImageHeight( alkuperäinen_lehmä )
PickImageColor alkuperäinen_lehmä, x, y
If getRGB( RED ) = 0 And getRGB( GREEN ) = 0 And getRGB( BLUE ) = 0 Then
Color cbMagenta
Dot x, y
EndIf
Next y
Next x
DrawToScreen
//Tehdään shakkiruudukko.
For x = 1 To 10
For y = 1 To 10
Color cbBlack //joka toinen ruutu on musta.
If x Mod 2 = 0 And y Mod 2 <> 0 Then //joka neljäs ruutu on valkoinen
Color cbWhite
ElseIf x Mod 2 <> 0 And y Mod 2 = 0 //joka neljäs ruutu on punainen. Myös maskiin piirretään, värillä magenta.
Color cbMagenta
DrawToImage maski
Box x * 10, y * 10, 10, 10
Color cbRed
EndIf
DrawToImage tausta
Box x * 10, y * 10, 10, 10
DrawToScreen
Next y
Next x
ShowMouse OFF //piilotetaan kursori.
Repeat
DrawImage tausta, 0, 0 //piirretään tausta ENSIMMÄISENÄ.
//piirretään maski lehmäkuvion päälle. Tämä luo "reikiä" lehmään, jotta syntyisi illuusio
//että lehmä jäisi ruutujen taakse.
DrawToImage lehmä
Cls
DrawImage alkuperäinen_lehmä, 0, 0
DrawImage maski, -MouseX(), -MouseY()
DrawToScreen
DrawImage lehmä, MouseX(), MouseY()
SetWindow FPS() + ""
DrawScreen
Forever
En tiedä kuinka nopea tuo maskimenetelmä on suurilla kuvilla ja monella hahmolla, mutta kokeilin suorittaa rivit 50-56 viisisataa kertaa putkeen, eikä fps tippunut ollenkaan.
Re: vanhan ajan seikkailupelin runko
Koodisi vaikuttaa paremmalta kuin oma objekteilla pelleilyni. Toivottavasti saan tehtyä pelin loppuun asti, koska alan vasta nyt tajuamaan täältä saa apua omiin ohjelmointi ongelmiin.
P.s. Toivottavasti ette hermostu kyselyihini. Toden näköisesti niitä tulee vielä lisää
P.s. Toivottavasti ette hermostu kyselyihini. Toden näköisesti niitä tulee vielä lisää
Re: vanhan ajan seikkailupelin runko
nyt ukko liikkuu haluttuun suuntaan ja kuvat on laitettu objektejen sijasta kuviksi mutta miten sitten tuo liikkumisen esto niihin kohtiin joihin ei saisi mennä. pitäiskö siinä kikkailla jotenkin tuon yksivärisen kuvan ja törmäystunnistuksen kanssa vai olenko aivan hakuoteillä. Alla on vielä pari kuvaa mitä olen piirtänyt suunnitellessani tätä peliä, en tosin tiedä tuleeko ne lopulliseen peliin.
Re: vanhan ajan seikkailupelin runko
Lupaavan näköisiä kuvia.
Liikkuminen todellakin on ehkä paras tehdä yksivärisen kuvan kanssa. Kuvaan siis yksinkertaisesti piirretään alueet, joihin pelaaja (ja muut hahmot) voivat liikkua.
Tässä yksinkertainen liikkumisssysteemi. Todellisuudessahan tuota "lattia-kuvaa" ei piirrettäisi ruudulle.
Edit.
Aina kun postaa tulee heti kaikenlaista lisää mieleen .
Eli kuvan ei välttämättä tarvitse olla yksivärinen: eri väreillä saat aikaiseksi esim. kohteita jonne pääsee vain tietyissä tilanteissa, tai paikkoja jonne vain jotkin hahmot voivat kävellä.
Liikkuminen todellakin on ehkä paras tehdä yksivärisen kuvan kanssa. Kuvaan siis yksinkertaisesti piirretään alueet, joihin pelaaja (ja muut hahmot) voivat liikkua.
Tässä yksinkertainen liikkumisssysteemi. Todellisuudessahan tuota "lattia-kuvaa" ei piirrettäisi ruudulle.
Code: Select all
SCREEN 1024, 768
FrameLimit 40
path = MakeImage( ScreenWidth(), ScreenHeight() )
cow = LoadImage( "media\cow.bmp" )
Const SIZE = 40
Const SPEED = 5
cowX = ScreenWidth() / 2
cowY = ScreenHeight() / 2
targetX = cowX
targetY = cowY
Repeat
//Hiiri2 luo polkua, hiiri1 liikuttaa lehmää, jos mahdollista.
If MouseDown( 2 ) Then
DrawToImage path
Color cbMagenta
Circle MouseX() - SIZE / 2, MouseY() - SIZE / 2, SIZE
DrawToScreen
ElseIf MouseHit( 1 ) Then
targetX = MouseX()
targetY = MouseY()
EndIf
//Katsotaan suorin reitti kohteeseen. Jos se ei ole mahdollinen, käännetään reittiä hiukan
//ja etsitään uutta polkua. Jos polkua ei löydy, pysähdytään. Muulloin annetaan lupa
//jatkaa matkaa.
If Distance( cowX, cowY, targetX, targetY ) > SPEED Then
angle# = GetAngle( cowX, cowY, targetX, targetY )
Lock Image( path )
bMove = False
dir = 0
While True
getX = cowX + Cos( angle# + dir ) * SPEED
getY = cowY - Sin( angle# + dir ) * SPEED
PickImageColor2 path, getX, getY
If getRGB( RED ) <> 0 Or getRGB( GREEN ) <> 0 Or getRGB( BLUE ) <> 0 Then
bMove = True
Exit
EndIf
temp = Not temp
If Not temp Then
dir = dir * -1
Else
dir = Abs( dir ) + 10
EndIf
If dir > 100 Then Exit
Wend
Unlock Image( path )
//liikutetaan lehmää
If bMove = True Then
cowX = getX
cowY = getY
Else
targetX = cowX
targetY = cowY
EndIf
EndIf
//piirretään polku ja lehmä. Pelissä polkua ei tarvitse piirtää ruudulle, se on silti olemassa.
DrawImage path, 0, 0
DrawImage cow, cowX - ImageWidth( cow ) / 2, cowY - ImageHeight( cow ) / 2
Color cbWhite
Text 20, 20, "Hiiri1 liikuttaa lehmää (jos mahdollista)"
Text 20, 33, "Hiiri2 luo lattiaa. Kokeile tehdä mutkia."
DrawScreen
Forever
Aina kun postaa tulee heti kaikenlaista lisää mieleen .
Eli kuvan ei välttämättä tarvitse olla yksivärinen: eri väreillä saat aikaiseksi esim. kohteita jonne pääsee vain tietyissä tilanteissa, tai paikkoja jonne vain jotkin hahmot voivat kävellä.
Re: vanhan ajan seikkailupelin runko
entä miten se sitten saisi siirrettyä tuohon kaksi väriseen kuvaan? Itse sain vain osittain ukon liikumatilan toimimaan, eli tämä liikkuma tila on jonkin verran ruudun ulkopuolella, johtuuko tämä siitä että ukko liian iso, käytin mallissani tuota kalkkiluola kuvaa ja siinä tuo liikerata on kohtalaisen kapea.
pystyisikö esimerkiksi tekemään niin että törmäys tunnistus koskee vain ukon jaloissa olevaa x-y koordinaattia.
pystyisikö esimerkiksi tekemään niin että törmäys tunnistus koskee vain ukon jaloissa olevaa x-y koordinaattia.
Re: vanhan ajan seikkailupelin runko
Koordinaatit saa kyllä pelihahmon jalkoihin. Tuossa minun esimerkissäni lehmän koordinaatit ovat keskellä lehmää, mutta ne saa muutettua lehmän alaosaan vaihtamalla rivin 71.
Tästä:
DrawImage cow, cowX - ImageWidth( cow ) / 2, cowY - ImageHeight( cow ) / 2
Tällaiseksi:
DrawImage cow, cowX - ImageWidth( cow ) / 2, cowY - ImageHeight( cow )
Tietenkin kannattaa myös jättää kävelymaskin ja reunojen välille hiukan tilaa, ettei hahmo näytä kävelevan esim. seinässä kiinni tai rotkon päällä.
Jokaiselle omalle huoneellesi saat kävelymaskin esim. piirtämällä ne paintilla joka huoneelle erikseen, ja sitten nimeämällä tietyllä tavalla, jotta ohjelmasi tunnistaisi ne.
Tästä:
DrawImage cow, cowX - ImageWidth( cow ) / 2, cowY - ImageHeight( cow ) / 2
Tällaiseksi:
DrawImage cow, cowX - ImageWidth( cow ) / 2, cowY - ImageHeight( cow )
Tietenkin kannattaa myös jättää kävelymaskin ja reunojen välille hiukan tilaa, ettei hahmo näytä kävelevan esim. seinässä kiinni tai rotkon päällä.
Jokaiselle omalle huoneellesi saat kävelymaskin esim. piirtämällä ne paintilla joka huoneelle erikseen, ja sitten nimeämällä tietyllä tavalla, jotta ohjelmasi tunnistaisi ne.