Jan Jirkovský

Fantasy GameBook Engine - postup krok za krokem

Domovská stránka:
www.gamebooky.syslik.net

Návod pro začátečníky - jak udělat svůj první gamebook - krok za krokem


Všeobecný úvod

Dostává se vám do rukou nástroj pro tvorbu komplexních gamebooků z fantasy prostředí s rozličnými RPG prvky a možností poměrně jednoduše naskriptovat nejrůznější události. Jinými slovy - pomocí tohoto enginu můžete BEZ NUTNOSTI UMĚT PROGRAMOVAT (znalost základů programování je však výhodou) vytvářet vlastní interaktivní příběhy. Vaše tvůrčí možnosti nejsou omezeny na sled výpisu textu a odkazů, můžete udělat mnohem víc!

TIP: Zkuste si zahrát přiloženou ukázkovou hru, pochopíte základní principy jak co funguje... Stejně tak pokud víte o jiných hrách v FGBE, neváhejte a zahrajte si je!

K vytvoření elektronického gamebooku by vám teoreticky mohla stačit pouze znalost tvorby webových stránek (v HTML), ovšem takto vytvořené gamebooky zpravidle nebývají valné kvality, zejména vzhledem k absenci inventáře a možností ukládat proměnné a vyhodnocovat podmínky (vysvětlím dále). Fantasy GameBook Engine vyhodnocuje vámi vytvořené textové soubory a zpracovává je na základě svých algoritmů (o které se nemusíte starat :o). Umožňuje vám tak vytvořit své vlastní interaktivní textové dobrodružství plné nástrah, pastí, nepřátel a perných chvil, aniž byste museli umět programovat v nějakém programovacím jazyce. Vše tvoříte pomocí poměrně jednoduchých tagů (připomínajících právě HTML). Počítačoví analfabeti s tím nejspíš budou mít problémy, ale pokud se orientujete mezi počítačovými hrami, nebude pochopení tvorby gamebooků pomocí FGBE problémem. Základem je přečíst tento průvodce krok za krokem. Tím získáte prvotní dovednost a poté se můžete ponořovat hlouběji a hlouběji do tajů FGBE čtením a zkoušením obsahu sekce Kompletní dokumentace pro tvůrce. Naučit se tvořit gamebooky by měl s pomocí FGBE být schopen po pár hodinách takřka každý. Hlavní podmínkou je odhodlání, fantasie a trpělivost.

Jak to celé funguje?

Celá hra funguje na bázi lokací nebo, chcete-li, odkazů. Podobně jako je tomu v knize je pod pojmem odkaz zarhnuto to, co se nachází na jednom místě knihy, než hráč přejde díky své akci do lokace jiné. Uvedeme si malý příklad:

Stojíš uprostřed malé ztemnělé místnosti. Na podlaze leží rezavý kus železa a na severní straně jsou zavřené dveře.

Co uděláš?
- Otevřeš dveře
- Sebereš kus železa



Jakmile hráč zvolí jednu z možností, přesune se na další odkaz. Tam bude následovat další popis děje, další výpis možností konání a případně i nějaký souboj nebo jiná zajímavá událost.

Tento skript by se nacházel v hlavním herním souboru hry - tím je soubor data.gbs, umístěný ve složce data. Tento soubor otevřete v nějakém textovém editoru, pro začátek nejlépe v Poznámkovém Bloku (Notepadu). Máte-li základní běžně šéřenou verzi FGBE, pak na vás po otevření tohoto souboru vybafne hromada textu. To je skript pro ukázkovou hru, kterou si můžete zahrát. Každá změna v tomto souboru znamená změna ve hře, kterou následně můžete spustit. Je však nutné dodržovat pravidla psaní skriptů - nemůžete tam napsat nějaké blbosti a čekat, že hra pochopí, co po ní žádáte. Začít se skriptováním v FGBE je nutné postupně. Vhodným startem je buď úprava a zkoumání již hotových skriptů nebo smazání obsahu souboru data.gbs a vytváření "od nuly", začínajíce nejjednoduššími příkazy.

Příklad odkazu/lokace v našem gamebooku (červený text je mnou připsaný komentář, ve hře ani ve skriptech by se nevyskytoval):

<1> 
= označení čísla lokace
<text obsah="Stojíš uprostřed malé ztemnělé místnosti. Na podlaze leží rezavý kus železa a na severní straně jsou zavřené dveře."> 
= příkaz pro vypsání textu v hlavním oknu programu
<menu popis="Otevřeš dveře" odkaz="2"> 
= dá hráči možnost otočit na odkaz číslo 2, zobrazí uvedený popis
<menu popis="Sebereš kus železa" odkaz="3"> 
= dá hráči možnost otočit na odkaz číslo 3, zobrazí uvedený popis

<2>
= následuje definice další lokace (lokace po sobě ve skriptech následují)
...
Funkční podoba (tedy bez komentářů) by vypadala takto:
<1> 

<text obsah="Stojíš uprostřed malé ztemnělé místnosti. Na podlaze leží rezavý kus železa a na severní straně jsou zavřené dveře."> 
<menu popis="Otevřeš dveře" odkaz="2"> 
<menu popis="Sebereš kus železa" odkaz="3">


Pokud bychom výše uvedený skript (samozřejmě bez komentářů) uložili jako soubor data.gbs a dali jej do složky data v adresáři hry (adresář s .exe, tedy spouštěcím, souborem hry) a hru bychom spustili, automaticky by naběhnul první odkaz (po úvodním menu atd...). Hráči by se zobrazil text definovaný v tagu <text> a měl by na výběr ze dvou možností, co udělat. Pokud by například kliknul na první možnost, přesunuli bychom se na odkaz dvě, definovaný v bloku začínajícím tagem (není to úplně plnohodnotný tag, ale má jeho strukturu) <2>.

TIP: Zkuste si vytvořit pár jednoduchých lokací s nějakým textem a navzájem je pospojovat odkazy... uvidíte, že to je snadné

Jak sami vidíte, i pokud neumíte programovat, je tvorba gamebooků v FGBE poměrně snadná a na takové úplně jednoduché dobrodružství by vám stačily ony dva výše uvedené tagy (<text> a <menu>). Taková "hra" by ale nebyla příliš komplexní a hráčsky zajímavá, a proto je zde mnoho dalších (složitějších) funkcí, o kterých si ale povíme později.

Upozornění: normální úvozovky v textu celkem logicky nemůžete použít (protože by ukončili zadávání daného parametru obsah). Pokud chcete dát do hry normální úvozovky " ", nahraďte je ve skriptu dvojicí dvou lomítek /, tedy //... Pokud napíšete //Ahoj//, zobrazí se to ve hře jako "Ahoj".

Ještě jednou si zopakujeme naprostý základ skriptování v FGBE:
Základem jsou lokace (odkazy), odpovídající stránkám v knižním gamebooku. Čísla lokací zapisujeme do souboru data.gbs ve tvaru <číslolokace>. V rámci lokací se musíme naučit používat dva základní příkazy.
text - tento příkaz vypíše nějaký text na obrazovku. Jaký text? Takový, jaký je určet parametrem obsah.
menu - příkaz menu umožňuje "otočit" stránku v našem gamebooku, vytvoří novou položku v menu. Má dva parametry - odkaz udává číslo lokace(odkazu), na který se přesuneme při kliknutí na tuto položku v menu. Parametr popis udává, jaký bude popisek této položky v menu.

Schématem základního stavebního kamene každého gamebooku je tedy:
<číslo lokace> 
<text obsah="Text odstavce, který se vypíše"> 
<menu popis="Popisek této položky v menu" odkaz="číslo odkazu, kam se přesuneme při kliknutí na tuto položku v menu"> 
V praxi může vypadat velice jednoduchý funkční gamebook třeba takto
<1>
<text obsah="Nacházíš se v první lokaci"> 
<menu popis="Jít do druhé lokace" odkaz="2"> 
<menu popis="Jít do třetí lokace" odkaz="3"> 
<2>
<text obsah="Nacházíš se v druhé lokaci"> 
<menu popis="Jít do první lokace" odkaz="1"> 
<menu popis="Jít do třetí lokace" odkaz="3">
<3>
<text obsah="Nacházíš se ve třetí lokaci"> 
<menu popis="Jít do první lokace" odkaz="1"> 
<menu popis="Jít do druhé lokace" odkaz="2">
<4>
Výše uvedené je snad dobře pochopitelné. Jen bych upozornil, že ona lokace 4 na konci být musí, protože v FGBE platí pravidlo, že za každou lokací, do níž se může hráč dostat, musí být lokace s číslem o jedna vyšším (souvisí to se způsobem, jakým program pracuje). Tuto vlastnost nemusíte zatím chápat, stačí ji dodržovat.

Tímto jsme na konci tohoto úvodního kurzu. Při přečtení a vyzkoušení technik zde uvedených byste měli být schopni vytvořit velice jednoduchý základ gamebooku. Jak však asi tušíte, FGBE toho dovoluje mnohem, MNOHEM víc! Jakmile pochopíte tyto základy (lokace, menu, text) teoreticky a prakticky si je vyzkoušíte (pokud jste to ještě neučinili, udělejte tak nyní!), můžete přejít na Kompletní dokumentaci pro tvůrce. V té naleznete naprosto vše potřebné pro vytvoření velkolepých gamebooků s rozmanitými skripty, souboji, rpg prvky a vůbec vším možným. Prvně je však opravdu nutné vyzkoušet si základy uvedené v tomto tutoriálu

Jakékoli dotazy, připomínky, ohlašování chyb či vaše názory můžete psát na fórum FGBE

www.gamebooky.syslik.net