TOPlist

Doom běží už i na Typescriptu! Má 3,5 bilionu řádků kódu a jeden snímek se načítá 12 dní

Obrázek ze hry Doom
  • Doom nově běží i v Typescript Types, načítání jednoho snímku trvá 12 dní
  • Hra zabírá 3,5 bilionu řádků kódu a její vývoj zabral celý rok
  • Jedná se o další šílený způsob, jak spustit Dooma

Od vydání prvního Dooma v roce 1993 už uplynula pořádná spousta let. Tím, jak technika stále postupuje, se přichází na nové způsoby, jak hru spustit. Známá střílečka tak už byla na všem. Tedy skoro. I po letech lidé nacházejí způsoby, které jsou mnohdy šílené, a tento se mezi ně rozhodně řadí.

To nemáš co na práci?

Pořádnou práci si dal Dmitri Mitropoulos, který se živí jako softwarový inženýr. Založil také firmu Michigan Typescript, se kterou se věnuje právě jazyku Typescript Types (česky typy). Jedná se o open-source nadstavbu programovacího jazyka JavaScript, která zachytí chyby ve vašem kódu a ohlídá, že vše používáte správně. Přestože je tento program hojně používán, ještě nikdo na něm nespustil žádnou hru. Typescript Types pro to totiž vůbec není určený. V TypeScriptu Types určují, jaká data mohou být přiřazena k proměnným, funkcím nebo objektům. Díky tomu umožňují statickou kontrolu typů a pomáhají odhalit chyby už při psaní kódu.

Mitropoulos nyní na svém YouTube kanálu zveřejnil video, ve kterém ukazuje, že Dooma „rozjel“ i ve zmíněném jazyce. V několika minutách popisuje, jak neskutečně obtížný úkol to byl. Celý projekt zabírá neuvěřitelných 177 TB dat. Vývojář upřesnil, že spuštění prvního snímku hry mu zabralo neuvěřitelných 12 dní čekání (načítání). Pokud bychom to chtěli převést do FPS (framerate-per-second), hra běží rychlostí 0,0000009645 snímků za sekundu. Reálně je tedy absolutně nehratelná. První obrazovku ale klidně spustíte, jen si poměrně dlouho počkáte.

Na svém Discordu Dmitri dodal, že proces by šel zkrátit na 1 až 12 hodin, pokud by na tom někdo dále pracoval. Ve videu pak říká, že celý projekt zabral rok vývoje, a to hlavně kvůli tomu, že se musel naučit několik jazyků jako C, C++ nebo WebAssembly.

Vývoj byl prý neuvěřitelně obtížný, protože jakákoliv chyba by mohla být fatální a celý projekt by mohl zamrznout a nešel by spustit. Kód Dooma pro Typescript Types prý aktuálně čítá 3,5 bilionu řádků kódu. Nabízí se myšlenka usnadnit si práci využitím umělé inteligence. Tady ale autor dodává, že to vzhledem k typu kódu bylo absolutně nemožné. Právě proto vývoj trval tak dlouho.

Na Redditu pak sám tvůrce odpovídá na otázku, proč by někdo něco takového dělal. „Několik měsíců před začátkem vývoje jsem přišel o práci a potýkal se se zdravotními problémy, které přišly měsíc poté. Tenhle projekt byl zoufalým pokusem o zažehnutí mé lásky k programování a abych si zachránil kariéru před vyhořením. Byl jsem na volné noze a v mezičase pracoval na tomhle,“ uvedl Mitropoulos.

Dooma lze „hrát“ i na střevních bakteriích!

Přestože tento projekt zabral asi nejdelší čas, nejedná se o nejšílenější kousek. Střílečku z první osoby rozjedete například na budíku od Nintenda, těhotenském testu, chytré žárovce, tiskárně, v PDF souboru, na Apple redukci nebo jako CAPTCHA verifikaci. Vůbec nejšílenější je hraní na střevních bakteriích, kde dohrání zabere přibližně 600 let. Zkrátka, jakmile přijde na šílené nástroje, na kterých si lze Dooma zahrát, máte neomezené možnosti.

Autor článku Adam Král
Adam Král

Kapitoly článku