27. 11. 2014

Wolfenstein - Sega Megadrive versus Super Nintendo


Megadrive /1988/ - 16/32 bitová konzola s Motorola 68000 CPU na 7.61 MHz s 136 KB RAM /64KB systémová, 64 KB pre grafiku, 8 KB pre audio/ + voliteľne ďalších 64KB externej VRAM na kartridži /GPU adresovalo maximálne 128 kilo vram/ sa postavila zoči voči vtedajším doma nedostupným i286 a fuj drahým high-end i386kám. Obe tie intel šmejdy rozvalcovala v 2D grafike /skroling, sprajty/ nechutne obscénnym spôsobom. Niet sa čomu čudovať, išlo predsa o špecializovanú hernú mašinu. Intely v podobe i286 boli v tom čase štandardne taktované na cirka 6-8-10 /eventuálne 12Mhz v "turbo" režime/, i386 neskôr najčastejšie na 16-33 Mhz. Evidentná, megahertzová prevaha nad MD, plus malo PC o dosť viacej pracovnej RAM, ten jeden megabajt sa vždy nejako našiel, elita machrovala aj so štyroma kolíkmi.

"If you're willing to restrict the flexibility of your approach, you can almost always do something better." - Carmack

Lepšie CPU a hojnosť RAM umožnila PC trochu experimentovať v 3D priestore /tzv. "polygónové" hry dnes vynecháme/, prišiel teda Wolfenstein v roku 1992 a ešte pred ním od rovnakého autora Catacomb 3D /1991/. Ak to nikto z vás mladších nehral, tak Wolfík vyžadoval čo najrýchlejšiu i286, optimálne tu drahú i386, inak ste skončili na 10-15fps cukatúre vo full screene, pričom základné rozlíšenie bolo iba nejakých 320x240 pixelov. Zdá sa byť krajne nepravdepodobné, aby niekto dokázal nakódovať Wolfa na domáci či prenosný 8 bit na 1-4MHz. Nikdy však nepodceňujte schopnosť totálnej optimalizácie a dar veľkého talentu - viď aj môj výživný starší článok. My však chceme Wolfa pre naše dve 16 bitové konzoly, veľkých konkurentov a čo čert nechcel, tak ho oficiálne dostalo práve a iba SNES od nintenda /predstavte asi ako dnes bojujú o exkluzivitu na COD s MS a SONY/.

SNES /1990/ - 16 bitová šunka s CPU Ricoh 5A22 /praotcom je MOS 6502 známa z 8 bitového Atari alebo C64ky, tam ako 6510ka/ na biednych 3.58Mhz. Pamäť - 256 kilo /128 KB systémovej RAM, 64KB pre audio a ďalších 64KB pre grafiku + extra ram na katridžoch opäť voliteľne/. Tak sa na jeho Wolfa /port z marca 1994/ pozrime. Zadržte ten konský rehot. SNES v tomto prípade nepoužíva žiadne akceleračné čipy /!!/, beží to na locked 15 fps/256 farieb a v rozlíšení 112x80 pixelov - hardvérovo zväčšené /mode 7 trik/ na celú plochu obrazovky v upscale rozlíšení 256x224. SNES má teda raz toľko ram v základnej výbave ako MD ale presne o toľko aj menej výkonné CPU. Dokáže Megadrive zdrvujúco kontrovať a je možné aby nejako Wolfa, raycasting v slušnej kvalite uťahal ?

Zero Tolerance /1994/ - maličké herné okienko, polovičné pixel rozlíšenie po osi X, obmedzená draw distance a farebná paleta, hrubý dithering, 16 farebná pseudo alfa, 10-15 fps, dvere v hre majú "hrúbku" jeden pixel, samozrejme bez pomocnej HW akcelerácie, špeciálne triky pre šetrenie priepustnosti a symetricky riešený refresh /vram/ pravej a ľavej polovice obrazovky. Bloodshot /1994/ a Toy Story /1996/. Toto už vyzerá omnoho lepšie, pri TS to dokonca beží cez 20fps /ale žiadne obludky/ a obe sú v plnom 1:1 pixel rozlíšení, bystré oko si všimne jednu fintu. Hry zrkadlia hornú a dolnú polovicu obrazovky /sledujte steny/, technicky to teda ide stále ako Zero Tolerance a navyše pri počte NPC vyššom ako päť ide engine vyslovene do kolien. A konečne Duke Nukem /1998/ - takmer neznáma, lokálna a brazílska záležitosť od Tec Toy. Špekuluje sa, že beží na modifikovanom engine Zero Tolerance. Je snaď toto latino ghetto maximum, čo zo seba Megadrive vytlačí ? Nie !!



"Mega" Wolfenstein /work in progress od roku 2012/. Neoficiálny, garážový port. Piplavá, ručná práca jedného človeka, hardcore asm kódovanie, použitie všetkých optimalizačných trikov /DMA časovanie, tiling, H-scroll, vertical dithering a stovky ďalších/. Originálny Wolf má napríklad 106 základných textúr po 64x64 pixelov, ktoré dokopy zaberajú 430KB, teda viac ako MD a SNES všetkej ram spolu. A kdeže sú ešte sample všemožných zvukov a herná logika. Aktuálna verzia však zvláda aj 50+ NPC na ploche naraz stále na hrateľnom framerajte, dostatočne veľká hernú plochu, verne zachováva typickú wolfík grafiku a zvuky s pochopiteľnou redukciou kvality. Vývoj ďalej beží a pikoška, celý projekt spustíte aj na prenosnej verzii Megadrajvu, na SEGA Nomad.

"If you want to set off and go develop some grand new thing, you don't need millions of dollars of capitalization. You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on and the dedication to go through with it." - Carmack

Morálne ponaučeniu. Je prejavom krajne vypočítavej neúcty ku hráčovi to PR krákenie od Ubicrap alebo Crytek a mnohých ďalších ako už v prvom roku novej generácie využili nový herný HW do posledného hertzu a bajtku. Crytek vlastne pri Crysis 1 tvrdil, že nemá žiaden zmysel sa snažiť o C1ku na PS3 a x360ke, lebo ich celkový výkon je hlboko pod minimálnymi požiadavkami. Vieme ako to dopadlo. C1 beží a vyzerá na PS3ke oveľa lepšie ako na mojom starom PC s "identickým" výkon /trochu kecám, mal som 2 giga ram + 256 mega na grafike rovnakej ako PS3/. Prirodzená cesta k aspoň 80% využitiu potenciálu konzoly trvá v každej generácií bez výnimky minimálne tých 5-6 rokov. Ako však vidíte na príkladoch Wolfíka na 8 bitoch alebo na Megadrajve - skutočné zákraky sa dejú aj po 10-15-20 rokov. Ani posledný líder konzoláckeho neba - PS4ka teda nebude žiadnou výnimkou.