Dema pro Windows
Trocha historie aneb jak to vlastně začalo
Kdyby chtěl někdo v roce 1993 udělat demo pro Windows, asi by
se nelíbilo ani jemu samému. Všeobecně se věřilo, že něco takového
není vůbec možné hlavně díky tomu, že v okením prostředí by se
muselo kreslit do bufferu v paměti a pak kopírovat někam do
viditelné části videopaměti pomocí funkcí pro práci s DIB (Device
Independent Bitmap.) Tyto funkce byly k dispozici již s Windows
3.0 v roce 1990. Takový postup ale tehdy nebyl možný, a to hned z
několika důvodů. Jedním z nich byly pomalé grafických karty s
malou pamětí, často jen 512MB, takže Windows běželi většinou v
režimu 800x600x256 či dokonce 640x480x256 a lepší karty byly
příliš drahé pro řadového uživatele a demoscenera. Dalším důvodem
byl 16bitový režim Wokeních programů, v kterém se s podobnými
rozlišeními pracuje opravdu špatně, a procesory 386 ani 486 jsou
pro demo v tak velkých rozlišení absolutně nepoužitelné.
Jistě, již pár let existovala v DOSu dema, dokonce i Second
Reality! Ale všechno to bylo v režimu 320x200x256. A okno o
rozměrech 320x200 by zabralo jen malý obdélníček na obrazovce s
vyšším rozlišením a vypadalo by naprosto odporně. A přepnout do
320x200 nešlo (alespoň se tomu věřilo.)
Všichni tedy sdíleli názor, že demo pro Windows je naprostý
nesmysl a hodí se jenom do vtipů. Bylo to něco podobného jako
přehrávač modulů pro Wokna - když se pak jeden objevli, spousta
lidí nevěřilo svým očím! Nebo spíš uším...
Dnes víme, že přepnutí do 320x200 nebyl žádný problém. Stačil
k tomu devítikilobajtový soubor DISPDIB.DLL, který byl součástí
Video for Windows. To tenkrát asi žádný tvůrce dem ani her nevěděl
a dosud jsem neviděl žádné demo, které by toho využívalo. A ani už
neuvidím, protože jsou již lepší možnosti pro přepínání
videorežimů.
Již v roce 1993 nebyl vůbec žádný problém vytvořit demo pro
Windows! Na první si však musela demoscéna počkat ještě více než
tři roky...
Začátkem roku 1996 se začali objevovat první hry pro DirectX
2.0 (předchozí verze se jmenovala Microsoft Game SDK a byla
absolutně nepoužitelná) a spousta lidí si klapala na čelo. DirectX
vpodstatě umožnilo aplikacím přistupovat na grafická zařízení
mnohem přímější cestou přes low-level drivery a vyhnout se tak
standardnímu grafickému rozhraní GDI, které je pro hry naprosto
nevhodné (i když s dnešními počítači je možné ho použít, což
dokazuje třeba programátorský zázrak Quake II.) DirectX přineslo i
možnost přepínat grafické režimy a navíc knihovny i dokumentaci
moh získat každý s přístupem na internet zdarma, takže tvorbě dem
pro Windows 95 již nestálo nic v cestě. Pouze demosceneři, kteří
Windows 95 většinou nesnášeli.
Nyní jedna perlička z téměř domácího prostředí: když byly
zveřejněny soutěžní kategorie pro slovenskou demoparty Demobit 96,
objevila se mezi nimi jedna neobvyklá - screensaver pro DirectX
(zřejmě ústupek Microsoftu, který se měl podílet na sponzorování
celé akce.) Přestože šlo o screensaver a pouze jednu z vedlejších
soutěží, v konferenci DEMOS.42 na česko-slovenském fidonetu to
vyvolalo zděšení a odpor. Objevovali se hlášky jako "Bye, bye,
demoscéno, prečo zomrela si tak mladá..." a podobně. Demobit 96 se
nakonec nekonal, neboť jeden ze sponzorů si to na poslední chvíli
rozmyslel (nebyl to Microsoft.) Myslím ale, že nikdo doopravdy
žádný screensaver nepřipravoval, také proto, že DirectX znali
čeští i slovenští programátoři pouze z vyprávění, a většina
demoprogramátorů o programování pro Windows nevěděla vůbec nic.
V roce 1996 jsem se tedy málem žádného Winma (=demo pro
windows) nedočkali, i když hry pořád přibývali. Řekl jsem "málem."
Poslední týden roku 1996 během The Party 96 bylo prezentováno
intro Lasse Reinbong teamu Cubic&Seen, které zvítězilo rok předtím
v kategorii 64KB inter. Nyní nezabíralo 64KB, ale pětkrát tolik.
Tentokrát to ale byla verze pro Windows 95 využívající DirectDraw,
která vznikla jen z jediného důvodu - aby ukázala demoscéně, že
demo pro Windows je možné! Od DOSové verze se intro téměř
nelišilo, beželo v celoobrazovkovém režimu. Jenom hudba byla ve
formátu MID, nikoliv modul jako v originále. Autorům se asi ještě
nechtělo psát moduleplayer pro DirectSound.
A to byl už opravdu začátek.
Během roku 1997 Cubic&Seen vydali ještě Windows verzi intra s
názvem "What?", tentokrát nevyužívali DirectX, ale pouze funkce
GDI, takže na 486 se na nedalo vůbec dívat. Bylo to pro změnu
první demo, které běželo v okně, a to dokonce s měnitelnou
velikostí.
Mnoho dem pro Widndows ale v roce 1997 vytvořeno stejně
nebylo. Na Assembly 1997 sice byla samostatná kategorie demo pro
Windows, ale setkala se s nezájmem, zůčastnila se pouhá dvě dema.
A součástí pravidel pro uploadování na ftp.hornet.org byla
nenápadná poznámka, že každé demo musí být spustitelné pod DOSem,
aby mohlo být uloženo v tomto obrovském archivu. To sice
umožňovalo i uploadování dem spustitelných pod jinými systémy,
pokud existovala i verze pro DOS, ale nutnost vytvořit DOSovou
verzi rvorbu dem pro jiné systémy velice omezovala. Bylo totiž
jednodušší stvořit demo pro DOS, než stvořit demo pro DOS a
Windows... Opravdový zlom nastal ale až v roce 1998.
Team s názvem The Black Lotus, známý demy pro Amigu a v
posledním roce i PC, vytvořil zvláštní demosystém iXalance.
Používá vlastní formát spustitelných souborů s příponou IXA a
umožňuje demu jednoduchým způsobem inicializovat jakýkoliv
grafický režim a přehrávat hudbu. Soubory .IXA umožňují dokonce i
tvorbu 64KB inter pro Windows. Na jejich nemožnost dlouho
poukazovali kritici Windows demoscény. Teď tedy mají o argument
méně.
Poté programátoři TBL do iXalance převedli svou starší
produkci - demo Astral Blur (třetí na TG97,) intro Jizz (první na
Wired97) a intro Stash (první na TP97) a začali mohutně propagovat
programování pro Windows. Nikoliv pro Windows 95 či 98, o kterých
říkají, že nejlepší bude zapomenout že něco takového existovalo a
soustředit se na Windows NT. Prozatím ale iXalance pod Windows
95-98 funguje. Jizz pro Windows sice zabírá více než jeho DOSová
verze (88KB) ale Stash svou DOSsovou verzi i překonává , protože je
ještě o několik KB kratší! iXalance má i další výhodu - nebyl by
velký problém ho převést do DOSu nebo třeba do Linuxu a soubory
.IXA by přitom zůstali pro všechny společné. Existují i nevýhody -
- program může využít pouze to, co mu iXalance umožňuje a nemůže
použít třeba jiný soundsystem nebo novější verzi DirectX.
Zatímco team Cubic&Seen se snažil pouze ukázat, že dema pro
Windows jsou možná, TBL už Windows-scénu přímo propaguje.
Na www.tbl.org třeba najdeme známou stránku, kde stojí:
No more troubles with soundcards.
No more endless rebooting.
No more DOS.
Just demos!
nebo:
Demos running on all computers and all soundcards.
Demos for Windows 95 and Windows NT.
Vliv TBL byl tak velký, že archiv hornet.org nejenomže
povolil uploadovaní dem pro Windows, ale dokonce je rovněž začal
propagovat a byly pro ně vytvořeny vlastní adresáře. Demoscéně pro
Windows už nestojí nic v cestě.
(pozn.: v červnu pak byly nově vytvořené adresáře sloučeny s těmi
DOSovými, čímž došlo vlastně k zrovnoprávnění dem pro Windows)
Ani pravidla demoparties. Ta od nepaměti vyžadovala, aby vše,
co má soutěžit v hlavní kategorii dem, používalo DOSem. I to se
ale mění. Čím dál častěji jsou kromě DOSu dovoleny i další
systémy, většinou Windows a Linux. Až budoucnost ukáže, jak to
všechno dopadne...
- Shakul -
výheň