Page 1 of 1

Isometrisyys

Posted: Tue Feb 17, 2009 3:37 pm
by Sepi
Elikkä voisiko joku valaista kuinka isometrinen peli käytännössä tehdään? Siis tiedän kyllä mitä on isometrisyys, en vain tiedä kuinka se käytännössä toimii :)

Re: Isometrisyys

Posted: Tue Feb 17, 2009 3:59 pm
by Tuxu

Re: Isometrisyys

Posted: Tue Feb 17, 2009 4:54 pm
by Sepi
Kiitos. Pitääpä tutustua noihin.

Re: Isometrisyys

Posted: Sat Feb 21, 2009 4:41 pm
by ristis
Isometrisyydessä ei ole mitään erikoista. Se ei vaadi oikeastaan mitään muuta kuin vähän matematiikkaa ja tietysti oikeanlaista grafiikkaa, mikä lienee usein syy näiden pelien vähyyteen.
Mitään muuta ei tarvitse oikeastaan huomioida. Pelimaailma voidaan yhä hahmottaa normaalisti kaksiulotteisena taulukkona mutta halutessaan isometrisyyshän mahdollistaa myös jonkunlaisen korkeuselementinkin.


Image
Ylläolevassa pelissä on pohjalla aivan normaali taulukko karttana. Samaten myös kartan sisällä olevien objektien sijainti on merkitty karttaan. Piirtovaiheessa karttapiirretään siten, että kuva-alueen vasemmasta yläreunasta alkaen piirretään pystyriveittäin karttasolujen sisältö ja näin kaikki piirtyvät oikein suorastaan automaagisesti. (eli mökki on puun takana ja se näyttää siltä kuten pitääkin) Ainoa vähän monimutkaisempi asia on se matematiikka jolla palat sijoitetaan kohdilleen. Tämäkään ei ole mikään vaikea juttu, kun asiaa pohtii hetken.

Voin laittaa jotain ihan oikeaakin esimerkkiä, jossa on ihan grafiikkaa ja koodia, jos on tarvetta.

Re: Isometrisyys

Posted: Sat Feb 21, 2009 6:42 pm
by phons
Ihan vain uteliaisuudesta kysyn että miten tuo yllä olevassa kuvassa näkyvä projektisi sujuu? Se oli silloin joskus aika hieno.

Re: Isometrisyys

Posted: Sun Mar 15, 2009 8:51 pm
by Sepi
Jos millään viitsit ristis, niin voitko laittaa jonkunlaista esimerkkiä tulemaan? On meinaan jonninverran helpompi lähteä opettelemaan esimerkin kans :)

Re: Isometrisyys

Posted: Wed Mar 18, 2009 6:18 pm
by ristis
Tässäpä pieni esimerkki. Latinkiin.


Se on melko puutteellinen mutta osoittaa periaatteen.
Liikkuminen joko nuolet tai wasd. Nuolet liikuttaa isometrisessä näkökulmassa pysty- ja vaakasuunnassa. Toisella tapaa taas sarakkeittain ja riveittäin. ( Ensin mainittu nyt bugittaa pikkusen. )

Johtuen sitten grafiikoista niin jos tilet haluaisi saumattomasti yhteen vaatisi se hivenen hienosäätöä. ( Hienosäädön tarpeen huomaa siten, että vaihtaa muuttujan tile_tyhja arvoksi 13) Ajattelin, että turhaan laitan sotkemaan siihen lisää lausekkeita.

Esimerkissä ei ole huomioitu, että jos kartta on niin iso, että sitä ei mahduta kerralla piirtämään. Tämä ei ole mikään ongelma kuitenkaan. Ainoa asia minkä se aiheuttaa on, että kartan koordinaatteja ei voida vertailla suoraan piirtokoordinaattien mukaan. (eli tx != karttax, toisin kuin nyt ne ovat sama asia)

Tässä on vaan esitelty portaittain liikkuminen. Liukuva liikkuminen aiheuttaakin vähän enemmän jo päänsärkyä. :)
Toivottavasti tästä on vähän apua.

EDIT:
Ai niin. Piirtolausekkeet on sitten myös sievennetty että niistä suoraan välttämättä avaudu se idea.
Salaisuushan on kuitenki siinä, että tilet piirretään lomittain. :)