Domů / Jak vznikl tento projekt
Rok 2026
Jak vznikl tento projekt
Hru z roku 1997 jsme za dva kalendářní dny přenesli do prohlížeče a dalších pět dní jsme ji ladili, prověřovali a připravovali na veřejný web. Dělal to tým programů umělé inteligence, jeden architekt a jeden člověk, který rozhodoval. Poctivý záznam: co se kdy stalo, čím jsme to dělali a jak jsme ověřovali, že hra funguje.
Next Space z roku 1997 běžela v DOSu a dnes ji bez zvláštních triků nespustíte. Tento projekt ji znovu postavil jako webovou aplikaci. V prohlížeči se načítají původní soubory z CD (místnosti, skripty, hlas, hudba, videa) a nový program dělá totéž, co dělal ten původní. Hádanky a děj se nepřepisovaly ručně: pocházejí z původních dat, stejně jako v roce 1997.
Čísla na této stránce nejsou z paměti. Každé jsme přepočítali v historii změn a v dokumentech projektu. Kde se něco ověřit nedalo, je to označeno. Stránka vznikla 2. 10. 2026 a 8. 10. 2026 jsme ji doplnili o všechno, co se od té doby změnilo.
Projekt v číslech
- Začátek: ráno 1. 10. 2026. První soubory na serveru vznikly v 10:01, první záznam v historii změn v 10:57. Dřív se nic nedělalo: příprava (fáze 0) proběhla v této první hodině.
- První dva dny: do 2. 10. 2026, 14:46 uplynulo od prvních souborů téměř 29 hodin, s noční přestávkou od 22:08 do 11:19. Vzniklo 127 záznamů a hra se už 1. 10. večer dala projít od začátku po titulky v obou jazycích.
- Celý projekt: od prvního záznamu po poslední sloučení před touto aktualizací (8. 10. 2026, 0:22) uplynulo 6 dní a 13 hodin. Záznamy přibývaly každý den od 1. do 7. 10.
- Záznamy: 358 (253 obyčejných a 105 sloučení práce jednotlivých úloh). Po dnech: 96, 73, 53, 37, 31, 33 a 30, plus 5 těsně po půlnoci 8. 10.
- Kontrola: 79 sloučení nese poznámku, že je zkontroloval architekt. Zbylých 26 je pomocných: jen přenášejí novou hlavní větev do rozpracované úlohy.
- Rozsah: více než 24 700 řádků programu hry (po prvních dvou dnech více než 18 000), více než 24 200 řádků testů (téměř 12 000) a 30 hlavních dokumentů s více než 124 000 slovy (21 dokumentů a více než 70 000 slov).
- Testy: 1 284 automatických testů součástí (2. 10. jich bylo 833) a stovky testů ve skutečném prohlížeči, podrobněji níže.
Časová osa
Práce šla ve vlnách: skupiny úloh běžely současně. Označení T1 až T33, V1 a W1 až W7 jsou čísla úloh, které rozdělil architekt (viz dále). Pozdější úlohy často číslo nemají, v tabulce jsou popsány slovy.
| Fáze | Kdy | Úlohy | Co se stalo |
|---|---|---|---|
| 0. Příprava | 1. 10., 10:01 – 10:57 | základ | Z CD se vytáhly soubory, původní program se rozebral na čitelný kód a rozluštily se formáty dat i jazyk skriptů. |
| 1. Plán | 1. 10., 10:59 – 11:10 | architektura | Architekt napsal plán enginu a rozdělil práci. |
| 2. Základy | 1. 10., 11:05 – 11:42 | T1, T2, T3 | Kostra aplikace, interpret skriptů (86 instrukcí), přehrávače zvuku, hudby a videa. |
| 3. Postavy a hra | 1. 10., 11:54 – 15:00 | T4, T5, V1 | Frank chodí, klikání funguje, běží rozhovory a scény. Z videa vznikl návod s 345 kroky. Hra byla hratelná asi čtyři hodiny po prvním záznamu. |
| 4. Slepé uličky | 1. 10., 11:23 – 18:14 | T7a, T7b, T7c | Počítač prošel pravidla hry a hledal místa, kde se hráč zasekne. Schválené opravy se zapnuly. |
| 5. Dvě CD, dva jazyky | 1. 10., 15:47 – 18:46 | T8, T12 | Hra čte i slovenské CD z června 1997, na stránce se přepíná slovenština a čeština. |
| 6. Průchod celou hrou | 1. 10., do 19:26 | T6 | Automat projde hru od začátku po titulky v obou jazycích (asi 8,5 hodiny po prvním záznamu). |
| 7. Pohodlí hráče | 1. 10., 18:15 – 22:03 | T9, T11, T13, T14, T16, T17 | Přeskočení úvodu, nápověda, hlas bez ořezů, čistší ovládání, zvětšování obrazu, hudba bez přerušení, oprava vypadávání zvuku. |
| 8. Všechny konce | 1. 10., do 22:08 | T15 | Přehrány všechny smrti, zlý konec, dobrý konec a větve rozhovorů. |
| 9. Druhý den: ladění | 2. 10., 11:19 – 14:46 | T18 – T22 | Hlášení chyb, výběr kapitoly a místa, hraní „jako člověk“, plošná kontrola odolnosti. |
| 10. Web | 2. 10., 12:49 – 13:56 | W1 – W3 | Média, texty a samotný web. |
| 11. Ukládání, mobil, tři jazyky webu | 2. 10., 16:16 – 18:05 | T23, T24, W4 – W6 | Při nahrávání hra nabízí 61 pozic z příběhu a při ukládání čtyři volná místa. Hru lze ovládat dotykem na telefonu. Web je slovensky, česky a anglicky, přibyla tato stránka a všechny postavy s obsazením podle Petra. |
| 12. Anglická verze | 3. 10., 20:37 – 21:14 | T26, T27 | Pět agentů přeložilo do angličtiny 3 479 textů hry (asi 25 600 slov). Hlas zůstává původní, anglické jsou titulky a texty. |
| 13. Slabá síť a datový balík | 3. 10., 21:55 – 4. 10., 20:35 | T25, T28 – T32 | Hra zvládá pomalé připojení a dá se stáhnout do zařízení. Obraz při přechodech nebliká. Hlas, hudba a videa jsou v moderních, menších formátech. Nápověda ve všech 61 pozicích prošla kontrolou. |
| 14. Chyby z hraní, bezpečnost, brána | 5. 10., 10:45 – 18:49 | T33 a úlohy bez čísla | Opravy dvou chyb, které Peter našel při hraní, bezpečnostní kontrola a jeden příkaz, který před každou aktualizací hry všechno prověří. |
| 15. Revize kódu | 6. 10., 10:50 – 20:25 | bez čísla | Dvě nezávislé revize kódu, Petrova rozhodnutí k jejich nálezům, české rozhraní hry, aktualizované knihovny bez známých zranitelností. |
| 16. Veřejný web | 7. 10., 16:08 – 20:32 | bez čísla | Hra a web na jedné veřejné adrese, oprava zbytečného stahování na novém hostingu, poctivé počítání snímků, ukládání přes původní obrazovky hry. |
| 17. Zpřesnění | 7. 10., 23:16 – 8. 10., 0:22 | bez čísla | Stránka čísel jen s tvrdými údaji, patička jen s kontaktem, revize všech překladů webu, nové výchozí nastavení hlasu a titulků. |
Co se v těchto dnech změnilo, podrobněji popisuje kapitola Co se změnilo po prvních dvou dnech.
Z čeho jsme vycházeli
Dvě CD. Slovenské z června 1997 a české ze září 1997. Datování vychází ze souborů: hlavní program hry je na slovenském CD z 28. 6. 1997, na českém ze 17. 9. 1997. Mezi červnem a zářím autoři hru ještě opravovali: ve čtrnácti místnostech se liší logika, například opravili zamrznutí ovládání v místnosti 37. Slovenskou verzi v našem enginu proto hrajeme s těmito opravami autorů a původní červnový stav lze zapnout přepínačem.
Herní soubory jsou zdrojem pravdy. Obrázky, texty, hlasy, hudba, videa i logika místností pocházejí z CD.
Longplay na YouTube (Next Space (1997) – Longplay – Slovenský dabing, autor MiNHO Dotus, zveřejněno v roce 2018, 3 hodiny 38 minut 38 sekund) jsme použili jen na to, co soubory neřeknou: pořadí, v jakém hráč prochází hrou, řešení hádanek a kontrolu, zda náš výsledek vypadá jako originál. Z videa se udělal přepis řeči, časová osa místností a návod s 345 kroky. Při skutečném přehrávání se ukázalo, že v návodu chybí 50 kroků a 25 je upraveno. Doplnily se podle pravidel ze skriptů hry, ne z videa.
Vedlejší nález. Na českém CD je v souboru VOICE/ROOM54.SAM ukryto 16 minut a 10 sekund slovenského dabingu, na který se hra nikde neodvolává. Hypotéza z dokumentace: při výrobě české verze se v souboru omylem ponechal zbytek slovenských nahrávek.
Kdo co dělal: modely umělé inteligence
Projekt nepsal jeden program, ale tým agentů. Agent je tu instance jazykového modelu, která dostane písemné zadání (například „napiš přehrávač zvuku a hudby a ověř ho testy“), pracuje samostatně ve vlastní kopii projektu, spouští programy a testy a nakonec napíše zprávu: co udělala, které testy prošly, co ještě chybí. Žádný agent nevidí celou hru najednou, proto je třeba architekta.
- Claude Opus 5.5: architekt. Navrhl řešení, rozdělil práci na úlohy (T1 až T33, V1, W1 až W7 a další bez čísla), určil, které běží současně, a zkontroloval každý výsledek (kód i snímky obrazovky), než ho sloučil do hlavní větve.
- Claude Sonnet 5.5: všichni realizátoři. Každou úlohu dělal samostatný agent v samostatné pracovní kopii (82 větví úloh, po prvních dvou dnech 34), aby se agenti navzájem nepřepisovali. V první hodině plán určil čtyři úlohy najednou (T1, T2, T3, V1), brzy přibyla pátá (T7a). I obě revize kódu dělali samostatní agenti Sonnet 5.5. Pod záznamy je podpis Sonnet 5.5 u 216 záznamů a Opus 5.5 u 71 (po prvních dvou dnech 51 a 11).
- Claude Opus 5.5: revize překladů. Český a anglický text webu a rozhraní hry 7. a 8. 10. přečetl silnější model: vedoucí a osm recenzentů Opus 5.5 porovnali každý odstavec se slovenštinou.
- faster-whisper large-v3: přepis řeči. Převedl slovenský longplay a ukrytý dabing na text s časy. Tak jsme ověřili, že slovenský hlas z CD sedí na slovenské texty (18 z 18 vzorků) a že video se shoduje se slovenskými texty (1 019 z 1 393 vět s podobností alespoň 85 %, oproti 243 u českých).
- Modely na fal.ai: pokus s HD grafikou, viz níže.
Pravidla pro agenty byla písemná. Nejdůležitější: každá funkce převzatá z originálu nese odkaz na adresu v původním programu a ověřování je povinné (testy bez chyb, snímek z našeho enginu a porovnání s originálem běžícím v DOSBoxu).
Nástroje
- Ghidra: program, který z hotové hry (formát DOS4GW LE) skládá čitelný kód v jazyce C. Dostali jsme kód všech funkcí původního programu, nikoli však původní zdrojové soubory.
- Emulátor procesoru Unicorn jako „věštec“: spouští nezměněný původní strojový kód a porovnává jeho výsledky s naším programem (hledání cesty, klikání, pohyb postav). Když se neshodují, chyba je v našem kódu.
- DOSBox-X bez obrazovky: původní hra běžící na serveru, z níž děláme snímky pro porovnání.
- TypeScript a Vite: jazyk a nástroj, ve kterých je napsán nový engine, aby běžel v prohlížeči.
- Playwright: řídí skutečný prohlížeč (bez okna) tak, jak by hrál člověk: kliká, čeká, dělá snímky.
- vitest: rychlé automatické testy jednotlivých součástí.
- Astro: nástroj, kterým je postaven tento web.
- Zvukový formát Opus a video AV1 (záloha VP9): moderní formáty, ve kterých hra od 4. 10. stahuje hlas, hudbu a videa. Jsou výrazně menší než původní soubory a ověřené proti originálu.
- Cloudflare Pages: bezplatný hosting statických souborů, na kterém od 7. 10. běží veřejný web i hra.
Jak jsme ověřovali, že hra funguje
Zásada: nehádat, měřit. Každou vrstvu kontroluje jiný druh zkoušky.
Testy součástí. 2. 10. 2026 jich prošlo 833 ve 48 souborech. Při posledním běhu 8. 10. 2026 jich prošlo 1 284 v 83 souborech, 1 je přeskočen a celý běh trvá kolem 16 sekund. K tomu stovky testů ve skutečném prohlížeči, které klikají jako hráč. Jak se od 5. 10. spouštějí před každou aktualizací hry, popisuje část Brána kvality a bezpečnost.
Průchod celou hrou. Počítač v prohlížeči projde hru asi za 30 sekund (přibližně 43 800 snímků, tedy 36 minut hry) a pokaždé stejně. Platí to pro slovenskou, českou i (od 3. 10.) anglickou verzi. Jediná výjimka: slovenská verze bez oprav se zasekne v kroku 209, protože se tam projeví chyba originálu. Přehrány jsou i všechny konce: sedm druhů smrti, zlý konec (zapomenuté zrcadlo na WC v cele), dobrý konec a všechny větve rozhovorů (16 stromů, 1 071 uzlů, 2 452 možností). Všech 115 akcí, které vedou ke smrti o jediný krok od správné cesty, skončilo na úvodní obrazovce.
Porovnání s originálem. Ve 13 kapitolách jsme uloženou pozici načetli v původní hře i v našem enginu. Obraz se liší o 0 až 3,1 % bodů, zbytek jsou fáze animací.
Model checker. Pustili jsme původní skripty z CD bez grafiky a zvuku a „virtuální hráč“ se v každém bodě správné cesty (500 akcí, oba konce) zkoušel odchýlit všemi způsoby, které hra nabízí. Pravidel české verze je 3 769 (slovenská jich má 3 772). Prohledali jsme 17 351 odchylek a 3 271 nových stavů. V původní hře našel 350 nálezů, z toho 210 zamrznutí ovládání a čtyři nálezy „nevyhratelná situace“, které mají jednu společnou příčinu: ostrov v místnosti 21, ze kterého není východ. Po zapnutí oprav zamrznutí zmizela. Zůstala podezření, která jsme nedokázali ani potvrdit, ani vyvrátit: 108 u původní hry a 71 u hry s opravami. Model se také mýlil: dvě „zamrznutí“ v místnostech 44 a 49 se ve skutečném enginu ukázala jako chyba modelu.
Plošná kontrola odolnosti. Ve skutečném enginu, se skutečnými kliky, v obou jazycích: 348 situací z reálné hry krát 2 jazyky dalo 93 636 akcí, plus přibližně 120 000 akcí ze stavů modelu. Na reálných stavech nic nezamrzlo. Druhá zkouška, souboj kliknutí a scény, klikala v každém okamžiku, kdy má hráč uprostřed scény ovládání: více než 47 700 kliknutí v přesně zvoleném okamžiku. Tak se našla třída chyb originálu, kterou nenašla žádná jiná metoda.
Náhodné klikání. 1 500 běhů, dohromady 101 000 akcí v reálném čase: otevírání okna INFO všemi způsoby, ukládání, dvojklik, přepnutí karty, zpomalená nebo přerušená síť, selhání zvuku. Z 27 hlášených selhání pocházelo 26 z testovacího nástroje nebo prostředí. Jeden případ (zamrznutí v místnosti 32 při extrémně zatíženém serveru) se nepodařilo zopakovat. Poslední velký běh (500 běhů) prošel bez chyby.
Hraní „jako člověk“. Agent hrál přes prohlížeč jen podle obrazu, myší a klávesnicí, bez čtení skriptů. Do titulků se nedostal: v hangáru uvízl asi na 35 minut, než našel téměř neviditelné tlačítko. Zapsal 10 chyb a 10 problémů s použitelností. Každý nález se zařadil do jednoho ze tří košů: chyba našeho přepisu, původní chování z roku 1997 (bez souhlasu ho neměníme) a naše vrstva (nápověda, okno INFO). Mnohé jsme opravili, například opakované stahování hudby a nastavení titulků (výchozí se tehdy změnilo na „hlas + titulky“; 7. 10. Peter rozhodl znovu, viz Zpřesnění podle Petra).
Chyby původní hry a naše opravy
Nejdřív to důležité: hru lze dohrát i bez oprav, správná cesta projde oběma konci. Chyby, které jsme našli, jsou zamrznutí ovládání, jeden pád a jedna drobnost se zvukem. Při zamrznutí hrdina přestane poslouchat a nepomůže ani nabídka. Takovou chybu přiznali už autoři v roce 1997: soubor PROBLEMY.TXT na CD (bod 4) popisuje zamrznutí u výtahu před bytem androidek a slibuje záplatu.
Každou opravu jsme zapnuli až po schválení majitele projektu a každá má test ve tvaru „bez opravy chyba nastane, s opravou ne“. Všechny lze vypnout přepínačem (?fixes=0) a hra se pak chová přesně jako v roce 1997. Je jich dvanáct: devět v enginu a tři ve skriptech.
| Oprava | V originálu se mohlo stát… | Nyní… | Našla ji metoda |
|---|---|---|---|
actor_at_cell | Pokud hráč stál 1 až 2 body od místa, kam má postava po kliknutí dojít (například u tlačítka výtahu), hra čekala na „přesný bod“ a ovládání zamrzlo navždy. Týká se 184 míst ve 43 místnostech. | Postava, která už stojí na stejném políčku mapy, se už počítá jako u cíle. | statická analýza pravidel, model checker, emulátor původního kódu; schváleno 1. 10. |
anim_hidden_done | Když byl hrdina skrytý (sedí na lavičce, je v kabině) a skript čekal na jeho animaci, ta se nespustila. 11 míst v místnostech 21, 39, 40, včetně jediné skutečné slepé uličky (místnost 21). | Animace skrytého hrdiny se dokončí hned. | model checker; 1. 10. |
actor_at_adjusted | Když byl cíl chůze právě zablokovaný (zavřený výtah, zeď), postava došla na nejbližší volné místo, ale hra čekala na původní. 10 míst v 7 místnostech. | Příchod na náhradní místo se počítá jako příchod. | statická analýza, model checker; 1. 10. |
missing_room_stay | V místnosti 4 by použití tyče na pronásledovatele skočilo do neexistující místnosti 0 a hra by spadla. V praxi nedosažitelné. | Hráč zůstane v místnosti. | statická analýza; 1. 10. |
| SL-04 (skript, místnost 36) | Obrácená podmínka v chodbě před výtahem: pokud hráč vezme žvýkačku a vrátí se pěšky, zatímco je výtah pryč, „Vezmi“ zamrzne. Oprava: 1 bajt. | Podmínka je správná. | statická analýza, simulátor; 1. 10. |
| SL-05 (skript, místnost 24, prádelna) | Po získání ruky androidky bez použití žvýkačky na senzor poslal klik na kontejner či robota postavu na místo, odkud se ovládání nevrátilo. Oprava: 8 bajtů. | Ovládání se vrátí. | statická analýza, simulátor; 1. 10. |
| SL-06 (skript, místnost 37) | Pravidlo zkopírované z místnosti 29: pokud zůstal nastavený příznak sezení v pilotním křesle, ovládání se zamklo. Oprava: 1 bajt. | Ovládání se nezamkne. | statická analýza; 1. 10. |
hidden_walk_done | Skrytý hrdina se skriptovanou chůzí (rozhovor s barmanem v místnosti 40) zůstal bez ovládání navždy. | Skrytý hrdina dorazí na cíl hned. | model checker; 2. 10. |
subtitle_edge_clamp | Dlouhé titulky u pravého okraje se ořízly: hra počítá šířku textu jako zarovnaného vlevo, ale kreslí ho vycentrovaný. Týká se 143 z 10 776 rozložení slovenských textů. | Titulky se vejdou na obrazovku. | hraní „jako člověk“; 2. 10. |
late_click_guard | Pokud hráč klikl v jediném snímku (1/20 sekundy), ve kterém scéna přebírá ovládání, hra zamrzla. Místnosti 39 (teleportér), 26 (cela), 34 (čerpadlo). | Takový klik se zahodí, jako by přišel o snímek později. | souboj kliknutí a scény; 2. 10. |
dialogue_room_change_reset | Pokud se místnost změnila během rozhovoru, zůstala prázdná nabídka a ovládání vypnuté (místnosti 42 → 49). | Rozhovor se čistě ukončí a ovládání se vrátí. | souboj kliknutí a scény; 2. 10. |
load_restores_ambient | Po nahrání hry uložené v místnosti se zvuky prostředí (stroje, kapání) bylo ticho, dokud hráč místnost neopustil. Originál si tyto zvuky zapisuje až při odchodu z místnosti. | Zvuky prostředí po nahrání znovu hrají. | revize kódu; 6. 10. |
(Poslední sloupec: metoda, která chybu našla, a datum schválení.)
Jak se to ověřilo. U late_click_guard jsme zamrznutí potvrdili emulátorem původního strojového kódu. V DOSBoxu se to nepodařilo, protože okno je 1 snímek ze 14 až 34 a na 20 Hz se nedá spolehlivě trefit. Jistota je tedy „velmi vysoká“, nikoli „ověřeno v DOSBoxu“. Bez oprav plošná kontrola souboje kliknutí a scény našla v české verzi 340 zamrznutí, po všech opravách 0.
Stopy po výrobě, ne chyby. Pět předmětů se ve hře nikdy nezíská (vyříznutý obsah) a 33 pravidel se nikdy nespustí.
Chyby, které jsme udělali my. Při psaní nového enginu vznikly i naše chyby a testy je odhalily: hra závisela na hodinách počítače, takže tentýž postup vedl jednou k jednomu a jednou k jinému výsledku (opraveno režimem s pevným časem), po načtení uložené hry se zapomnělo zvolené sloveso, hudba po čase přestala hrát a zvuk po zavření okna INFO zůstal vypnutý. Další naše chyby později našly revize kódu a Peter při hraní (viz níže).
Co se změnilo po prvních dvou dnech
Po dvou dnech se hra dala projít od začátku do konce. Dalších pět dní patřilo tomu, co hráč na první pohled nevidí: aby hra fungovala i na slabém připojení, na telefonu a anglicky, aby ji před každou změnou prověřil automat, aby ji zkontrolovaly nezávislé oči a aby se dala bezpečně zveřejnit.
Angličtina, slabé připojení a menší data
Anglická verze. 3. 10. přibyla angličtina: anglické titulky a texty k původnímu hlasu. Na anglickém webu tlačítko „Hrát“ spouští anglickou verzi.
Slabé připojení. Peter hlásil, že na slabém připojení někdy nejsou slyšet hlasy. Příčina: každá replika se stahovala až ve chvíli, kdy měla zaznít, a když nepřišla do 2,5 sekundy, odehrála se potichu. Hra si teď hlasy načítá dopředu, čeká trpělivěji a zaseknuté stahování zopakuje. V deseti simulovaných druzích připojení klesl počet replik bez hlasu ze 7 z 755 na 0 z 1 037.
Menší data. Hlas a hudba jsou ve formátu Opus, 28 videí v AV1 a kontrola proti originálu potvrdila, že sedí snímek po snímku. Stažení jednoho jazyka do zařízení kleslo z 532 MB na 173,5 MB. Pokud něco z nového balíku chybí nebo nesedí, hra se sama vrátí k původním souborům.
Chyby, které našlo hraní
Nejcennější nálezy nepřišly z automatů, ale z Petrova hraní:
- Za silovým polem (2. 10.). Po spuštění hry z kapitoly v příběhu stál Frank za silovým polem a nápověda ho posílala jinam. Uložené pozice neměly celou historii nápovědy. Všech 61 pozic se vytvořilo znovu a každou jsme prověřili.
- Blikající barvy (3. 10.). Když Franka zastřelily androidky, během načítání animace smrti se změnily barvy celé obrazovky a obraz blikal i při přechodech mezi místnostmi. Každá místnost má vlastní paletu 256 barev a nová paleta se zapsala dřív, než se dokreslil nový obraz. Teď se obraz a barvy mění zároveň.
- Starý seznam po smrti (5. 10.). Po nahrání pozice a smrti zůstal na titulní obrazovce nakreslený starý seznam pozic. Oprava byla hotová do hodiny a při ní se ukázalo, že hra uložená ve slovenštině se špatně nahrávala v češtině. I to je opraveno.
- Zaseknutý úvod (5. 10.). Při opakované návštěvě se hra zastavila v první scéně a Frank spal navždy. Skript této scény spouští časovač, který v originálu počítal s půlminutou úvodních videí. Náš engine je při opakované návštěvě neměl za sebou, a časovač se proto nikdy nespustil. Hodiny hry se teď před touto scénou nastaví jako v originálu.
Obě chyby z 5. 10. prošly tehdejšími testy. Z toho vzniklo pravidlo: ke každé změně test a žádná aktualizace hry bez zelené brány kvality.
Brána kvality a bezpečnost
Od 5. 10. platí: žádná aktualizace hry bez testů. Jeden příkaz prověří hru i web tak, jak by to dělal hráč: otevře stránku, spustí hru, přeskočí úvod, chodí, otevře INFO, skočí do kapitoly, uloží, „zemře“, nahraje uloženou hru a zkontroluje, že je všechno přesně jako před uložením. Dělá to ve slovenštině, češtině, angličtině i na telefonu s dotykem a trvá asi dvě minuty. Skript, který hru aktualizuje, se bez zeleného výsledku pro přesně tutéž verzi odmítne spustit. První aktualizace přes bránu proběhla 5. 10. v 18:49.
Delší úrovně prověří každé tlačítko, všech 61 pozic ve třech jazycích, vzhled klíčových obrazovek, výkon a paměť a celý web na počítači i telefonu. Přes noc projdou celou hru až po titulky ve slovenštině, češtině a angličtině. Dohromady je to 1 284 testů součástí a stovky testů v prohlížeči: samotná brána jich má 404, z toho 272 pro pozice.
Bezpečnost. 5. 10. proběhla bezpečnostní kontrola hry i webu s vlastní sadou testů. Udělala 17 nálezů, nejzávažnější měly střední závažnost. Například upravený soubor s uloženou hrou mohl hru zaseknout (teď se každý soubor před nahráním prověří) a běžný postup sestavení by do balíku přibalil celá data z CD (veřejný balík teď sestavuje samostatný, otestovaný postup). Opraveno je 15 nálezů, jeden je zmírněn a jeden zůstává jako upozornění: hra stažená do zařízení v něm zůstane, dokud ji hráč v okně INFO nesmaže. 6. 10. se aktualizovaly všechny knihovny a od té doby nemají žádnou známou zranitelnost. Veřejná verze nemá testovací zkratky a hlášení chyby nikam neposílá, jen ho nabídne ke stažení jako soubor.
Dvě nezávislé revize kódu
- a 6. 10. přečetli kód dva samostatní agenti: jeden jádro enginu (interpret skriptů, ukládání, hodiny hry, postavy), druhý video, zvuk, síť, offline režim, mobil, web a nástroje. Interpret skriptů porovnali s původním programem instrukci po instrukci a rozdíl nenašli. Chyby byly téměř vždy na švech mezi starou hrou a novým prostředím, ne v přenesené logice hry. Například:
- každé video se v hodinách hry počítalo dvakrát, takže časovače skriptů, které překrývaly video, běžely dvojnásobně dlouho;
- po spuštění hry z pozice mohla přerušená replika zůstat na obrazovce asi 13 minut, dokud hráč neklikl;
- původní uložená hra ze slovenského CD z června 1997 se nahrávala z nesprávných míst souboru;
- když se hlas nedal stáhnout, hra ho zkoušela znovu asi dvacetkrát za sekundu a replika nikdy neskončila, takže hra vypadala zamrzle (jediný nález vysoké závažnosti);
- výpadek spojení při přepnutí sítě v telefonu skončil chybovou obrazovkou;
- když bylo úložiště prohlížeče plné, hra hlásila „uloženo“, i když uložená hra po obnovení stránky zmizela.
Všechny nálezy vysoké a střední závažnosti jsou opraveny. Zůstalo několik drobností s nízkou závažností, například kontrast barev v seznamu uložených her. O nálezech, které mění chování hry, rozhodl Peter 6. 10. (viz níže).
Veřejný web
-
- Peter rozhodl zveřejnit hru i tento web na jedné adrese. Web je na hlavní adrese (česky pod
/cs/, anglicky pod/en/), hra pod/hra/, a každé tlačítko „Hrát“ otevře hru v jazyce stránky, případně rovnou ve zvolené kapitole. Všechno jsou statické soubory na bezplatném hostingu Cloudflare Pages: bez serveru, bez účtů a bez měření návštěvníků. Uložené hry zůstávají jen v prohlížeči hráče.
- Peter rozhodl zveřejnit hru i tento web na jedné adrese. Web je na hlavní adrese (česky pod
Před zveřejněním se celý balík otestuje jako návštěvník: tři jazyky, počítač i telefon, celá hra od začátku po titulky, všech 28 videí, stažení hry do zařízení a odkazy z webu do hry.
Problém, který testy neviděly. Hned po prvním zveřejnění se ukázalo, že Cloudflare Pages neumí poslat jen část souboru: na žádost o kousek vrátí celý soubor. Hlasy jedné místnosti jsou zabalené do jednoho souboru, takže každá replika by stahovala celý svazek, až 6,5 MB. Testovací server části posílat uměl, proto testy prošly. Hra teď zná oba druhy hostingu: každý soubor stáhne jen jednou celý a další repliky čte z něj. Testovací server se od té doby chová jako Cloudflare.
Offline. V okně INFO si hru lze stáhnout do zařízení (jeden jazyk asi 174 MB) a pak hrát bez internetu. Na veřejném webu jsou videa jen v nových formátech, takže prohlížeč, který neumí AV1 ani VP9 (například starší iPhone), hraje hru bez videí. Nezasekne se.
Poctivé počítání snímků
Peter se jako spoluautor hry zeptal, jestli jsme při počítání snímků nezapočítali opakované animace. Měl pravdu. Původně jsme počítali snímky tak, jak se přehrávají: 14 095 snímků 2D grafiky a animací. Nový rozbor rozbalil každý snímek z obou CD a porovnal je obraz po obrazu: různých obrázků je 8 565, takže 39 % snímků jsou přesná opakování. U 3D animací je opakování málo: z 10 099 snímků je 9 775 různých. Stránka V číslech teď uvádí tato čísla.
Zpřesnění podle Petra
- Úvodní loga jen při prvním spuštění (5. 10.). Potom hra začíná rovnou titulní obrazovkou, úvod lze znovu pustit v okně INFO.
- Po revizích kódu (6. 10.). Anglický web spouští anglickou verzi hry. Nahrání uložené hry ponechá hráči jeho nastavení zvuku a titulků. Zvuky prostředí po nahrání znovu hrají (dvanáctá oprava originálu). Rozhraní hry je celé i česky.
- Ukládání přes původní obrazovky (7. 10.). Tlačítka pro nahrání a uložení hry v okně INFO otevírají původní obrazovky LOAD a SAVE z Next Space místo vlastního seznamu. Uložení do souboru zůstalo.
- Jednodušší stránky (7. 10.). Stránka V číslech uvádí jen tvrdá čísla z dat hry, bez odhadů pracnosti a času. Patička webu obsahuje jen kontakt.
- Překlady (7. – 8. 10.). Český a anglický text celého webu a rozhraní hry prošel revizí silnějšího modelu (viz modely): každý odstavec se porovnal se slovenštinou a citáty s texty hry, celkem asi 1 100 úprav.
- Hlas a titulky (7. 10.). Slovenská a česká verze začínají jen s hlasem, anglická s hlasem a titulky. Repliky, ke kterým na CD není nahrávka (například barmanův vtip o medvědovi a zajíci v baru), se ukážou jako text i v režimu jen s hlasem. Volbu lze změnit v okně INFO i v nabídce hry a hra si ji pamatuje.
Pokus s HD grafikou
Pozadí hry mají 640 × 400 bodů. Chtěli jsme vědět, jestli se na velkých monitorech vyplatí nabídnout ostřejší obraz. Vznikl pilotní pokus na čtyřech místnostech (Bar U Malého Estóza, havarovaná loď ve skleníku, jeskyně s teleporty na planetě teleportů a velitelský můstek G-HERNa; jsou to místnosti 40, 12, 1 a 50) a třech postavách (Frank, barman a strážce). Pozadí se zvětšila čtyřnásobně, na 2 560 × 1 600, pomocí modelů na fal.ai:
- Topaz Upscale (Standard V2): nejlepší na pozadí. Ostrý a věrný, nic nového nepřidal.
- Clarity Upscaler: „malířský“, ale měnil předměty na polici a domalovával struktury, které tam nebyly.
- SeedVR2: na pozadích zesílil tečkování, ale u postav byl nejlepší. Tvář si však domyslel: Frank dostal brýle a bradku.
- GPT Image (úprava podle originálu): nejkrásnější výsledek u postav, ale je to nové vyrenderování, ne zvětšení. Tvář je „nová“, pózy se mírně změnily. U současně zkoušeného modelu Nano Banana dostal barman kravatu, tedy vymyšlený obsah.
Neúspěchy: všechny modely vymyslely „písmena“ na displejích v místnosti 50 a opravný model tváří (CodeFormer) nic nezměnil, protože tváře mají původně jen asi 10 bodů. Doporučení z pilotu: pozadí přes Topaz a postavy věrně přes SeedVR2, ne „přefocené“. HD režim zatím není součástí hry.
Co to ukazuje a co ne
Co to ukazuje. Tým agentů umělé inteligence s jedním architektem a jedním majitelem přepsal za dva dny hru z roku 1997 do prohlížeče tak, že projde od začátku po závěrečné titulky ve dvou jazycích. Za dalších pět dní přibyla angličtina, hra na telefonu a bez internetu, brána testů, bezpečnostní kontrola, dvě revize kódu a veřejný web. Tým se nespoléhal na důvěru. Každou vrstvu jsme ověřovali jiným způsobem (testy, původní kód v emulátoru, originální hra v DOSBoxu, automatické průchody, náhodné klikání, hraní agentem, revize kódu) a výsledky jsou zapsány i s tím, co se nepodařilo.
Co to neznamená.
- Není to záruka bez chyb. Model checker nechal stovku podezření nerozhodnutých a běžel jen nad českými daty. Červnovou slovenskou verzi bez oprav autorů na slepé uličky nezkoumal. Jeden případ zamrznutí z náhodného klikání jsme nedokázali zopakovat.
- Návod z videa měl díry. Chybělo v něm 50 kroků a 25 bylo upraveno.
- Agenti nehrají jako člověk. Hraní přes snímky obrazovky našlo věci, které automaty neviděly (neviditelné tlačítko, hra bez titulků), ale sám agent ve hře uvízl. Posouzení dojmu ze hry zůstalo na člověku.
- Testy nenajdou všechno. Obě chyby z 5. 10. i problém s hostingem ze 7. 10. prošly testy a objevily se až při skutečném hraní a po zveřejnění. Skutečný iPhone, telefon s Androidem a prohlížeč Firefox se automaticky netestují, testy běží v Chromiu a ve WebKitu, na kterém stojí Safari.
- Rozhodoval majitel. Agenti opravy navrhovali, schvaloval je Peter Hegyi: 1. 10. 2026 první skupinu, 2. 10. 2026 další: rozhodl opravit všechny chyby, které hru zasekávaly. 6. 10. schválil dvanáctou opravu. Stejně tak rozhodl o výchozím zobrazení titulků, o zveřejnění a o podobě webu.
- Autoři originálu zůstávají autory. Nic z toho nebylo vymyšleno od základu. Je to přenos hotového díla, které postavili lidé. Peter Hegyi je jedním z nich: v titulcích hry je uveden u návrhu hry, 2D animací, střihu a příběhu.
Poděkování
Next Space vymysleli, nakreslili, naprogramovali, nahráli a složili lidé ze studia Magic Systems. V titulcích hry jsou uvedeni: Roman Macko, Peter Hegyi a Michal Hegyi (návrh hry); Michal Hegyi, Michal Horka a Michal Weis (programování); Roman Macko a Kornel Kabele (3D animace); Ján Šicko, Kornel Kabele a Viktor Číčaj (pozadí); Martin Čorej (hudba); Miroslav Teker (zvukové efekty); Michal Lučenič (příběh); Ján Valent (videoprodukce). Hlasy slovenského dabingu: Vlado Zetek, Ivan Gontko, Agáta Solčianská, Jaro Strunga, Rado Skaličan a Juraj Hegyi. Ve hře hrají také Pavel Ondrejka, Katarína Horňáčková, Zuzana Horňáčková a Viktor Buzinkay. Hru vyvinul MAGIC SYSTEMS (© 1997), produkce MAXTECH s.r.o. Zvláštní dík patří studiu L-TEAM, firmám European Peripherals s.r.o., HELDIS a Interline s.r.o., studiu SYZ a Erichovi Pápayovi, Martinovi Grečnerovi, Ing. Martinickému a Petrovi Velčovskému.
Tento web a nový engine jsou poctou jejich práci.
Děkujeme také autorovi longplay videa se slovenským dabingem na YouTube, který vystupuje pod jménem MiNHO Dotus. Podle jeho videa jsme skládali pořadí scén a řešení hádanek.
