Grafiikan käsittely GIMPissä

Ihan mitä tahansa grafiikkaa eivät Allegro ja DOS kelpuuta. Tässä postauksessa käydäänkin läpi, mitä GIMPissä täytyy tehdä, jotta ladatut bittikartat näkyvät pelissä oikein.

Ehkäpä isoin asia, joka kahdeksanbittisiä Allegro-ohjelmia varten piirrettävässä grafiikassa on otettava huomioon on ns. indexed-kuvatila. Ko. kuvatila määrittää kuvan värisyvyydeksi kahdeksan bittiä, eli kunkin pikselin näyttämä väri esitetään kahdeksan bitin yhdistelmällä. Näin maksimimääräksi eri värisävyjä saadaan 256 (2⁸ = 256).

Toinen huomioon otettava asia on eri paletit. Värisyvyydeltään kahdeksanbittinen grafiikka piirretään esimääritellyn paletin avulla, eli käytössä olevat 256 eri värisävyä on määritetty ACT-palettitiedostoon, jonka avulla ruudun pikselit väritetään. Vähän kuin taidemaalari ruutaisi paletilleen 256 eri väriä, joilla hän taulun maalaa.

Alla esimerkiksi Duke Nukem 3D -pelin paletti.

 

Paletin voi määrittää aika vapaasti, ja vanhat DOS-pelit käyttivätkin aina omaa palettiaan. Allegron palettien kanssa pitää vain muistaa, että niiden ensimmäinen värisävy piirretään läpinäkyvänä. Oletus-VGA-paletissa se on musta, mutta jos peliin määritellään oma paletti, läpinäkyvä väri kannattaa määrittää, joksikin ällöttäväksi, joka on helppo erottaa varsinaisista näkyviin piirrettävistä pikseleistä ja tekseleistä ja jota ei varmasti aio käyttää varsinaisen grafiikan piirtämiseen. Usein tällainen väri on ns. magic pink, jonka RGB-arvot ovat 255, 0, 255.

Magic pink (RGB 255, 0, 255).

Myös Duke Nukem 3D:n piirtämättömien pikseleiden ja tekseleiden väri on magic pink. Mutta, huomaa, että ko. väri on pelin paletissa viimeisenä eli oikeassa alakulmassa. Jos siis haluaisit käyttää Duke Nukem 3D:n palettia omassa Allegro-pelissä, tuo väri pitäisi siirtää vasempaan yläkulmaan, paletin ensimmäiseksi.

Huomaa myös, että jos pelin grafiikan piirtää jollain muulla kuin VGA-kuvatilan oletuspaletilla, sama paletti pitää tietysti määritellä käyttöön myös pelin koodissa, jotta bittikartat piirretään oikein.

Vaikuttaa monimutkaiselta ja vanhanaikaiselta, mutta onneksi ainakin GIMPin avulla on mahdollista palloilla palettien ja muiden Allegron vaatimusten kanssa suht helposti, eivätkä ihmisellekään nämä asiat ole mitään mahdottomia ymmärtää. Alla siis ohjeet, joilla saada pelisi bittikartat toimimaan pelissäsi oikein.

Indexed-kuvatila ja paletti

  1. Luo pikseleiltään maksimissaan 64 × 64 -kokoinen kuva raycaster-pelimoottorin spritejä ja seinätekstuureja varten;
    • seinätekstuurien on oltava 64 × 64 pikseliä
    • spritet voivat olla leveysuunnassa vähemmän, mutta pystypikseleitä pitää olla 64.
  2. Tuo haluamasi paletti ohjelmaan:
    1. valise oikeasta reunasta Palettes-välilehti
    2. paina sen päällä oikeaa hiirinäppäintä ja valitse Import Palette...
    3. avauneesta Import a New Palette -ikkunasta valitse Palette file ja etsi haluamasi ACT-tiedosto.
    4. klikkaa Import, ja paletti lisätään listaan.
  3. Valitse ImageModeIndexed... ja:
    1. valitse Colormapiksi Custom Palette
    2. valitse paletiksi ohjelmaan tuomasi paletti.
  4. Piirrä haluamasi grafiikka.

Kuvatiedoston vieminen

  1. Valitse FileExport As...
  2. Anna tiedostolle enintään kahdeksanmerkkinen nimi ja päätteeksi .bmp, esim. sprite.bmp.
  3. Paina Export.
  4. Avautuneesta Export Image as BMP -ikkunasta:
    1. enabloi Run-Length Encoded, jolloin tiedostosta tulee pienempi
    2. enabloi Compatibility OptionsDo not write color space information
    3. Paina Export.

Kommentit