Něco pro milovníky oldskool vintage her a staré hráče, a taky pro JavaScriptaře. Jedni si užijou, ti druzí se poučí. Teď poodhrnu oponu chystaného webíku…

Webů s hrami je na internetu neuvěřitelně moc. Kdo jste nikdy neviděl Donkey Konga ve Flashi, tak ruku nahoru! Přidávat další je jak nosit sovy do Athén a dříví do lesa. Dovolil jsem si jeden přidat, ale i s osvětou…

Mám totiž rád staré hry. Od mládí. Dokonce tak rád, že mám doma postavenou úplně vlastnoruční vintage konzoli, a až bude jednou čas, tak si pro ni přeportuju pár starých her.

Totiž, abyste věděli, staré hry nejsou vůbec složité. Přeprogramoval jsem si před pár lety Manic Minera do JavaScriptu. Je to triviální – pokud si tedy pamatujete, jak to bylo původně udělané. O jeho vývoji jsem napsal článek s takovým jako že „howto“, ale dřív, než jsem ho dopiloval, tak jsem ze Zdrojáku odešel, a už jsem se na to vykašlal.

Moje úplně vlastnoruční vintage konzole používá jádro procesoru 6502, a to je, pokud to nevíte, extrémně jednoduchý procesor. A takhle extrémně jednoduchý procesor je extrémně jednoduché emulovat, třeba, hmmm… třeba v tom JavaScriptu. Takže jsem si napsal emulátor 6502 v JS, připravil správné časování, a když už jsem byl v tom, napsal jsem i takovou minisérii článků: Jak napsat emulátor CPU v JS. Ale než jsem ho dopiloval, tak jsem začal mít práce nad hlavu.

A když máte 6502 CPU, co takhle zkusit emulovat i něco víc? Hmmm… Co třeba Apple ][, šlo by? Jasně že by šlo, ale co třeba Atari 2600? To je výzva! Takže jsem si připravil emulátor Atari 2600 (ne, není to vůbec jednoduché a naemulovat zobrazovací mechanismus, který je převážně založený na principu přesného časování a čekání, je dost tricky). Ale než jsem ho dopiloval, tak mě pohltilo Druidly a já měl jiné starosti.

Říkal jsem si, ještě na Zdrojáku, že jsou čtenáři takoví hračičkové, že by nemuselo být marné je nechat, ať zkusí napsat nějakou hru do 1KB. V assembleru. Buď pro reálný stroj, třeba pro tu 2600, nebo pro něco fiktivního, vzniklého právě na základě toho emulátoru. Takže jsem k emulátoru dopsal i IDE a assembler, v JavaScriptu, s využitím LocalStorage pro ukládání souborů. Ale než jsem ho dopiloval… Kruci, co to je?

Bystřejší čtenáři už asi pochopili, kam tím mířím, a oběma je jasné, že mám plný pytel různých takových podobných javascriptových vyfikundací, k tomu v různém stádiu rozepsání i sérku článků o tom, jak se takové věci v JS píšou, a že bych to teď třeba nějako chtěl zkonsolidovat. Assemblery a IDEčka dát na web jako službu, emulátory ke stažení, články vydat… Ono je to totiž velmi zajímavé, a začíná to být stále zajímavější, protože poslední prohlížeče už dokážou emulovat i zvuk.

Ale k věci: Nabízím vám ochutnávku herní klasiky – a vězte, že tam je jen JavaScript, žádný Flash, žádná Java, a ten zvuk, co slyšíte (ano, opravdu slyšíte tříkanálový zvuk ZX Spectra 128), je dělaný furt v tom JavaScriptu (samosebou s podporou prohlížeče) ((takže jo, nejlepší bude, když tam polezete s Chromem nebo novým FF; IE10 jsem netestoval, ale IE9 je úplně marný; Safari ani Operu jsem netestoval)).

No a o tomhle všem bych rád připravil takový seriál, k tomu nějaké ty zdrojáčky, nech sa páči… Ano, bude právě na tom webu, a budou tam i další klasické hry, nejen ze ZX Spectra, pokud to licence dovolí…

 

Takže stay tuned (a jestli to nemůžete vydržet, tak vám třeba pomůže nějaká pěkná stará hra).