Tilstand 7

Mode 7  er en grafiktilstand introduceret på Super Nintendo Entertainment System . I denne tilstand er det muligt at skalere og rotere baggrundslaget før generering af hver enkelt scanningslinje [1] , hvilket tillader, med en vis dygtighed hos programmøren, at skabe forskellige grafiske effekter. Den mest bemærkelsesværdige af de effekter, der kan opnås, er den perspektiviske effekt , der gives til dette lag ved at skalere og rotere på samme tid. Denne effekt opnås ved at konvertere baggrundslaget til en 2D- strukturvandret plan, det vil sige som et resultat af at konvertere dens højde til dybde . Således opnås den visuelle effekt af tredimensionelt rum.

Interessant nok havde Sega Mega Drive , som konkurrerer med SNES , ikke i starten sådanne muligheder, men med tilføjelsen af ​​Sega Mega-CD bliver en lignende tilstand tilgængelig på dette system. Denne effekt blev brugt i Sonic the Hedgehog CD i Special Stages. Atari Lynx bærbare system og Game Boy Advance [2] havde også en lignende tilstand .

Ansøgning

Gengivelseslignende tilstand 7 blev brugt ret ofte på systemer, der havde betydelig 2D-grafikkraft og ikke havde særlig understøttelse af 3D-grafik . Klassiske konsolspil, der udnytter Mode 7, omfatter F-Zero , Teenage Mutant Ninja Turtles: Turtles in Time , Super Castlevania IV , Secret of Mana , Secret of Evermore , Final Fantasy IV , Final Fantasy V , Final Fantasy VI , Super Mario RPG : Legend of the Seven Stars , Super Mario Kart , Super Mario World , Super Star Wars , Chrono Trigger , ActRaiser , Kirby Super Star , Axelay og The Legend of Zelda: A Link to the Past . Mange af disse spil blev senere overført til Game Boy Advance ved hjælp af en lignende grafisk teknik. Mange GBA-eksklusive spil er også blevet skabt ved hjælp af tilstande, der ligner Mode 7.

Beskrivelse

SNES har otte forskellige grafiktilstande, nummereret 0 til 7 [1] . Den sidste (baggrundstilstand 7) giver dig mulighed for kun at bruge ét lag, som kan skaleres og roteres. Game Boy Advance og Nintendo DS håndholdte systemer understøtter rotation og skalering af traditionelle Nintendo flisebelagte baggrunde 1 og 2, samt rotation og skalering af rasteret i tilstande 3 til 5. Sidstnævnte blev dog sjældent brugt i GBA på grund af teknisk begrænsninger [3] . På hver enhed, der understøtter tilstand 7, er det muligt at udføre rotations- og/eller skaleringsoperationer under vandret retracement, hvilket tillod visning af et vandret plan med en perspektivisk effekt. Det er denne funktion, der er blevet "telefonkortet" for tilstand 7. Det er muligt at opnå mere komplekse effekter såsom gennemskinnelighed / dug som et resultat af at anvende andre ligninger til at beregne position, skalering og rotation for hver scanningslinje. Det er misvisende at tænke på Mode 7 som kun egnet til racerspil, da det også blev meget brugt til at vise "himmelske" scener i RPG'er som Square 's Final Fantasy VI . Mode 7 tillod udviklere at opnå effekten af ​​en uendeligt strækkende verden.

På SNES, med en vis parameterisering af mode 7, er det muligt at placere baggrundspixel oven på sprites. Dette blev f.eks. brugt i niveau 2 i spillet Contra III: The Alien Wars (karakterer og andre genstande passeret under broer), samt i Super Mario Kart i en situation, hvor en karakter falder uden for niveauets grænser. På GBA kan en lignende effekt opnås i tilstand 2, som understøtter to skalerbare og roterede planer: For at opnå en lignende effekt er det nok at placere spriten mellem disse planer.

Mange pc- spil , især Wacky Wheels og Skunny Kart , bruger en softwareimplementering af Mode 7, hvilket forklarer deres visuelle lighed. Clickteams Multimedia Fusion-software har en "Mode 7"-udvidelse, der giver udviklere mulighed for at bruge denne teknologi.

Under populariteten af ​​SNES blev Mode 7 ofte brugt som et middel til at øge salget af konsollen ( Nintendo Power , SNES Player's Guide). Så i Teenage Mutant Ninja Turtles: Turtles in Time , porteret fra arkademaskiner, blev et af niveauerne ændret fra traditionel rulning til at bruge tilstand 7.

Det matematiske grundlag for tilstand 7 er transformationen af ​​skærmkoordinater til baggrundskoordinater ved hjælp af todimensionelle overgangsmatricer [4] :

hvor  er baggrundsteksturkoordinaterne;  — skærmkoordinater;  — henholdsvis vandret og lodret forskydning;  — positionskoordinater for observatøren i forhold til teksturen.

Overgangskoefficienterne er valgt på denne måde [5] :

hvor  er rotationsvinklen ;  — skaleringsfaktor langs ;  — skaleringsfaktor langs aksen . I dette tilfælde vil rotationen være mod uret. For at rotere med uret, tag koefficienterne og med det modsatte fortegn.

Alle operationer udføres på 16-bit fortegnsnumre med en fast punktposition, dog er forskydninger begrænset til 13 bit. Punktpositionen er mellem 7 og 8 bit [6] .

Denne affine transformation tillader kun translation, rotation og strækeffekter. I mange spil opnås effekter som illusionen af ​​perspektiv, buede overflader og forskellige forvrængninger ved at ændre transformationsparametrene før outputtet af hver næste scanningslinje.

Begrænsninger

Mode 7 gælder kun for baggrunde og gælder ikke for sprites. Af denne grund skal ethvert objekt, der ikke må rotere samtidig med baggrunden, være en sprite, også selvom et sådant objekt nominelt skal betragtes som et baggrundselement, såsom stationære platforme. Spiludviklere bør levere sprites til sådanne objekter. For eksempel, i Super Castlevania IV roterer nogle chefer (såsom den store golem Koranot). Teknisk set er disse bosser lavet i form af en roterende baggrund, mens de platforme, som hovedpersonen kan stå på, er sprites. Denne metode, bortset fra åbenlyse forbedringer, ligner meget NES - måden at vise store bosser på, som opnåede dette uden at bremse spillet og uden at blinke grafisk artefakter ved at placere chefen i baggrunden, hvor han bevægede sig og handlede. Begge eksempler fra begge systemer virker kun, når objekter placeres i samme vandrette plan som det bevægelige objekt. For eksempel, i begge systemer, kan gulvet, loftet og scoringsområdet osv. teknisk set være en del af baggrunden, på trods af deres nominelle placering uden for det faktiske spilområde. Hvis spillet kræver fuld skærm, kan disse områder laves som sprites, men dette kan resultere i langsommere spilydelse.

Da mode 7 ikke gælder for sprites, skal hver "størrelse" af en given sprite i en vis afstand fra observatøren være tegnet på forhånd. På grund af dette er det muligt at observere en brat ændring i spritens størrelse, for eksempel når man nærmer sig eller bevæger sig væk fra observatøren. Effekten kan for eksempel observeres i Super Mario Kart eller F-Zero på alle objekter under spillet, eller i Final Fantasy VI , når man bevæger sig lodret hen over kortet med et luftskib i sigte.

For at undgå manuelt at tegne hver sprite, var nogle patroner , såsom Super Mario World 2: Yoshi's Island , udstyret med en specialiseret Super FX 2 - processor , der gjorde dette på hardwareniveau. Betydeligt arbejde omkring denne begrænsning blev udført i Contra III: The Alien Wars i den anden bosskampscene, såvel som i kampen mod Reznor (platforme og vægge), Iggy (kampplatform), Larry (platform) Morton, Ludwig, Roy og Bowser i spillet Super Mario World . I disse eksempler er chefen baggrunden og roteres derfor af tilstand 7, scoringsområdet er også baggrunden, men kampscenegulvet, såvel som hovedpersonen og kuglerne, er en sprite og gentegnes i forskellige vinkler iht. til spillerens rotation. Begrænsningen er dog, at du kun kan arbejde med én sprite ad gangen.

Men der er undtagelser til effekter som tilstand 7, hvad angår sprites tegnet i hånden eller eksterne processorer. I Tales of Phantasia og Star Ocean udføres en del af sprite - gengivelsen i realtid udelukkende i software. Så i Tales of Phantasia er dette den lodrette skaleringseffekt af en sprite, når den "træder ind" i optagepladsen. I Star Ocean er dette "crush"-effekten, når genstande hentes fra en åben skattekiste. Fordi der kræves yderligere fliser for at vise disse effekter , og på grund af andre ressourcekrævende funktioner i disse spil (begge bruger en lydstreaming mulighed for at omgå begrænsningerne for SPC700-chippen , og også, ligesom andre top-tier RPG'er på SNES, brug en proportional skrifttype ), at anvende disse effekter kun muligt i nogle få situationer.

Hardwareimplementering

To PPU-chips (billedbehandlingsenhed, engelsk  billedbehandlingsenhed ) SNES-konsoller bruger en 8-bit 32 kB RAM -chip . I løbet af en cyklus har en PPU adgang til en række fliser (128x128 fliser), den anden PPU har adgang til et gitter af fliser (256 fliser, hver 8x8 pixels med 256 farver).

Andre implementeringer

Sega Mega Drive / Genesis har ingen hardwareegenskaber, der ligner Mode 7. En lignende tilstand blev imidlertid gjort tilgængelig med Sega Mega-CD- tilføjelsen , som bruges i Special Stages-niveauerne på Sonic the Hedgehog CD . Men som med Tales of Phantasia og Star Ocean, kan nogle sprite-effekter også implementeres helt i software af spiludvikleren. Som et resultat blev nogle lignende effekter brugt i spil som Castlevania: Bloodlines , The Adventures of Batman and Robin , Mickey Mania: The Timeless Adventures of Mickey Mouse , Alien Soldier , Red Zone , Contra: Hard Corps og andre Sega Mega Drive- spil . Ud over Sega 32X blev der ikke kun implementeret 2D-grafikfunktioner, men også grundlæggende 3D-grafikfunktioner. Som en konsekvens er brugen af ​​effekter som zoom og rotation blevet ret typisk i spil som Knuckles' Chaotix , der blandt andet var den første i Sonic the Hedgehog-serien til at implementere Special Stages polygon -niveauer.

Se også

Links

Noter

  1. 1 2 Baggrunde i SNES-udvikling (downlink) . Dato for adgang: 28. januar 2013. Arkiveret fra originalen 2. februar 2013. 
  2. TwoHeaded Software (downlink) . Dato for adgang: 28. januar 2013. Arkiveret fra originalen 2. februar 2013. 
  3. Specifikationer (downlink) . Dato for adgang: 28. januar 2013. Arkiveret fra originalen 21. juni 2009. 
  4. SNES-udvikling . Dato for adgang: 22. januar 2013. Arkiveret fra originalen 29. januar 2013.
  5. Tilstand 7 - Skalering i SNES-udvikling (downlink) . Dato for adgang: 28. januar 2013. Arkiveret fra originalen 2. februar 2013. 
  6. Tonc: Mode 7, del 1 (utilgængeligt link) . Dato for adgang: 28. januar 2013. Arkiveret fra originalen 2. februar 2013.