Stránky

úterý 25. června 2013

#15 Bastl



Už dlouho si s Davem povídáme o mysteriózní hře Bastl. Jednalo se o takový letecký simulátor na čtverečkovaném papíře, který kluci hráli v dětství a později mě s ním seznámili. Moc se mi už tenkrát líbil koncept tahových závodů, založených na opatrném zacházení se setrvačností.

Proto jsem se jej pokusil před pár měsíci nějak zflikovat s mými chabými programátorskými znalostmi ve flashi (AS2, protože na AS3 už jsem líný), ale na další vývoj už nemám čas ani energii.


Níže přikládám na vysvětlenou úryvek Daveho textu, za nímž následuje víceméně funkční flashovka. Hra se dá normálně hrát, osobně jsem nad ní nejprve strávil půl dne programováním a pak s bratrem dva dny tuhé pařby. Na ovládání je nejprve nutné si chvíli zvykat, ale po pár bouračkách funguje výborně. Bohužel vůbec nefunguje registrace průjezdu cílem (tzn.: při průjezdu cílem se vůbec nic nestane), grafika je zběsilá, ale má své jisté kouzlo. Pokud by někdo měl zájem o dokončení, může si také níže stáhnout zdrojový .fla .





Cituji z Daveho Deníku nespokojeného hráče:

"... S Radimem jsem ale udělal ještě jednu důležitou hru, která není přímo naším autorským dílem, ale určitě jsme se zasloužili o několik zásadních vylepšení a propagaci.


Dá se říct, že mnohé žánry počítačových her je celkem snadné předělat do papírové varianty. I když odhlédneme od gamebooků, tak strategie, RPG, adventury, hopsačky a i FPS tak nějak jdou. Pokusili jste se ale vymyslet systém, který by v papírové verzi dokázal suplovat letecký simulátor? Konkrétně TFX?

Neděste se, neběhá se u toho s periskopem po pokoji ;). Myšlenka hry je určitě stará, někde na nějakém skautském táboře jsme se s ní seznámili od nějakého staršího kluka, už si to nepamatuji. V té době jsem měl rád "závody formulí". Dva či více hráčů disponovali tužkami, které zapíchli do papíru s předkreslenou tratí. Dále zatlačili na tužku prstem na vršek - tužka vystřelila vpřed a zachovala za sebou stopu grafitu - jízdu formule. Pokud se někdo dotkl mantinelu, tak se tah buď nepočítal nebo se posunul o kousek zpět od místa doteku. Primitivní, ale zábavná hra na dlouhé chvíle.

Upgradem pak byly závody formulí na čtverečkovaném papíře, které byly plně strategické a to díky "vektorovému" systému. Formule má svou rychlost a od ní se odvíjí její schopnost zatáčení. Toto pravidlo je společné pro všechny hráče. Pokusím se ho stručně popsat a hlavně nakreslit. Formule může zrychlovat nebo zpomalovat o jedno políčko za tah. Takže začínáme v bodě nula, pak nakreslíme šipku podle čtverečkovaného papíru o délce jedno políčko, v dalším tahu "zrychlíme" na dvě políčka a tak dále. Samozřejmě - jezdit rovně je nesmysl, takže je zde princip zatáčení. Když chci zatočit, tak si představím, do jakého bodu bych dojel, kdybych zopakoval minulý tah. Okolo tohoto bodu si nakreslím čtverec 2x2 políčka. Získám tak dohromady devět možností, kam se mohu přesunout. Jednak střed - tedy přesná kopie posledního pohybu plus zrychlení nebo zpomalení ve stejném směru. Dále dvě možnosti zatáčení při zachování rychlosti, dvě možnosti zatáčení při snížené rychlosti a dvě možnosti zatáčení při zvýšení rychlosti. No mrkněte na ilustraci, je to jednoduchý a funkční princip.


Logicky vyplývá, že při vyšší rychlosti se nedá tak dobře zatáčet a naopak. Je to přesně to, co taková hra na formule potřebuje. Tento princip jsme s Radimem vzali a povýšili ho. Nebudou to formule, ale budou to letadla. Nebudou jezdit po dráze, ale létat nad krajinou s mnoha překážkami, jako jsou hory, nepřátelská ležení a letiště. Cílem hry bude sestřelit jeden druhého. Každý má několik letadel. Hra dostala název Bastl. Ani nevím proč.

Sešit na matematiku, obsahující ideální dvojlisty čtverečkovaného papíru se začal podezřele rychle tenčit. Na jeden list se dala nakreslit kompletní mapa (ideálně fixem) a pak na něm sehrát nesčetně leteckých bitev. Vůbec nevadilo, že se za chvíli začal papír hemžit čárami. Stačilo je jednou za čas přegumovat. Ale stejně občas docházelo k tomu, že se papír už protrhával, takže se holt sáhlo opět do sešitu matematiky. Později jsme si dokonce papíry nechávali, jako "replay" nějaké dobré bitvy. Hra nás dost chytila, vyhradili jsme jí vlastní desky, udělali několik stylů krajiny a na kopírce jsme si udělali kopie pro další použití, abychom krajinu nemuseli dokola překreslovat.

Největší porci inovace jsem ale přinesl po té, co jsem si ve Score přečetl recenzi na TFX. Do tohoto funkčního (a zábavného) systému jsem přinesl a) volbu letadel, kde se liší akcelerace, maximální rychlost a schopnost manévrovat (třeba 4x4 políčka místo 2x2. Ale hlavně za b) výškoměr! Již dříve jsme dumali, jak udělat letecké bitvy trojrozměrné. Dumali jsme nad tím, že bylo více papírů pro jednotlivé výšky. Nakonec mi ale došlo, že zdaleka nejjednodušší bude psát ku každé pohybové šipce malé číslíčko, které symbolizuje výšku letadla! Vzdušné bitvy tak dostaly doslova nový rozměr, upravily se jen pravidla pro střelbu v prostoru a bylo. A teď si představte, že každý hráč ovládal tři různá letadla a měli za úkol vybombardovat oponentovo město. Šílenej masakr.

Požádal jsem Radima, jestli by nedokázal vyhrabat nějaké artefakty naší společné tvorby, ale obávám se, že jsem si vzpoměl příliš pozdě. V případě Bastlu / TFX však není problém v komplexní rekonstrukci. Asi si zahraju sám s sebou ;)."




A zde je již slibovaný Bastl.

Jedná se vlastně jen o funkční prototyp. Jak jsem už zmiňoval, při průjezdu cílem se nic nestane (resp. v programu to při průjezdu cílem hází do outputu jedničku místo nuly, ale to je tak všechno). Fungují ale kolize. Výškoměr dle Daveho vyprávění není zatím implementován.


Ovládání:

čísla na začátku: výběr levelů
pohyb: numerická klávesnice. čísla 1-9 odpovídají zobrazenému 3x3 čtverečku. Větší 9x9 čtvereček je tam jen pro orientaci, ukazuje, kam je možné doskočit v přespříštím tahu.

Tlačítka menu a reset jsou jasná.

(je to trochu malé, takže případně lze hru stáhnout ZDE a zdrojový flash CS5 AS2 soubor ZDE)







Zajímavosti:

- první level je jen taková testovací nuda

- je možné přeskakovat pevninu, hráč pouze nesmí na pevninu dopadnout.

- ve druhém levelu bratr dosáhnul neuvěřitelného skóre 67 tak, že nějak přeskočil úžinu od startu nahoru.

- třetí level ukazuje na možnosti, kdy je nutné přeskakovat uzavřené kusy pevniny.

- črvrtý level trochu trapně ukazuje, že je možné využít i obrázky.

- pátý level je zajímavý. Kombinuje totiž tahové uvažování s real-time. Doporučuji ozkoušet.