Sprajty - toť všelijaké postavičky, střely, výbuchy atd., víceméně svižně se pohybující na pozadí herní obrazovky. Sprajtem lze nazvat jakýkoliv blok grafiky, který počítač vykresluje přes libovolnou část pozadí hlavního screenu. Sprajt je v paměti počítače uložen jako blok grafických dat která se velmi často přesouvají do jiných oblastí RAM. Grafika ve sprajtech (například postavičky) mají většinou jiný tvar než zrovna čtverec nebo obdélník. Kvůli pozadí bývá proto jedna z použitých barev tzv. průhledná.
V dávných dobách prvních domácích osmibitů se to ve hrách sprajty jen hemžilo, což mnozí výrobci osmibitových počítačů podporovali už při návrhu počítače. Pro snadnější programování her obsahuje například Atari 800 tzv. player missile graphics. Když se po obrazovce pohyboval statický obrázek panáčka, bylo to celkem hezké, ale když panáček začal pohybovat rukama i nohama, mrkat a mluvit, začala zlatá éra počítačových her. Základem každé pořádné chodičky a skákačky je tudíž animovaný sprajt.
Nakreslit animaci postavičky není žádný problém. Pokud však má být postavička sprajtem, je už nutná spolupráce grafika s programátorem hry. Programátoři většinou vyžadují dodržení určitých zásad. Například výšku sprajtu chtějí mít 64, 32, nebo 16 pixelů. Musíte se domluvit na tom, která barva bude průhledná, kterou barvu budete používat na obtažení obrysu postavičky, aby nesplývala s pozadím, některé barvy vám třeba vůbec nedovolí používat atd. Ve finiši už vše závisí na schopnostech programátora. I když je vaše grafika perfektní, nikdy nevíte jak to nakonec dopadne. Grafik potom jenom smutně sleduje jak postavičce s jejíž animací si dal tolik práce ve hře při chůzi prokluzují nohy.
Programátor by měl vždy podrobně grafikovi vysvětlit, co od něj chce. Po nějakém čase zase grafik trpělivě vysvětluje programátorovi, co to vlastně nakreslil. Ideální stav, že schopný programátor je zároveň dobrým grafikem totiž nastává velmi zřídka.
Já jsem se s výrobou animovaných sprajtů potýkal hlavně při vývoji hry Bloumova dobrodružství. Při animaci hlavní postavičky jsem se nakonec dostal k 157 pozicím. Každou jednotlivou pozici jsem se snažil programátorovi co nejlépe popsat. Tzn. jak navazuje na další pozice, do jaké akce joysticku v daném prostředí hry patří, o kolik pixelů by se měl sprajt v určitém směru posunout atd. (viz. přiložené obrázky).
Aby bylo vše úplně jasné udělal jsem občas nějakou krátkou vysvětlující animaci. Pár těchto animací jsem přiložil ke vzpomínkám na Bloumu (Narsil 35 až 37). Dnes si můžete prohlédnout 3 další.
Plavba:
Ryba (Blouma pod vodou) má pro pohyb 4 animační pozice, které se opakují pořád dokola, a posouvá se v každé nové pozici vždy o 8 pixelů ve směru určeném joystickem. Když ryba dopluje k hladině (test prostředí) spustí se animace přeměny. Pohyb po hadině - plavba má dvě varianty. Houpavou a hladkou. Zde je použita houpavá (únava hlavního hrdiny). Dále následuje výskok z vody (test prostředí) na břeh. Pak chůze. Ta má čtyři varianty. Hodně kulhavou, méně kulhavou, normální a přikrčenou. V ukázce je chůze méně kulhavá. Každá chůze je složená ze 3 animačních pozic, některé pozice jsou pro první tři chůze společné. Některé pozice se opakují víckrát i v jednom cyklu (např.: 1,2,1,3 - a tak pořád dokola).
Při každé další animační pozici chůze se sprajt posouvá o 3 pixely ve směru joysticku. Rychlost chůze je možné měnit (posuv o 2, 3 a 4 pixely při každé pozici). Kromě chůze ovšem Blouma umí také běhat, skákat atd.
V ukázce jsou ještě 3 animační sprajty statické. Tyhle sprajty se nikam nepohybují a jsou stále na svém místě. Animační sprajty vodal a vodap mají každý 15 pozic. Animační sprajt paswordu má 3 pozice a reaguje na kolizi s hlavním hrdinou plus fire (heslo v textovém řádku).
Pohybspr:
Zde vidíte na pravé straně obrazovky všechny animační pozice jedovatého hada. Nalevo je znázorněna animace plazení a exploze před zmizením sprite z obrazovky (zničení). Plazení má v sobě jeden háček. A to že sprajt plazícího se hada by se měl posouvat až po zobrazení všech tří animačních pozic plazení na jednom místě. Tzn. zobrazím 3 pozice na jednom místě, pak sprajt posunu o 4 pixely doprava a zase zobrazím 3 pozice atd. Tohle řešení nemají programátoři moc rádi. Nejraději mají plynulý a rovnoměrný pohyb.
Poklad:
Tady se toho moc nehýbe. Kromě Bloumy vidíte animované sprajty strážce a kouzelného krystalu. Na screenu jsou ale ještě další sprajty. Dva tajné spínače (červené kroužky) které reagují na dotyk Bloumy a fire. Dva kameny po stranách krystalu, které se rozsvítí po stisknutí spínačů. Dále kamenný kvádr který Bloumovi blokuje cestu k pokladu a jeho stín vlevo dole. Kvádr Blouma odstraní dotykem má-li u sebe tu správnou věc - animace zmizení kvádru (pod jedním sprajtem může být ukrytý další - například klíč). Po zmizení kvádru by měl zmizet i jeho stín. Animaci téhle akce si však musíte domyslet, protože by pak v Narsilu nebylo nic jiného než animace z Bloumy.
Ale příště snad ještě nějaké animace Bloumovských sprajtů uvidíte.