Attribútumütközés

Az attribútumütközés vagy ütközés egy grafikus műtermék, amely  a régi otthoni számítógépeken jelenik meg, és hardveres korlátokhoz kapcsolódik. Legismertebb a ZX-Spectrum felhasználók számára .

Az üzleti számítógépek az otthoni számítógépekkel ellentétben szűkítették a színpalettát, de nem engedték meg az ilyen korlátozásokat; bármely pixel bármilyen színt írhatna N -ből . A CGA -ban csak 4 szín volt, míg az Apple Macintosh általában monokróm volt.

Ok

A memória megtakarítása és a munka felgyorsítása érdekében az első színes számítógépek nem engedték, hogy színt rendeljenek egyetlen képponthoz sem . Ehelyett a képernyőt blokkokra osztották, és minden blokk két színt kapott - előtér és háttér. Mindegyik blokkban a pixel e két szín valamelyikével rendelkezett (és egy bittel volt kódolva). Ha három színt próbálunk megjeleníteni egy blokkban, a három szín egyike elvész, ami bizonyos műtermékekhez vezet [1] .

A ZX-Spectrum minden 8×8 pixeles karakterterhez 1 bájtos attribútumot rendelt – három bites előtérszínt INK, három bites háttérszínt PAPER, 1 bit fényerőt BRIGHTés 1 bit villogást FLASH[2] [3 ] . Ez 15 színt adott (csak a "videovezérlő + TV" bizonyos kombinációinál a fekete valahogy megkülönböztethető az élénk feketétől) [3] . Így 256×192 felbontás mellett a videomemória mindössze 6912 bájtot foglalt el [2] [3] . A villogó hatást egyébként rendkívül ritkán használták, többek között azért, mert a villogó terület egyértelműen négyzet alakú blokkokból áll.

Az MSX 1-ben az attribútum 8×1 pixeles vízszintes blokkokhoz van hozzárendelve. Ezen kívül voltak hardveres sprite -ok , amelyek nem ütköztek egymással és a háttérrel. A ZX-Spectrumról történő portoláskor azonban az attribútumbájtokat gyakran megszorozták, de sprite-okat nem használtak, ami szinte megkülönböztethetetlen játékhoz vezetett. NES-ben a konfliktuszóna 8×8 pixeles - de hardveres sprite-ok, hardveres görgetés és széles paletta (összesen 52 szín, egyszerre 8 paletta 3 szín + alap [4] ) mellett ez alig észrevehető.

A statikus képek természetesen a videomemória korlátait figyelembe véve készülnek. A játékokban az arculat dinamikusan épül fel, és a problémát valahogy kezelni kell.

A harc módjai

1. Használja a háttér attribútumot

Ez a legegyszerűbb programozási módszer - a programozó csak a pixeleket manipulálja anélkül, hogy megérintené az attribútumsíkot. Ebben az esetben nincs szín "tégla", hanem a sprite elveszik a háttérben ( Double Dragon [1] [5] ).

Annak érdekében, hogy ez a módszer jó minőségű eredményt adjon, egy speciális stílust fejlesztettek ki ( Saboteur!, Bomb Jack , Cyclone , Strike Force Cobra ). A játék dizájnja a feketére épül , a fekete szín szinte mindenhol megtalálható: falmintákban, dekorációkban, ellenségek ruháiban... A nem fekete szín játssza a világítás szerepét: például egy fekete nindzsa fut végig egy A sárga fal feketévé és sárgává válik, a kék ég hátterében, hogy a ninja fekete és kék. Konfliktus lesz, ha a feketét elhagyják bizonyos ismerősökben (a székek támlái a Saboteur II: Avenging Angel -ben ).

+ : érdekes vizuális stílus; a színes kép kisebb műtermékekkel van kombinálva; nincs attribútumkezelés.

− : A karaktereknek feketének kell lenniük, minimálisan világos vonalakkal, és a háttérnek fekete-fehérnek kell lennie. Ha nem ez a helyzet, akkor az ismerősség jól látható lesz.

2. Használja a sprite attribútumot

A sprite kiterjeszti az attribútumait a háttérre, ami egy színes "téglát" eredményez, amely követi a hőst. Ezt a mechanizmust ritkán használják, általában csak a főszereplőnél, de az ellenségeknél nem – például a Pac-Mania [6] vagy a Wally-ról szóló játékok sorozata ( Every's a Wally stb.)

+ : a sprite-ot szín választja el a háttértől; nincs stílus vagy mozgás korlátozása.

− : A műtermékek jól láthatóak.

3. Szilárd háttér, színes sprite-ok

Az egyik legnépszerűbb módszer. A hátteret egyszínűre (leggyakrabban feketére) festjük, minimális díszítéssel, a játékmenetet pedig úgy építjük fel, hogy minimális legyen a valószínűsége annak, hogy két különböző színű tárgy ütközzen. A szint legtöbb eleme járhatatlan és nem okoz konfliktust; kevesen járhatóak akár előtérben, akár átfedő sprite-ok ( Exolon , Rex ), vagy kiterjesztik tulajdonságukat a sprite-ra ( Dizzy ).

A legtöbb labirintus típusú játék így jelenik meg: Manic Miner [5] , Monty sorozat , Abu Simbel Profanation , Cybernoid , Into The Eagle's Nest . Szintén jellemző a térgörgetéses lövöldözős játékokra ( Zynaps , R-Type ), mivel a kis számú ponttal ellátott fekete háttér kiválóan alkalmas a tér ábrázolására.

+ : rendkívüli egyszerűség.

− : Világos háttér grafika.

4. Kétszínű kép

A játéktéren belül a teljes kép kéttónusúvá válik ( Elite , Chimera , Head Over Heels , Robocop , Quazatron , Terra Cresta ). Azonban a játéktér színe is hordozhat bizonyos információkat. A Robocop játékban ezek különböző szintek, a Quazatronban ezek különböző helyszínek, a Terra Crestában pedig a szinten belüli zónák. Gyakran ( Draconus , Turbo Esprit ) a kép fő része kéttónusú, és csak néhány fontos objektum jelenik meg más színnel.

A legtöbb pszeudo-3D (versenyzés) és izometrikus játék így van renderelve.

+ : műtermékek teljes hiánya; nincs mozgáskorlátozás; nincs attribútumkezelés.

− : Elveszett a színes rajzolás képessége.

5. A sprite-ok igazítása ismertség alapján

A sprite mozgási lépése egy 8 pixeles rácsra korlátozódik. Ez a módszer kiválóan alkalmas olyan játékokhoz, amelyek nem igénylik a jelenetek dinamikus megjelenítését (stratégiai, logikai játékok), de dinamikus játékokhoz is alkalmazzák - így értünk el egy gyors Centipede játékot [5] . A Sprite mozgása és a háttér görgetése 8 pixeles lépésekben jól látható a Savage , Astro Marine Corps , Dan Dare III , Extreme esetében .

Ez a mechanizmus nem mindig segít, és gyakran kiegészítik más módszerekkel. Például a Trapdoor és a Flunky játékok nagy sprite-okat használnak egyszínű kitöltéssel, és a nagy háttérkép az elülső sprite háttérszínén adja vissza a színét.

Egyes esetekben az úgynevezett sprite- elmozdulást alkalmazzák , amikor csak egy sprite-ot (és esetleg a hátteret) rajzolnak meg egy 8x8-as ismerősben. A Savage and Astro Marine Corps -ban az elülső sprite teljesen helyettesíti a hátsó sprite-ot. A Sprite elmozdulása nagyon észrevehető a Golden Axe játékban , ami rontja a játék grafikájának összbenyomását.

+ : egyszerűség; Ez a lépés önmagában komolyan csökkenti a műtermékek számát.

− : nem mindig alkalmas, dinamikus játékokban szaggatott mozgáshoz vezet.

6. Attribútumok dinamikus megváltoztatása

Egyes demók dinamikusan változtatják az attribútumokat, szinkronizálva a monitor vízszintes vizsgálatával. Az ütközések nem tűnnek el, de a konfliktuszóna 8x1 pixelre csökken.

+ : Kísérlet a videomemória korlátainak megkerülésére.

− : A módszer sok CPU-időt vesz igénybe.

Jegyzetek

  1. 1 2 Árkád színek, illusztrációk és tulajdonságok összecsapása 1979-89 | David Surman – Academia.edu . Letöltve: 2022. június 23. Az eredetiből archiválva : 2022. június 23.
  2. 1 2 L Betörés a programba – ZX Spectrum képernyőmemória-elrendezés . Letöltve: 2022. június 23. Az eredetiből archiválva : 2022. július 3.
  3. 1 2 3 A ZX-Spectrum képernyő elrendezése: I. rész – Az események utolérték . Letöltve: 2022. június 23. Az eredetiből archiválva : 2022. március 31.
  4. PPU paletták - NESdev Wiki . Letöltve: 2022. június 23. Az eredetiből archiválva : 2022. május 29.
  5. 1 2 3 Color Clash: The Engineering Miracle of the Sinclair ZX Spectrum - Paleotronic Magazine . Letöltve: 2022. június 23. Az eredetiből archiválva : 2022. május 18.
  6. A három legkifinomultabb Pac-Man a ZX Spectrumon? - Youtube . Letöltve: 2022. június 27. Az eredetiből archiválva : 2022. június 27.