Millä tavalla kannattaisi tehdä sivusta katsottavaan tasohyppelypeliin animaatiot? Onko järkevää tehä jokaisesta framesta oma bmp kuva vai jotenkin liikuttaa ihan koodirivien avulla? Käytössä on siis SDL sekä OpenGL.
Jos pelihahmon asento muuttuu (esim. kävely), niin sitten sinun on kyllä parasta tehdä oma kuva jokaisesta animaation vaiheesta. Ohjelman olisi nimittäin erittäin vaikeaa tehdä juuri oikeita muutoksia pelihahmoa esittävään kuvaan (esim. aidon näköisesti liikkuva jalka).
Siis animaation toteutus on kaksivaiheinen:
- pelihahmon kuva valitaan sopivaksi
- pelihahmo siirretään oikeaan paikkaan näytöllä
Kuvatiedostojen määrää voi myös vähentää tallentamalla animaation kuvat vierekkäin tai päällekkäin oikeaan järjestykseen yhteen tiedostoon siten, että kukin kuva on samanlevyinen ja -korkuinen. Sitten normaalilla tile-tekniikalla valitaan oikea kuva ja piirretään se.
Tai sitten vaikka niinkin, etteivät ne edes ole saman kokoisia, jos jonnekin myös tallennetaan tieto niiden sijainneista. Niin minä tein, ja mahtui muuten paljon enemmän pikkukuvia yhteen 256x256-kuvaan.
Mahtaa olla aika vaikeata tehdä jotain 3D GTA tyylista aitoa kävelyä...
Onko joissain vanhoissa peleissä (esim Commander Keen) piirretty vaan tuhottomasti kuvia? Siinäkin pelissä noita monstereita on aikalailla joka lähtöön, joten kuvatekniikalla on graafikolla aika paljon hommaa. Tosin resoluutio ei ole niin suuri, että kuvat veisivät kovin paljoa tilaa.
No Commander Keeneissä ei kyllä hirveän monta erilaista hahmoa ole, ja kun katsot sitä kävelyä, niin yhdessä kävelyanimaatiossa ei ole kuin ihan pari kuvaa. Ja nopeammin piirtää sen verran kuvia kuin ohjelmoi jokaisen erilaisen hahmon animoinnin, saatikka, että sen ajan koneissa olisi ollut moiseen tehoja. Sitä paitsi eri muotoisten otusten animointiin ei voisi edes samaa koodia käyttää.
3D-systeemit toimivat sitten aivan toisella tavalla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.