13. 9. 2010

1024 kB Memory OK - demo

Asi před třemi dny jsem měl dost živý sen. Probudil jsem se asi v pět ráno a měl jsem hlavu tak nacpanou zážitky, že jsem je musel okamžitě ventilovat ven. Nastartoval jsem v pracovně počítač a začal si zapisovat všechno, co jsem si pamatoval.

Nakonec mi vznikl celkem zajímavý příběh. V něčem se trochu se podobal mé starší povídce "Poznej, kdo jsi", ale zároveň jsem věděl, že tohle je příběh, který chce herní zpracování. A jak jsem byl tak plný dojmů, blesklo mi hlavou, že bych tohle dokázal zpracovat asi i sám. Pustil jsem se do díla.

Po třech dnech usilovné práce jsem pomocí HTML a asistence CSS vytvořil v zásadě gamebook, který ale díky příběhu dává ve formě webové stránky smysl. Ještě, než sem dám odkaz, kde si můžete demoverzi - tedy první zpracovanou čtvrtinu - "zahrát", měl bych říct několik věcí, které považuji z důležité.

Gamebook je dost provařený systém, který byl i ve formě HTML mnohokrát zpracován. Na webu najdeme desítky her (s asistencí nějakého vyššího jazyka) podobného typu, jako třeba "útěk z místnosti", ale při vymýšlení herního stylu jsem uvažoval jinak. Je to pořád gamebook, ale je trochu zmodernizovaný.

První rozdíl je ten, že jsem se inspiroval starými point'n'click adventurami, čili odkazy v textu nejsou viditelné ani po najetí myší (vyjma prvních dvou úvodních obrazovek). Jediný způsob, jak (bez kliknutí) poznat, že jde o odkaz, je změna stavového řádku dole v prohlížeči. To je jediná věc, kterou nedokážu ovlivnit, takže apeluji na potenciální hráče - pokud si chcete hru plně vychutnat, vypněte si stavový řádek nebo prostě hrajte ve fullscreenu (obvykle klávesa F11).

Co je pro jednoduché webové hry typické (například první verze hry Red Button), že lze obejít pravidla buď funkcí prohlížeče (typicky tlačítko "Zpět", případně "Zobrazit zdrojový kód") anebo lze dle adresního řádku usoudit, jaká je struktura jednotlivých HTML souborů a podle toho "přeskočit" do jiné části hry vepsáním adekvátního názvu souboru. V případě mé hry toto není problém. Určitě nejde o to, že byste museli využívat funkce "Zobrazit zdrojový kód", v žádném případě nejde o webovou detektivku. Jde dohrát s tím, co vidíte na obrazovce. Avšak pokud někde zakysnete, nebojte se použít libovolné funkce prohlížeče - třeba vypnutí CSS. Sám to vnímám, jako nalezení návodu nebo zeptání se na radu - hráč, který chce hrát a je bezradný, se prostě na postup ve hře někoho zeptá, je to naprosto v pořádku. Je ale samozřejmě jenom na vás, jestli se budete nejprve snažit na problém přijít. Pro hru je ale podstatné, že příběh hry v zásadě umožňuje používat tyto nástroje zcela logicky. Takže nejde o nějaký podfuk, jenom o legální ulehčení. Nemělo by to ale tvořit zábavnost hry.

Ve hře se zhostíte role rekonstruktora událostí. Jde zkrátka o to, že sledujete něčí paměť v časovém rozsahu a hledáte slova nebo věty, které by vás posunuly v čase dál (anebo dřív). Jelikož jsou ale některé části paměti poškozené, musí náš hlavní hrdina najít něco, co považuje za logickou návaznost a zkusit tuto variantu, jestli někam povede. Tím se stává gamebook lehce nelineární, ale vyplynula z toho nutnost implementovat spoustu slepých uliček. Od toho jsem nakonec upustil, takže až na některé výjimky mohu říct, že celá hra je velice lineární s několika málo odbočkami. Z toho důvodu jsem vytvořil pravidlo, že vždy poslední věta nebo slovo posouvá děj dopředu. Jak říkám - občas je možné zvolit alternativu, ale ve většině případů lineárního postupu ve hře jde o poslední slovo, které je klikací. Pokud není, je to pro vás signál, že někde v odstavci je dvě i více možností, kudy se pohnout (což může vyústit i v pixelhunting známý z 2D adventur). To ale neznamená, že je-li poslední slovo klikací, není i nějaké jiné slovo nebo věta v odstavci rovněž klikací. Budiž nápovědou, že jde obvykle o slovesa symbolizující práci s prostorem (pohyb) nebo se vzpomínkami.

V podstatě vás, své čtenáře, žádám o betatest. Vůbec si neumím představit, jestli takto navržená hra může někoho bavit. Navrhnul jsem ji podle svého nejlepšího vědomí a svědomí. Výsledkem je pouze 50 pasáží gamebooku (plus cca 20 pasáží intra s minimální interakcí), které byste měli být schopni proklikat za deset minut - většina z nich je "lineární klikačka", ale teprve zkoumání podezřelých pasáží vás posune. Hra prakticky nemá žádnou znovuhratelnost, leč když si budete chtít projít opravdu všechno (třeba s vypnutým CSS, takže odkazy uvidíte okamžitě), můžete na ní strávit o něco více času. Napište mi prosím do komentářů nebo do mailu, co se vám líbilo, co nelíbilo a proč, kde jste se koukli do kódu stránky a tak podobně. Jakýkoliv feedback, zejména ten negativní, vítám!

Na rovinu napíšu, že demoverze obsahuje jeden příběh ze čtyř. Jednotlivé podpříběhy jsem měl předem pouze načrtnuté v hrubých rysech a teprve za programování hry jsem rozepsal do detailu první z nich. Tady se přiznám, že nejsem zcela spokojený se všemi pasážemi z literární stránky, budu to postupně případně ladit, zkuste se nad to prosím povznést. Z příběhového hlediska ale naznačuji nějaký děj, který by měl dávat hlavu a patu a měl by být minimálně čitelný. Faktem je, že jsem ve svém osmistránkovém dokumentu celkem detailně rozepsal příběh na pozadí - intro (to již v demoverzi je) a outro a teprve v něm měly dostat jednotlivé čtyři události hlubší smysl. Jelikož máte ale k dispozici jen čtvrtinu, nečekejte nic šokujícího. Opakuji - příběh je to lineární, ale snažil jsem se ho vyprávět jinak a za asistence interakce.

Ještě jedna rada - v rámci hry najdete velice brzy manuál, který byste si měli prostudovat. V jeho rámci je nejdůležitější asi to, že musíte bedlivě sledovat posuny v čase. Posun v čase totiž symbolizuje něco jako "další level". V rámci grafického rozhraní je to schválně trochu maskované, zdánlivě náhodné skoky mezi vzpomínkami mají působit zmatečně! Teprve při uspořádání do správného časového pořadí dostane děj řád. Neznamená to ale, že hru dohrajete tím, že se dostanete na konec děje dané postavy - cíl je skryt "někde".

UPDATE: Jak asi vyplynulo, tak práce s funkcemi webového prohlížeče tvoří sekundární rovinu interakce, vlastně to simuluje počítač, se kterým pracuje hlavní hrdina hry. Hru lze samozřejmě dohrát i bez těchto operací, ale pokud je použijete, berte to jako součást hratelnosti, nikoliv jako podvod či nehratelnou obtížnost hry - je to prostě otevřeně přiznaná možnost.

To je asi tak všechno, o co jsem vás chtěl poprosit. Demoverze není dokonalá, chybí tam více slepých uliček nebo obrazové dokumentace. Grafická úroveň byla schválně pojatá co nejjednodušeji, ba dokonce z hlediska pravidel designu ošklivě (původně jsem chtěl, aby se text vypisoval do okna s terminálem, ale kvůli dodatečné grafice jsem od toho upustil - i když by to šlo udělat jednoduchým okenním systémem...). Netvrdím, že půjde o velkou zábavu. Ale opravdu bych moc rád věděl, jestli podle vás má smysl dodělat další tři kapitoly, či případně jestli mám jenom zveřejnit příběh ve formě nějaké povídky. Samotného mne napadají další způsoby, jak v dalších kapitolách hru více osvěžit, udělat ji více nelineární, ale zatím se spokojím s komentářem ke stávajícímu stavu hratelnosti a příběhu.

Děkuji velice!

1024 kB MEMORY OK - DEMO

P.S.: I když nepoužívám v kódu žádné komplikované finesy, mohu zaručit 100% funkčnost pouze ve Firefoxu. V Chrome, Opeře ani Exploreru jsem to nezkoušel, leč vyjma posledně jmenovaného nevidím důvod, aby to nefachalo.
P.S.2: Diskutovat lze také na serveru Okoun.cz.

22 komentářů:

  1. Nesporná inspirace v Počátku, že? Ty hlubší a hlubší vrstvy paměti (sny).

    Pár přímonek spíš jen gramatických: Na palubě lodi nebyl jediný přístroj, který by mu dal na odpověď na úroveň zamoření vzduchu. (který by mu dal odpověď na úroveň zamoření vzduchu) ... Vyšetřování ukázalo, že byla zasažena do těla projektilem napuštěným jeden (jedem)

    Jinak super, možná čím více je člověk dál tak tím méně informací by se dalo pomocí rekonstruktoru paměti získat, ale nevím zda by se to dalo implementovat aby se člověk dostal poté k cíli. Každopádně já jsem se ke konci bohužel nedostal, po startu rakety se vrátím v podstatě zase na přistání na Marsu. Help :-)

    Houba

    OdpovědětVymazat
  2. Jako vědomě jsem se Inception neinspiroval, jak říkám, výsledek hry je produktem toho, jaký jsem měl sen o této hře. Jestli to moje podvědomí zpracovalo díky Inception - to ti nepovím. Ale ano, trochu se to tomu může podobat.

    Oproti Inception ale záměrně pracuji s naprosto lineárním a neměnným tokem událostí. Hra v podstatě simuluje počítač, za kterým sedí Jack a zkoumá cizí paměť. Oproti pouhému čtení myšlenek má možnosti jednotlivé bloky rozebírat (což jsou funkce prohlížeče). To tvoří, jak jsem zjistil z různých reakcí, další úroveň interaktivity (která sice není vysloveně nutná k dohrání, ale pomůže).

    Nebudu ti napovídat, protože celá hra má 50 odstavců textu, ve kterých musíš pomocí cca 6ti důležitých odkazů změnit čas a tím se dostat někam, kde jsi ještě nebyl. Trochu to má připomínat pixel hunting... ale máš možnost si legálně pomoci třeba vypnutím CSS, takže hledej ;).

    (Ano, dostat se do poslední pasáže hry a získat heslo je jednoznačně nejtěžší. Vede tam jen jediný odkaz... tak napovím, že jde o jistou událost na Zemi před stamotným letem ;).

    OdpovědětVymazat
  3. Oprava - do poslední pasáže vedou celkem dva odkazy ve dvou odstavcích - ale dostat se k nim přímo je otázka jednoho odkazu jinde. Zkus si napsat, jaké časové úseky si prošel a logicky ti vyplyne, jaký ti chybí a tedy kde přibližně hledat (na rozhraní jakých časových pásem) onu chybějící spojnici.

    OdpovědětVymazat
  4. Ahoj, fakt super. Sice jsme trochu tápal co a jak, ale pak jsem si přečetl tento článek a začalo to dávát smysl. Těším se na pokračování.

    OdpovědětVymazat
  5. Funguje i v Dolphin Browseru pod Androidem na mém HTCčku :)Ikdyž hledani rudy prstem na tom malem displeji neni idealni ale povedlo se ... zbytek az zitra dnes uz na to nemam cas ale hra se mi urcite libi ...

    OdpovědětVymazat
  6. Já to právě zkusil v Chrome na mém Androidu a celkem to jde hrát... ale ideální to není, to chce myš ;).

    OdpovědětVymazat
  7. Lze zřetelně poznat, že bylo demo dohráno k heslu? Projel jsem vše i se zdrojovými kódy a buď jsem slepý, nebo jsem demo dohrál a přehlédl to (čili se na mé slepotě nic nemění).

    Kromě toho, že jsem se s největší pravděpodobností nedostal do cíle, mi jistý problém činilo asi jen hledání vzorku rudy – klikal jsem jak zběsilý, ale ne a ne se trefit.

    OdpovědětVymazat
  8. No týýýý vole, to sem blbec a ještě k tomu slepej :-D Moc dobrý, ale ten druhý odkaz asi nenajdu, respektive ani tohle nebyl přímo "odkaz" spíš odkaz v tom pravym smyslu ;-)

    Houba

    OdpovědětVymazat
  9. Heslo jednoznacne poznas, ale jenom zdrojaky na to nestaci; ) kazdopadne mam celkem pozitivni odezvu, tak se vrhnu na dalsi cast.

    OdpovědětVymazat
  10. Nalezeno.

    Místo, kde jsem „odkaz“ na heslo našel, jsem při prvním hraní úplně ignoroval. I kvůli nestandardní pozici bych proto možná doporučil, aby se někde nacházelo upozornění, že je vhodné používat prohlížeč ve výchozím nastavení, různí lidé totiž mohou různé věci blokovat. Např. já povoluji JavaScript (příklad, s touto hrou to nemá nic společného) pouze v případě, že je bez něj nějaká stránka či kritický prvek na stránce nefunkční (pro odeslání tohoto komentáře jsem musel vytvořit dočasnou výjimku, jinak bych neměl šanci cokoliv sdělit).

    OdpovědětVymazat
  11. Tak žejo, lokální nastavení uživatele nemohu ovlivnit... každopádně jsem přesvědčený, že v celé hře není jediného nestandardního tagu nebo designu. Je to jen jeden DIV a do něj se vkládá text, nic víc.

    Ale gratuluji ;).

    OdpovědětVymazat
  12. Děkuji a těším se na pokračování.

    Pro hráče: Pozor, hrozí nápověda k řešení.

    Ad nastavení: Jistý minoritní prohlížeč má takovou příjemnou a užitečnou funkci. Samozřejmě si však uvědomuji, že se jedná pouze o detail, navíc netuším, kolik lidí toto blokuje.

    P.S.: V onom minoritním prohlížeči jsem hru důkladně netestoval, jelikož ho nepoužívám, ale na první pohled se nezdálo, že by bylo něco špatně.

    OdpovědětVymazat
  13. Kurnik uplne som sa zacyklil..! Neviem sa dostat dalej ako po odkaz 47. Proste neviem. Pozeral som aj zdrojaky a aj tak neviem, ako dalej. V robote mam len IE a Chrome a CSS moc nerozumiem. Aspon nejaky naznak prosiiiiiiiiiim :) Trebars aj cez PM na portali :)

    OdpovědětVymazat
  14. Tento komentář byl odstraněn autorem.

    OdpovědětVymazat
  15. 2Wolfus: Zacyklení je pochopitelné ;). Každopádně cesta k tvému cíli je ukryta v rámci chronologie příběhu (a i číslování souborů) o něco dříve.

    OdpovědětVymazat
  16. Skusal som to znova a furt nic... Dokonca som bol svina a cely cas som mal otvoreny aj editor, ale ziadny odkaz, ktory by som nevyskusal som nezbadal. Asi si dam par dni od toho pauzu, lebo uz zacinam byt nervozny :)

    OdpovědětVymazat
  17. To vůbec nejsi svině, takhle se to může hrát ;).

    OdpovědětVymazat
  18. Pro Wolfus: Tak to jsi dosel az na konec, neco jsi musel prehlednout... Kdyz clovek vi co ma udelat tak to vypada jednoduse, navic napovedu mas i v jednom komentari.
    Zkus: "wget -np -k -r -l 150 www.rpghry.cz/dds/Memory/000.htm -P ~/Stažené/"
    Na viteznou stranku nevede primy odkaz a i napoveda, jak ji najit, nemusi byt (a prvni 2 dokoncene verze ji nemely) v html kodu.

    OdpovědětVymazat
  19. Pro Wolfus: Tak to jsi dosel az na konec, neco jsi musel prehlednout... Kdyz clovek vi co ma udelat tak to vypada jednoduse, navic napovedu mas i v jednom komentari.
    Zkus: "wget -np -k -r -l 150 html_adresa/dds/Memory/000.htm -P ~/Stažené/"
    Na viteznou stranku nevede primy odkaz a i napoveda, jak ji najit, nemusi byt (a prvni 2 dokoncene verze ji nemely) v html kodu.

    OdpovědětVymazat
  20. Sakra! :D Ved ja som to nasiel v podstate nadruhykrat, len som si neuvedomil, na co sa pozeram :) Tak a mozem sa pustit do druhej misie ;)

    OdpovědětVymazat