sobota 21. srpna 2004

Hráli jste "HEROES '92"?

autor: George K.

Asi bych se spíš měl ptát: Dohráli jste "HEROES '92"? Dali jste lemmingovi deštník, vzali si Batmanův plášť, neodjeli taxíkem a odpověděli správně na otázku, kam jde kůň s hadem?
Jde kůň (klap, klap) a had (šš, šš). Na co jdou?
Povíme si něco o tom, kudy bylo správné se ubírat a kde to naopak nemělo smysl: první věc, která byla docela důležitá, bylo vzít papírek (prozkoumej kancelářský stolek, prozkoumej šuplík, vezmi papírek), který obsahoval výše uvedenou otázku, někdy v průběhu hry ho dát RoboCopovi II (použij papírek) a správné říci, že kůň s hadem jdou na nervy. V kanceláří u sekretářky byl neopomenutelný deštník, který se položil přede dveře výtahu a vychodivší lemming (po otvření dveří příkazem stiskni přivolávací tlačítko) si ho drze vzal a nezabil se tak pádem při chůzi z hlavní haly bůhvíkam na jih. Na parkovišti stačilo chvíli počkat a děly se věci: vybuchovala auta, batmobily a nakonec Batman zahodil svůj plášť (Vaše reakce: vezmi Batmanův převlek), hodící se při pádech z výšky ("pozor, schod!" je přece jenom nepřesné) do bahna. Na stanici metra Schwazreneggerova se také chvíli počká a neleze se hned do prvního metra, co se namane. Mezitím je dobré dívat se, co se děje a reagovat (prozkoumej mrtvou ženu, vezmi pistoli). Bez pistole je v metru veselo, ale když ji máte, v klidu přestřelku přežijete a ještě získáte nové kamarády (prozkoumej cestující), kteří s vámi vystoupí a zůstanou na stanici metra Stalloneova.
Je čas stát se někým jiným, vzít pár věcí a vzápětí se jich zbavit (vezmi malou krabičku, vezmi papírovou krabici, jdi na jih, polož papírovou krabici, prozkoumej papírovou krabici, polož malou krabičku). Pak se zase vrátíme do role Clouseaua a využijeme toho, co jsme si nadrobili (prozkoumej malou krabičku, vezmi hřebíky). Jdeme zpátky po kolejích do Arnoldovy stanice a odtud přes Manic Minera k bahnu. Zde - vezmi past na duchy, prozkoumej Batmanův převlek, použij Batmanův opasek - a jsme zpět v hlavní hale, hurá na vrátnici (pozor na RoboCopa I, nemá rád zbraně), ven na parkoviště (použij hřebíky, jdi do taxíku) a pokud s sebou nemáte moc věcí, dostaneme od Rodriga klobouk a bič. S tím sešviháte hada, ležícího na schodišti (použij bič), prozkoumáte osobnosti, Mirečka a vezměte si krabičku sirek. Výše zmíněnému RoboCopovi II dáte papírek a odpovíte, on vás za to pustí na střechu a nevypne reflektor, který na oblohu vrhá H, nebo-li znak Habermana (kdo viděl Batmana, chápe, ostatní mají smůlu). Se žralokem si hrát nepůjdeme, ale vylezeme na komín a skočíme do něj, on se o nás Haberman postará; pak položíme past na duchy do otvoru ve stěně, staneme se někým jiným, pro past si dojdeme a odneseme ji ke skleněné stěně, kde ji prozkoumáme, čímž vyvoláme ducha, pro kterého si přijdou krotiči duchů (to jsou ti noví kamarádi z metra) - ve stěně vzniknou díry, jimiž přileze lemming, projde nevšímavě kolem vás, probourá zeď komínu a odšplhá vzhůru. Konečně můžete být (Coleman a Clouseau) spolu, vítězství je na dosah ruky, stačí jen dojít k bombě a zapálit knot (použij krabičku sirek). Tak to byl stručný návod, přesně tak, jak to nemám rád, ale aspoň vidíte, že dohrát se to dalo a docela jednoduše.
Kdo udělal přesně tohle a nic víc, zažil asi 30% toho, co zažít mohl a získal ubohých nepostačujících cca 60 bodů. Body se přidělovaly následovně: 1 bod za každou navštívenou místnost (23-24 bodů), 2 body za každou objevenou věc (40-62 bodů) a zbytek za speciality, tedy za věci navíc, které nebylo nutno udělat, ale šlo to (0-34 bodů). (Čísla v závorkách udávají minimální a maximální bodové zisky, kterých lze dosáhnout.)
Hra má něco přes třicet místnosti, ale nekteré nesmíte navštívit - výtah, bazznek se žralokem, první metro, poslední sluj Manic Minera, atd. Ten jeden bod navíc získáte, když projdete tam a zpátky chodbou, kde byla spousta dveří.
Co se věcí týče, skoro pokaždé, když se vypsala zpráva "Objevil jsi ...", získali jste dva body. Takže v kanceláří jste pak mohli spatřit navíc telefonní kartu, krabičku cigaret, spodka kulového, velký kulový, jinde se objevila spousta klik a spousta problémů, po prozkoumání Clouseaua dokonce šimpán, atd. Programově vzato, dostávali jste body ne při samotném objevení, ale až na konci hry, kdy se zjišťovalo, které z vytipovaných předmětů jsou ve hře, což umožnilo několik dalších bodových ohodnocení, které by mohly patřit už spíše do specialit. Byly to: 1) živý vetřelec a 2) při dokončení hry Coleman a Clouseau v jedné místnosti. Co se vetřelce týká, byl neškodný, ale chudák. Ve chvíli, kdy jste si to přihasili na vrátnici s pistolí, RoboCop vás vyzval ji odhodit (a bylo záhodno ho poslechnout, protože jinak střílel - do vás), jenže na upuštěnou zbraň se vrhnul nic netušící "alien" a v zápětí byl postřelen on. Ani potom se ale nevyplatilo brát si pistolí zpět do rukou.
Nejzajímavější části hry ovšem byly speciality, které ukrývaly nejrůznější překvapení. Kdo chvíli trápil počítač příkazem použij teleportační přístroj (bylo zde podezřelé, že program hlásil "Nic se nestalo" - jindy (tj. při zbytecném použití věci) přece nepsal nic!!!), zažil určitě chvilku strachu, když napočtvrté teleport ožil, Coleman vlezl dovnitř a počítač zvesela oznámil, že "Z teleportu vylétla moucha..." - dobrý vtip, za který jste inkasovali pět bodů. Druhý teleport ne a ne naskočit, ale kdo měl výdrž, mohl tentokrát propadnout dojmu, že se program doopravdy "kousnul" - zase nic (krom pěti bodů), a pokud jste se vypořádali i s akční pasáží hry, bylo to dalších pět navíc.
Jinými specialitami bylo kouření a telefonování, které spolu částečně souvisely. Stačilo vzít telefonní kartu (byla v koši) a od sekretářky si zavolat (použij telefonní kartu) - bylo to Arthurovi Brownovi a za pět bodíků. Kdo zavolal dvakrát, prohloupil, protože karta se dala použít u Manic Minera v místnosti Útok mutantních telefonů, odkud bylo možno zavolat sekretářce (pět bodů). Když už jsme u toho Manika - chodit se tu dalo jen tak tak - jednou tam a podruhé zpátky; při třetím vstupu do místnosti jste došli do Návratu krále zvířat a ten se nedá přežít. Ale zpátky k hovoru se sekretářkou - vážně vás nenapadlo, že by svoje Velbloudy (v originále Camel) mohla chtít zpátky (pokud jste je odnesli)? Ano, vážně je chtěla (strašně řada totiž kouří), ale aby jste z toho taky něco měli (z toho kouření myslím), bylo dobré nejdřív získat sirky a zapálit si aspoň jednu cigaretu (pět bodů) a potom teprve hřebíčky do rakve vrátit sekretářce (jen čtyři body), která navíc jen tak z nudy reagovala na to, zda máte v kapse pistolí, či nikoliv.
Záludnou věci byl taxík (vlastně nejen on). Vejít se do něho dalo vždy, ale vylézt ven, to už bylo horší. První návštěva taxíku určitě dobře nedopadla, ale když mu nejdříve uděláte zimní antiskluzové obutí zapícháním hřebíků do pneumatik, v klidu můžete vstoupit. Chvilku se nic neděje (ani ven to nejde), ale nepřehánějte to s prozkoumáváním Rodriga, nebo se udusíte v kouří z jeho doutníků. Takž choďte do taxíku s minimálním počtem věci, jinak vám Rodrigo při pohledu na plné ruce nic nedá.
S duchem a krtkem to také nebylo jednoduché. Pokud se past nebo papírová krabice prozkoumají na nesprávných místech, ani se slizákem, ani s Montym už nehnete a můžete začít znovu. Pak navíc je potřeba na dně komínu past položit (západně do otvoru ve zdi), stát se někým jiným a past si vzít - tedy udáte tu ty samé grify, se kterými se setkáte u hřebíků (taky si je musíte podat pod stěnou a navíc v krabičce).
Krom HEROES samotných byla podstatnou částí soutěže halda otázek, jejichž správné zodpovězení přinášelo téměř polovinu bodů. Prozraďme si tedy, jak měly správné odpovědi (podle mne) vypadat:
1) Jednotlivé díly Horáců se jmenují HUNGRY HORACE, HORACE GOES SKIING, HORACE AND THE SPIDERS (což věděl skoro každý) a jejich autorem je WILLIAM TANG (což věděl málokdo).
2) Při nahrávání The Chip Factory chodí deset Tedů-techniků a ve hře hraje valčík NA KRÁSNÉM MODRÉM DUNAJI.
3) Autorství programů Gens, Mons, Colt, Pascal, C patří firmě HI-SOFT.
4) Za otce Spectra bych označil sira CLIVA MARLESE SINCLAIRA, autoři Spectra jsou STEVEN VICKERS (sw) a RICHARD ALTWASSER (hw).
5) Ochrana firmy OCEAN se jmenuje SPEEDLOCK (jejím autorem je David Aubrey Jones).
6) Hra Ghostbusters vznikla podle filmu... chvilka napětí... GHSTBUSTERS.
7) Rodina Weeků sestává z WALLYHO, HERBERTA a WILMY.
8) Autor PODRAZU III je FRANTIŠEK FUKA, jehož iniciály jsou F. F. Nezaměstnaný programátor není nikdo jiný než TIM COLEMAN a jeho přítelem je ARTHUR BROWN.
9) Ve hře Starquake je teleportů skutečně patnáct a ne jedenáct (omlouvám se všem, kterých se tento omyl dotknul): ALGOL, AMAHA, AMIGA, ASOIC, DELTA, EXIAL, IRAGE, KYZIA, OKTUP, QUAKE, RAMIX, SONIQ, TULSA, ULTRA, VEROX.
10) Na posledním obrázku ve hře Splitting Images je MARYLIN MONROE (kdepak Madonna...!).
11) Autorem her Green Beret, Hyperactive, Mikie, Cobra, Terra Cresta, Hypersport je JONATHAN SMITH (alias SMIFFF).
12) Všechny hry od Code Masters si můžete přečíst v jednom loňském Fifu (tak proto je měli všichni dobře...).
13) Třináctá otázka byla opravdu nešťastná a skoro každý ji měl alespoň trochu špatně. Martin Galway je pro většinu soutěžících zcela neznámou postavou, ačkoliv hělal hru do většiny her Jófy Smiffa. Jsem si téměř jistý těmito: COBRA, HYSTERIA, TERRA CRESTA (a možná i PING-PONG Bernie Dugggse). David Whittaker skládal většinou pro Code Masters, jeho hudba je v JET-BIKE SIMULATORu, SKI SIMULATORu, PLANTOONu, GHOSTBUSTERS II, GLIDE RIDER, atd. Nerad to říkám , ale Mike Follin není hudebník (na rozdíl od svého bratra Tima!), takže body inkasovali ti, kteří poroškrtli, nebo na uvedenou skutečnost upozornili (inu, chyták). František Fuka zhudebnil hry KABOOM, INDIANA JONES I-III, F. I. R. E., TETRIS 2, JET-STORY, BELEGOST. Proximální hudebník Miroslav Hlavička svoji hudbou doprovodil hry HEROES '92, (postřeh!), MAH JONGG, PERESTROJKA, AKCIONÁŘ II, BALLERIS a další (bohužel v Beerlandu žádná hudba není, natož poak Hlavičkova).
14) Proměny z vlka (vlkodlaka) v člověka a naopak se odehrávají ve hře KNIGHT LORE.
15) Academy 87 naprogramoval PETE COOKE, 3D hrami se proslavila firma INCENTIVE, jejich první byla DRILLER.
16) Knihy Hobbita Pán prstenů napsal JOHN RONALD REUEL TOLKIEN.
17) Autorem Města robotů byl ing. Vít Libovický (kdepak Kája Saudek!), heslo znělo KONVALINKA.
18) Free Copy má pravděpodobně na svědomí HAJASOFT.
19) Hlavní postava desetiboje je DALEY THOMPSON, autoři hry jsou PAUL OWENS a CHRISTIAN URQUHART.
20) Samantha Fox se svléká ve hře SAMANTHA FOX STRIP POKER.
21) Ve Winter Games si můžete zasportovat v těchto disciplínách: SKI JUMP, HOT DOG, SPEED SKATING, BIATHLON, BOBSLEIGH, FIGURAL SKATING.
22) Programy na tvorbu 48k hudby: ORFEUS (UNIVERSUM), WHAM! THE MUSIC BOX (MARK ALEXANDER), ZX-7 (JÁN DEÁK), MUSIC STUDIO (MS CID). (Pozn.: Ackoliv Miroslav Hlavička používá Orfea častěji než Universum, jeho autorem není. Stejně tak není autorem hry Krtek a autíčko, jak mylně uvedlo Fifo - autorem je Václav Lavička).
23) Hru Tetris na Spectru uvedl MIRRORSOFT, původni autoři programu jsou VADIM GERASIMOV a ALEXANDR PAŽITNOV.
24) V Terramexu máte na výběr z PĚTI dobrovolníků.
25) Dr. Blitzen vystupuje ve hrách DYNAMITE DAN a DYNAMITE DAN AND THE ISLAND OF ARCANUM.
26) Písničku Ghostbusters složil RAY PARKER, Jr., pro hru ji naprogramoval DAVID WHITTAKER (Rob Hubbard osobně se na Spectrech nevyskytuje), kadeřníkem byl NICK DAWSON.
27) Oba dva uvedené Bat many vrhla na trh firma OCEAN.
28) Názvy posledních tří levelů hry LEMMINGS jsou: SLEEPLEES NIGHTS, PRIDE COMES BEFORE..., ENVIROMENTALLY FRIENDLY.
29) Hi-Soft: GENS, Oasis Software: LASER GENIUS, T. R. C.: PIKOMON, Crystal Computing: ZEUS, Picturesque: EDITAS.
30) Ta nejklasičtější hra se jmenuje MANIC MINER a autorem je MATHEW SMITH.
Tak co, jak hodně jste uspěli v HEROES '92? Znáte teď svoje šance na umístění? Jestli se někomu hra zdála moc těžká - je mi líto, to jste asi nikdy těžkou hru neviděli. Oproti adventurám typu Larry I-V, The Sccret Of Monkey Island I-II, Main Street to nebylo nic moc (navíc jsou anglicky... grr!). Stačilo jenom trochu víc přemýšlet, trochu víc zkoušet - a bylo to...! Kdo dohrál, dá mi za pravdu, ostatním doporučují si to alespoň zkusit (i se všemi smrtonosnými konci), vždyť 26190 bajtů textu pro Desktop, se vyrovná povídce o deseti stránkách A4 (pro šťouraly - psáno strojem, řádkování 1,5).
Věřím, že jste se dobře bavili a že si zase rádi zahrajete nějakou další moji hru - třeba to bude tentokrát něco akčního, třeba... no necháme se překvapit.

A abych nezapomněl:
Jde kůň (klap, klap) a had (šš, šš). Na co jdou?

Poslední Návrat žijící smrti

autor: George K.

Začal nový rok, soutěž k deseti letům ZX Spectra tedy skončila a než bude kompletně vyhodnocena, povíme si (jen tak pro zajímavost) něco o podstatné části hry HEROES '92 - o ochraně The Return Of The Living Death (Návrat žijící smrti).
Nejdříve k ochranám vůbec - jsou dvojího typu: 1) chrání program před kopírováním, nebo 2) chrání program před zkoumáním. Slabinou každé ochrany je, že po jejím průchodu je program čistý a pokud se Vám podaří tuto chvíli vystihnout a do programu se vloupat - máte ho. Navíc, kde nemůže software, tam pomůže hardware, a tak člověk, který vítězoslavně stiskne tlačítko Multi-/Masterface nebo NMI si připadá jako bůhvíjaký bůh a přiblble dodá: "Kraknul jsem to." Možná, že někoho napadá otázka proč vůbec by se ochrana měla prolamovat - také by mě to zajímalo, ale jsou lidé, kteří si prostě musí dokázat, že jsou lepší než ti, kteří tu ochranu psali (což je většinou omyl). Návrat žijící smrti jsou vlastně ochrany dvě - Žijící smrt a pak její Návrat. Obě mají několik vrstev, které nejsou sice nijak geniální, ale dokáží znepříjemnit pěkné deštivé odpoledne.
Již po nahráti basicu asi začátečníka překvapí příkaz IF COPY THEN CAT & DOG a pak fakt, že výraz za RANDOMIZE USR není definován. Ve skutečnosti na tom není nic zvláštního, a tak za chvíli určitě přijdete na to, jak se program spouští - a je tu malé překvapení pro hackery používající obrazovkové monitory - rozpakování nechutně zničí prostřední třetinu a trošku poškodí basicový systém. Navazuje několik ldirů, které rozstrkají program po paměti (případně náhodou vymažou paměťový monitor... Vaše škoda, příště si ho nahrajte jinam) a identifikace, zda je program instalován z diskety nebo kazety - podle toho se také dále pokračuje (při nahrávání z pásky by neměla být připojena D40 - program se buď hroutí nebo vyvede něco "až potom" - samozřejmě naschvál).
Pak následuje nahrání zbytku programu - hra má vlastní loadery jak pro disk, tak pro pásku. Loadery jsou ke své škodě nedoceněny - dokáží totiž nahrávat paměť "napřeskáčku" (z čehož plyne, že kód na médiu je Vám na dvě věci - na ... a na nic), ale tato funkce není zcela využita (pouze u kazetové verze se na konci používá obrazovka, protože v paměti je zapotřebí mít současně víc věcí, než je možné) - snad někdy příště.
HEROES se nejdříve rozpakují (teď je pro změnu zničena spodní třetina); opět pár ldirů, operací se zásobníkem, obrázek, hudba a - heslo. Jediná možnost, jak heslo utajit, je, aby ho program sám neznal - proto, ať napíšete cokoliv, vždy se provede to samé, ale za chvíli se přijde do míst, která se správně odkódují jen při tom pravém hesle (to je ta chvíle, kdy se jinak program zhroutí) - existuje skutečně jen to jedno jediné. Při rozkódování musí program ležet na stejném místě, na jakém byl zakódován - místo je to více než nepříjemné: od spodní třetiny videoram až do konce paměti... všechny další skoky jsou prováděny přes zásobník a v tom se nepříliš dobře orientuje, a tak procesor nakonec dohopsá až k dalšímu rozpakování (leží podobně blbě jako odkódování), pak opět chvilka zásobníkových skoků a - konečně start.
Tedy - ne tak docela. Následuje další identifikace "páska versus disk" založená na stavech sběrnice a ROM (tato část se špatně trasuje), opět se spočítá hodnota zásobníku a pak se někudy vběhne do podprogramu, který program správně rozmístí po paměti a ještě pozmění pár adres.
Začíná hra - a to je chvíle pro Návrat žijící smrti. Jejím základem je přerušení (je podezřele velké, že?), které čas od času program odchytává a nechává ho pokračovat někde úplně jinde - kdo přerušení vypnul, dostal se trasováním ke zcela falešným podprogramům, které program ve skutečnosti nikdy nepoužívá (on ho totiž většinou hroutí). Ti, kteří rádi mačkají tlačítko SNAP, se asi dočkali překvapení - nefunguje. Milovníci upravených ROM, si také příliš neužili - aspoň na páskách. Návrat žijící smrti je organickou součástí programu a jen některé jeho pasáže je možné odstranit. Navíc je napsán úmyslně tak, aby odradil - je v něm spousta věcí navíc a špatně.
Kdo hledal texty, které by mu usnadnily hraní, našel, se vší pravděpodobností, vzkaz: THE RETURN OF THE LIVING DEATH: WELCOME TO THE 21st ROUND (ONLY 79 LAPS TO GO), jenž nebyl zdaleka jediným, co jsem tu pro hackery zanechal. Skutečné texty jsou zapakovány textovým pressorem Tolkien 4.0, což se samo o sobě skoro rovná ochraně - pro přečtení by se musely vybalit (bylo by jich asi o 9kB víc).
Poslední Návrat žijící smrti se vygeneruje v okamžiku, kdy hru dokončíte - program je smazán a zůstává pouze obrazovka a hudba (rozkódování bodovacího podprográmku je založeno na podobném principu jako to minulé). Bodování samotné je záležitostí jednoduchou, ale složitě napsanou - snad každý pokus o podvod je někde vidět, takže - kdo si přidal pár bodů a podle ASCII kódu vzniklého čísla domaloval vnitřní rámeček, doběhl sám sebe. Navíc je bodování uděláno tak, aby i při pěti naprosto stejných dokončeních hry vyprodukovalo pět rozdílných tabulek - to co, v těch tabulkách bylo vždy stejné, bylo přesně tím, co nic neznamenalo... K bodování neodmyslitelně patří pozice - slabé to místo všech textovek, protože v sobě musí nést údaje o stavu hry, které samozřejmě jdou pozměnit. Proto jsou prozice HEROES generovány na podobném principu jako finální tabulka - dvě pozice ve stejnou chvíli = dva rozdílné kódy.
Abych to neměl tak jednoduché, zpříjemnil mi život každý Didaktik, na kterého jsem narazil - některé části ochrany na nich prostě nechodily a já ještě doteď nevím proč. Základním problémem je, že každý Didaktik je ve své podstatě originál (tedy nenahraditelný) a koupíte-li si počítač, disketovku a Melodika, můžete hovořit o štěstí, když se spolu snesou. Programátor aby se pak zbláznil při zjišťování, zda je chyba v jeho programu, nebo ve výrobním programu nejmenované zahraniční společnosti. Ať již bylo Specter vyrobeno několik miliónů - nelišily se tak, aby programy na nich nechodily; to se bohužel o branách do světa výpočetní techniky říct nedá. Díky Didaktikům jsou tedy některé pasáže ochrany "mrtvé" - a to je škoda. Po deseti letech si Spectrum zasloužilo pořádnou ochranu, která by potrápila a která by vlastně pro hackery byla hrou ve hře. Proto jsem ji také psal. Škoda.
Veselá příhoda na závěr: Asi nejvíc mě vytočilo, když pásková verze nefungovala s hudebním obvodem AY - přesněji - fungovala se všemi AY, krom Melodiku. (To je vůbec věc, ten Melodik, ještě že nemám absolutní sluch, jinak bych asi vyletěl z kůže při zjištění, že zase hraje o dvě oktávy výše.)
Pokud jste tedy nezkoušeli ochranou projít, zkuste to - je to prča.

středa 4. srpna 2004

AnimAce - díl třetí: Navštivte strojový kód

autor: George K.

Welcome to Machine Code! Možná, že je některým čtenářům líto, že jsem bezcitně opustil Basic a jistě se najdou i tací, co mi budou tvrdit, že v tom krásném jazyce by se dalo napsat daleko více, než jsem minule ukázal, ale moje letitá zkoušenost je, že animovat by se mělo ve strojáku a toho se ve zbytku seriálu budu držet. Tento díl nepřinese asi tolik konkrétních informací, jako ty předchozí, protože je třeba dohodnout se na určitých pojmech a výrazech, které budeme nadále používat a které mohou být pro někoho horkou novinkou.
Ti, kteří neovládají strojový kód, nemusejí zoufat, že jim budou následující stránky na nic - doporučuji sehnat si Universumovu knihu Assembler a ZX Spectrum - vždyť: kolik řečí znáš, tolikrát jsi člověkem...

3.1 Trochu (více) nudná teorie

Každá animace má svůj účel - většinou ji chceme využít v hrách - a na ten je třeba od samého počátku myslet. Neexistuje pravidlo, kdy jakou animaci použít - to je prostě na existenci jak postaviček tak pozadí, navíc je potřeba to všechno sladit (ne cukrem) a tady narazíme na ten největší problém: VZÁJEMNÉ PŘEKRÝVÁNÍ. Tomuto typu grafiky se říká sprajty (sprites) a využívá ho 90 % všech her. Díky náročnosti na rychlost nemůže být o Basicu ani řeč.
3.1.1 Nemaskované sprajty
Než abych složitě popisoval, co mám nemaskovaným sprajtem na mysli, bude jednodušší, když si nahrajete nějakou pěknou hru, kde na ně můžeme narazit. Jistě vám nemusím dvakrát připomínat Manic Manera; zde bylo většinou použito nemaskovaných sprajtů OR (pozadí a postavičky splývají do jednoho celku - přesvědčte se o tom).
Další bezmaskové sprajty najdete ve hrách PYJAMARAMA, ATIC ATAC, SAMANTHA (tam vlastně ne, tam jsou k vidění jiné zajímavé věci), STARQUAKE, atd; tentokrát to bude typ XOR (jako když nastavíte OVER 1 - nevypadá to moc hezky). Nesympatická na sprajtech OR a XOR je, jak se chovají k pozadí a k sobě navzájem; často není vůbec patrné, co se děje, zvláště navrství-li se několik sprajtů na sebe.
3.1.2 Zamaskované sprajty - to je ono!
Pyšní se jimi takové hry, jako je COBRA, GREEN BERET, BAT MAN, Jméno Růže (to musel dělat nějakej machr!), THREE WEEKS IN PARADISE, HERBERT, HIGHWAY, HEARTLAND a dalších pár stovek. Všimněte si např. v Green Beret co se stane, potká-li se víc chlapíků najednou (krom toho, že vás zabijí) - a to se ke všemu ještě roluje pozadí...! Klasickým příkladem sprajtu s maskou je šipka v Art Studiu, Desktopu, Orfeovi...
Co je myšleno maskou? Podívejte se na obrázek: jsou na něm tři typy čtverečků: 1) černé - to je Joe, tak jak ho znáte; 2) bílé - patří také Joeovi (tvoří mu vnitřek těla, obličej a jakousi ochranou čáru kolem); 3) šedé - a to je maska.Ve skutečnosti se grafika a maska nedají zakreslit do jednoho obrázku, udělal jsem to jenom kůli názorné ilustraci. Obrázky by správně měli být dva: na jednom by byla jen grafika a na druhém jen maska (obrázky musí mít stejné rozměry a když je dáte "na sebe" musí dohromady vypadat právě takto). V praxi se využije jednotlivých čtverečků následovně: maska se přiloží na pozadí a to, co "leží pod ní" zůstane zachováno. Vznikne "díra", do které se potom dokreslí grafika, a pak to vypadá přesně jako v Green Beret (Jonathan Smifff mi zaplatil, abych ho propagoval, tak se snažím). Uvědomte si, že tím, jak definujete masku, ovlivňujete výsledný efekt - když v masce necháte v místě skla "bílo", neuvidíte skrz lupu nic, když prostor skla vyplníte, zůstane "průhledné". Existují i masky založené na opačném principu, ale připadá mi výhodnější používat tyto.

3.2 Zákadní sprajtovací algoritmus

Všechny hry, využívající sprajty, vycházejí z jednoho systému jejich přemísťování, který je podle potřeby individuálně přizpůsobován a optimalizován, až k nepoznání. Jeho základ by mohl vypadat přibližně takto:
1. je-li to nutné, vykresli pozadí (např. při posunu ulice to nutné je)
2. nastav nové souřadnice sprajtů
3. polož všechny sprajty od nejspodnějšího k nejsvrchnějšímu (tento bod bývá konkretizován podle toho, zda se hraje ve 3D (BAT MAN, KNIGHT LORE) nebo "nadhledu z boku" (RENEGADE 1, 2, jízda městem v BAT MAN 3) nebo jen "pohledu z boku" (RoboCop, Green Beret) či "shora" (STAR DRAGON, LIGHT FORCE); obecně platí, že sprajty s nejnižším pořadovým číslem jsou "nejdál")
4. zvedni všechny sprajty od nejsvrchnějšího k nejspodnějšímu (viz. 3.)
5. zpátky na bod 1.
Vypadá to na první pohled trochu pochybně, ale hned si k tomu řekneme víc - je jisté, že něco vykreslit a vzápětí to smazat je hloupost - mezi bodem 3. a 4. se musí čekat, aby si člověk vůbec měl šanci sprajty prohlédnout, někdy se také musí otestovat pohyb a podoby, narazí na nejrůznější komplikace: program bude nechutně pomalý a při velkém počtu sprajtů bude obraz blikat až hrůza. Řešení spočívá v tom, že se všechny přípravné práce musejí provést někde v paměti a na obrazovku se dostane pouze nový "snímek", který bleskurychle překreje ten předcházející. Opět existuje několik způsobů, jak se vypořádat s přípravnými pracemi: tuším že v COBŘE se to dělá tak, že během jednoho přerušení se vyhodnotí nové pozice sprajtů, uloží se na odkazy na jejich data na zásobníku, a v dalším přerušení se to všechno nakreslí a to ještě zbyde čas na zvuk. Jiná varianta je mít někde v paměti rezervní obrazovku, jejíž obsah se bude kopírovat do videoram (bývá relativně pomalé), chytřejší programy kopírují pouze tu část, kde došlo ke změnám.

3.3 Prográmek na dobrou noc

Program byl odladěna na systému Prometheus - používáte-li jiný překladač, může dojít u pseudoinstrukcí k odlišnostem v zápisu. Program se snaží konkretizovat mlhavé představy o magické moci masky... Zkuste zpozorovat rozdíl, ke kterému dojde uvnitř čtverečku, když v datech změníte čísla 24 na 0.
ent START  ;pseudoinstrukce, udávající kde má program
    ;začátek
START ld hl,16384 ;bitová mapa videoram je zaplněna vzorkem
 ld de,16385 ;kvůli demonstraci účinků masky
 ld bc,6143
 ld (hl),255 ;číslo vzorku (255) je možno měnit podle libosti...
 ldir
 ld hl,DATA  ;HL ukazuje začátek dat sprajtu
 ld de,#4022 ;DE říká, kam do videoram se bude kreslit
 ld b,8  ;výška sprajtu je osm bodů
LOOP ld a,(de)  ;vezmi bajt z videoram
 and (hl)  ;a ponech pouze to, co je v masce
 inc hl  ;posuň se bajt grafiky
 or (hl)  ;a přidej ho k masce
 inc hl  ;posuň se na další masku
 ld (de),a  ;bajt polož do videoram
 inc d  ;posuň se ve videoram na další řádek
 djnz LOOP  ;opakuj 8x
 ret   ;konec - vrať se

DATA defb 0,0,0,126,0,66,24,66,24,66,0,66,0,126,0,0
(pokračování příště)