5.5.2025

Retrokelaaja 08 - Rautaa ja spritejä


Retrokelaaja on Pelaaja-lehdessä ilmestyvä palsta, jolla kirjoitan kaikenlaista sekavaa videopelimaailman historiasta, usein nykypäivään peilaten. Aiheita voivat olla niin pelien teknologiat, pelikoneiden tekniikka tai ihmiset. Blogissa on luettavana vanhoja Retrokelaaja-tekstejä. Palsta on yksisivuinen, joten 3 500 merkissä täytyy pystyä käsittelemään jokin aihe ainakin jollain tapaa.

Lisätietojahttps://pelaaja.fi/ 

Juttu ilmestynyt alkujaan Pelaajan numerossa 218.

Ota mikä tahansa retropeli 8-tai 16-bittiseltä aikakaudelta ja katso, kuinka sen kuva rakentuu. Alustasta riippuen tausta on rakennettu yhdellä tai useammalla graafisella kerroksella, mutta harva peli koostuu pelkistä taustagrafiikoista tai staattisista kuvista. Ruudulla on kiva olla myös liikettä ja vipellystä, joita luotiin spriteillä.

Spriteä voi kutsua vaikkapa pikseleistä rakennetuksi objektiksi, joka saattoi olla vaikkapa 8 x 8 pikselin kokoinen. Objekti oli osittain läpinäkyvä, joten se oli mitä mainioin keino pelihahmojen, otusten tai luotien liikuttamiseen ja animointiin. Ensimmäinen spritejä käyttänyt peli oli Taiton Basketball (1974).

Toki ruudulle saatiin toimintaa myös ilman spritejä, mutta grafiikan liikuttaminen ruudulla ei ollut ilmaista. Mitä vanhempi oli pelikone, sitä niukempi oli tehobudjetti. Muistia, prosessoritehoa ja väyläaikaa oli aina liian vähän, joten peliohjelmointi oli jatkuvaa taiturointia rajallisten resurssien äärirajoilla.

Tässä auttoivat hardware-spritet. Laitteiden piirisarjoihin upotettiin laitteistotason komentoja, joilla sprite-objekteja voitiin liikuttaa ja animoida helposti, ketterästi ja käytännössä ilmaiseksi. Softa-spritejä piirrettiin raskaasti kuin käsityönä, pikseli pikseliltä muistista ruudulle raahaten, mutta hardware-sprite vain nakattiin johonkin muistipaikkaan, josta se tupsahti ruudulle tarvittaessa. Prosessorin ei tarvinnut kuin pyörittää muuta peliä.

”Ensimmäinen spritejä käyttänyt peli oli Taiton Basketball (1974).”

Oli spriteillä rajoituksiakin. Eri laitteiden piirisarjat tukivat eri määrää spritejä, joten ruudulle saatiin vaihtelevasti toimintaa. Esimerkiksi Commodore 64, NES ja Amiga pystyivät teoriassa liikuttamaan yhtä aikaa kahdeksaa hardware-spriteä, mutta piru elää yksityiskohdissa. Esimerkiksi NESin ja C64:n rajoituksia kierrettiin niin, että spritejä piirrettiin enintään kahdeksan per scanline-taso, jolloin seuraavalla puhtaalla scanlinella voitiin piirtää taas uudet kahdeksan spriteä. NESin sprite oli 8 x 8 pikseliä, Amigan ECS-sprite oli 16 pikseliä leveä mutta rajattoman korkea, ja Amigan AGA-sprite oli 32 tai 64 pikselin levyinen. Sega Mega Drivessa oli jo 80 spriteä, joista 20 mahtui samalle scanlinelle — nyt kelpasi tehdä luotihelvettiräiskintöjä. Piirisarjoissa oli myös valmiita kikkoja, joilla spritejä voitiin yhdistellä tai suurentaa, eikä ohjelmoijiakaan kukaan saanut ruotuun, sillä mokomat keksivät koko ajan uusia tekniikoita spritejen pään menoksi.

Esimerkiksi Super Mario Bros. -pelin Mario on normaalisti yksi 8 x 16 pikselin kokoinen sprite. Neljästä 8 x 8 -spritestä koostuvan sienen haukattuaan Mario kuitenkin kasvaa isoksi, jolloin hän koostuukin neljästä 8 x 16 pikselin spritestä. Taitavaa ja ikimuistoista kikkailua!

Rauta-spritet ovatkin 8ja 16-bittiaikakauden toimintapelien ytimessä niin hyvässä kuin pahassa. Niillä peleihin saatiin toimintaa, mutta rajoitukset määrittelivät, millaista se oli. Esimerkiksi NESin kaksinpeleissä pelihahmot olivat usein enintään 32 pikselin levyisiä. Mutta entä jos koko sprite-budijetti käytetään ykköspelaajaan ja luodaan kakkospelaaja taustagrafiikalla tai peilatuilla spriteillä? Ehkä kukaan ei huomaa, jos hahmot vähän väpättävät hypätessä tai eivät voi katsoa samaan suuntaan.

Hardware-spritejen tarve hiipui pelikoneiden tehon lisääntymisen ja 3D-grafiikan myötä. Nykykoneissa on niin paljon tehoa ja vääntöä, ettei edes tuhansien yksittäisten objektien liikuttaminen tunnu missään. Rautapohjaisia erikoisratkaisuja ei tarvita. On kuitenkin sympaattista katsella, miten uusretropelit jäljittelevät muinaisten pelikoneiden teknisiä rajoituksia. Vai olisiko niin, että enemmän hässäkkää ruudulla ei sittenkään ole aina parempi ratkaisu?

Ei kommentteja:

Lähetä kommentti