Jak vznikala hra Lov mamuta – 2. díl

V předchozím článku jsem nastínil něco málo o výběru tématu a herních principů. Také jsem zlehka zabrousil do oblasti tvorby grafiky. V tomto článku se zaměřím na základní scriptování.

Scripty. Nikdy jsem k nim neměl vyloženě kladný vztah. Byť se nemusí jednat o programovací jazyk, stále mi dělá problémy dorozumět se se strojem. Naštěstí je WME engine uživatelsky dost přívětivý, takže scriptování není až tak obtížné, samozřejmě pokud člověk nevstupuje na pole neorané, kam jsem se ale na výlety neodvážil.

Scripty

Jak jsem naznačil, v oblasti scriptů se nesnažím znovu objevovat kolo a tak dám raději přednost již fungujícím řešením. V tomto ohledu představovaly neocenitelnou pomoc referenční projekty, které lze najít na diskusím fóru enginu nebo jsou součástí instalačního balíčku. Tímto stylem lze poměrně pohodlně vytvořit základ hry – scény a přechody mezi nimi, předměty a entity ve scénách. Těm se musely přiřadit základní vlastnosti a atributu. Potud to nebyla obtížná práce, horší to bylo když jsem musel všechny entity pospojovat do smysluplných celků.

Nejdéle mě zdrželo vytváření scriptu praženy. Hra je totiž rozkouskována do pomyslných částí, které jsou spojeny s praženou. Každá tato část obsahu jeden nebo více jednoduchých úkolů. Obvykle se jedná o primitivní spojení několika předmětů. Propojení jsem řešil přes globální proměnné. Na rozdíl od začátků práce ve WME jsem začal používat i klasické proměnné. Ale zpět k praženě. Každý úkol spouští určitou globální proměnnou, což signalizuje, že byl splněn. Script praženy díky aktivaci určité proměnné posune monolog praženy do další částí, ve které zadá další úkol. Script praženy je tvořen jednoduchou strukturou if/else. Na počátku jsem naivně udělal strukturu, kde všechna if a else byly na stejné úrovni a řazeny chronologicky. Výsledek byl, že pražena sice při každém dalším úkolu řekla požadovaný monolog, ale neopomněla předtím zopakovat všechny předchozí monology. Nakonec zafungovalo seřadit else a if v opačném pořadí a zároveň je vložit do sebe. Takže první a druhý monolog je vnořen ve třetím, třetí ve čtvrtém a čtvrtý v pátém. Nevím, jak je z programátorské hlediska tenhle postup správný, ale mně fungoval.

Pokud si bude tento článek číst nějaký programátor, je dost možné, že mu budou vstávat vlasy hrůzou. Nicméně i tohle je výhoda WME enginu, dokáže se poprat i s ne zcela správnými scripty. Na druhou stranu však nenechá projít chyby, které by později mohly působit další potíže.

Napsat komentář