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.
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.
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.
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.
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.
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.
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.
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.