Oficiálna, licencovaná verzia DOOM 1 na asi najpomalšom možnom hernom HW: Super Nintendo Entertainment System (tiež nazývaná Super NES, SNES) má 8/16 bit CPU 65C816 na 3.58 MHz CPU s 128 KB RAM, grafickú časť obsluhovalo PPU s 64 KB VRAM. Najčastejšie herné rozlíšenie je 256x240 pixel v 256 farbách a
zvuk malo na starosti 8 kanálové SONY SPC700 s 16-bit DSP a vlastnou 64 KB
audio RAM. Išlo samozrejme primárne o 2D konzolu, trochu anemické
CPU a relatívne pomalšie DMA na tak veľa farieb, takže
konkurenčný Megadrive s lepším a o dosť rýchlejším CPU a s menším
počtom farieb zvládal "tu istú" hru často rýchlejšie a vo
vyššom rozlíšení. SNES mal aj niečo ako pseudo 3D grafický "mode
7" išlo však "len" o afinnú transformáciu 2D plochy
do 3D priestoru, šikovné ale nevhodné pre skutočné priestorové
kalkulácie, nie to ešte rýchle textúrovanie povrchov. Nintendo si tieto
skutočnosti a budúcnosť hernej grafiky plne uvedomovalo a pre SNES
hľadalo hardvérove a softvérové riešenie. A našlo ich na západe.
SNES Mode 7 grafika - pôsobivé ale pre potreby DOOM hier nepoužiteľné
Argonaut Games sa postarali o ten HW upgrejd.
Argonautov založil britský tínejdžer na výške Jeremy Elliott
"Jez" San alias J.San alias Jason preto ten
“starogrécky” názov firmy. Veľmi šikovný chlapec, ktorý
predal mnoho kópií 3D strielačky Star Glider 1 a 2 na Amige a Atari ST /aj pre ZX Spectrum, samozrejme/ a CIC
ochranu Gameboy/SNES kartridžov prelomil za desať minút
nahliadnutím do kódu ich hier a použitím pár centového
rezistoru a kondenzátora. Počas výstavy CES 1990 machrovali
s 3D grafikou na starom, čiernobielom GameBoy /8 bit Z80 CPU práve ako to ZX Spectrum/ a keď poskočíme v čase
aj technologickými 3D demonštrátormi pre NES/SNES. Načasovanie
nemohlo byť lepšie, lebo v tom čase nintendo v tajnosti pracovalo
na "3D" hrách založených na Mode 7 grafike – napríklad Pilotwings a Shigeru
Miyamoto nebol nadšený z toho, že SNES nemá dostatočný výkon
na 3D modely lietajúcich strojov ťažších ako vzduch, chcel filmové švenkovanie kamery okolo objektov.
Nintendo bola v tých časoch, ešte viac ako dnes, nepreniknuteľná korporátna pevnosť, arogancia a pýcha,
ktorá sa s barbarským západom veľmi nebavila, mysleli si, že na to nie
sú odkázaní. Pozvanie argonautov do japonska teda bolo veľkým prekvapením. Dvaja
ich členovia Jez /23r./ a Dylan /18r., 3D kód/ teda leteli do
Tokia a tam sa stretli s najvyššími za jedným stolom /
Miyamoto, Gunpei Yokoi, Takehiro Izushi, Yasuhiro Minagawa, Genyo
Takeda/. Japonci ukázali rozpracované tajné projekty, vrátane
Pilotwings a spýtali sa či tu je nejaká možnosť to nakódovať
lepšie. Dostali promptne negatívnu odpoveď, ale briti ponúkli aj riešenie - keď dostanú jeden milión
dolárov urobia im čip do kartridža, ktorý to zvládne. Prachy
dostali. Vznikla akceleračná Super FX architekúra s vlastnými na mieru ušitými inštrukciami a Miyamoto sa vytešoval nad 3D modelmi a fly-by kamerou v plne polygónovej hre Star Fox.
Druhá generácia Super FX /RISC na 21.4 MHz
namiesto 10.74 a viac RAM/ poháňala hry ako Super Mario World2: Yoshi’s Island, Winter Gold a DOOM. Ak ste teda
otvorili DOOM SNES kartridž našli ste tam 16 bitové RISC s 512KB
framebufferom, kde zapisoval svoje dáta, "iba" 2 MB ROM s kódom hry a jej
asetmi /a DOOM vážne potreboval raz toľko/. Obal, farbu plastu DOOM katridža bola tiež unikátna –
červená. Z celého cirka 800 kusového katalógu SNES hier bolo
dovolené iba trom mať inú farbu ako sivú /DOOM a Maximum Carnage boli červené, Killer Instinct bol čierny/.
Máme teda HW /dopredu poviem, že pre potreby
DOOM enginu stále katastrofálne nedostatočne výkonný na úrovni
i286 na 20Mhz s mizerným GPU/ a potrebujeme ešte geniálneho kódera.
Randy Linden. Určite ho poznáte - pre Amigu uvaril Dragon's Lair /nemožné konverzia "laser disc" arcade kabinetu/ a je to on, čo v
čistom asm kóde naprogramoval PS1 emulátor Bleem! pre PC a neskôr
Bleemcast! pre SEGA Dreamcast. Je to pán prográmtor. Obdivoval hru DOOM, kolosálny posun v grafike a hernej mechanike a rozhodol sa vo
voľnom čase, ako hobby projekt, dostať túto hru na SNES pomocou cracknutého
kartridžu s hrou Star Fox /SFX2 čip/.
A dokázal to úplne sám, na zelenej lúke, z nuly a bez internetu. Od kompletných vývojárských nástrojov pre SFX čip až po vlastný klon DOOM engine. Presne tak, lebo nemal prístup ku zdrojovému kódu ID softu, takže si to nakódoval po svojom v čistom asembleri /PC DOOM engine je céčku/ a nazval to Reality engine. Nemá prakticky nič spoločné s carmackom okrem toho, že číta dáta z toho istého WAD súboru. Obmedzenia zo strany SNESu boli brutálne a 2 megabajtová ROM bola zaplnená do posledného bajtu vitálne dôležitými asetmi /vošla sa tam aj podpora pre myš a Xband modem, teda online MP/. Čo sa nevošlo, letelo preč, preto niekoľko tých chýbajúcich levelov, zvukov, animácii enemákov a každý bubák kričí ako Imp. Duch hry, jej hrateľnost však ostala plne zachovaná a slušný predajný úspech sa nakoniec dostavil.
A dokázal to úplne sám, na zelenej lúke, z nuly a bez internetu. Od kompletných vývojárských nástrojov pre SFX čip až po vlastný klon DOOM engine. Presne tak, lebo nemal prístup ku zdrojovému kódu ID softu, takže si to nakódoval po svojom v čistom asembleri /PC DOOM engine je céčku/ a nazval to Reality engine. Nemá prakticky nič spoločné s carmackom okrem toho, že číta dáta z toho istého WAD súboru. Obmedzenia zo strany SNESu boli brutálne a 2 megabajtová ROM bola zaplnená do posledného bajtu vitálne dôležitými asetmi /vošla sa tam aj podpora pre myš a Xband modem, teda online MP/. Čo sa nevošlo, letelo preč, preto niekoľko tých chýbajúcich levelov, zvukov, animácii enemákov a každý bubák kričí ako Imp. Duch hry, jej hrateľnost však ostala plne zachovaná a slušný predajný úspech sa nakoniec dostavil.
Grafika. Extra kapitola ku technickej stránke.
SNES s akcelerátom transformácie geometrie stále nemá
dostatočný fillrate pre plnenie obrazu pixelami alebo textúrami.
Z tohto dôvodu je preto strop a podlaha miestností DOOM SNES
verzie zobrazená iba ako farebný gradient, ditherovaný prechod. A muselo
sa ísť dole aj s rozlíšením. Z natívných 256x224 sa pomocou čierneho rámčeka dokola mínus pevný status bar zišlo na 216x144
pixelov grafiky v hernom okne. A pretože pixely po vertikále boli
duplikované tak vo finále SNES Reality "doom" engine renderuje v hre DOOM
iba 108x144 pixelov na priemerných 10 fps !! asi ako ta i386/25Mhz, keď sa to dá podľa YT odhadnúť.
A teraz si svorne poplačme aká krivda sa nám stala, keď budeme musieť hrať
niektoré PS5 hry v mrzkom rozlíšení 2560 × 1440/60fps s RT efektami.
Randy Linden je fanatik. Je to človek, čo si zohnal amigu, urobil na nej C64 emulátor, vyriešil pripojenie C64 floppy mechaniky. Potom išiel na výstavu a pred prezidentom Commodore spustil tu amigu, spustil ten emulátor, vložil do C64 floppy mechaniky C64 hru a nabootoval to a na tej amige aj hral. Ohromení boli všetci. Podobné sadnutie si na zadok nám už všetkým pri moderných hrách roky chýba, bez ohľadu na fenomenálny prebytok výkonu či už pri PS4 alebo pri nadchádzajúcih next gen konzolách. Dnes Randy s vlastnou start-up firmičkou robí nejaké malé veci pre android /hej, vyzerá to ako Quake engine, čo už asi nikoho neprekvapí/. Nový HW vzdialený už len niekoľko týždňov teda máme nespochybniteľne v tip-top kondicií, čaká sa na geniálnych kóderov a herných dizajnérov.
No comments:
Post a Comment
**** pre vloženie hypertextového odkazu do komentára použi CSS kód: hyperlink ****