Tvoříme v Ylands: Jdeme do finále!

Video se připravuje ...
Sdílej
 
V rozšířeném a posledním dvoudíle se v našem seriálu o tvorbě v Ylands podíváme na zásadní elementy: Proměnné a podmínky a cykly. Sledujte video, jdeme do finále!

Soubor s rozpracovaným Ylands projektem si můžete stáhnout tady.

Proměnná je informace, která se v průběhu času může (ale nemusí) měnit. Existuje několik typů proměnných – celé číslo, desetinné číslo, text (tzv. řetězec), hodnota ano/ne atd. Hře většinou musíme říci, jaký typ informace je v proměnné uložený a pak ho neměnit, aby nedocházelo k omylům a bugům.

Základy v Ylands skriptování: Proměnné

Proměnnou vytvoříme na entitě Umělé inteligence (AI) v kategorii Proměnné, tyrkysová ikona (x) vlevo, kliknutím na tlačítko VYTVOŘIT NOVOU PROMĚNNOU. Při otevření dialogového okna nás čeká zásadní úkol. Vymyslet proměnné správný název, abychom ji rozuměli i v budoucnu. Název by měl popisovat, o čem proměnná je. V našem případě budeme sledovat „Pocet zivych mumii“. Tlačítko „Pole“ musí být odškrtnuté.

Proměnnou vytvoříme na entitě Umělé inteligence (AI) v kategorii Proměnné •  ABC

A tady se dostáváme k „typu“ proměnné. Jak náš název napovídá, naše proměnná bude číslo – zvolíme. Po kliknutí na „Potvrdit“ se nám do levé části přidají naše kostičky. Zelená „Nastavit“ slouží k nastavení/změně proměnné, šedý díl skládačky je samotná hodnota proměnné = hodnota, kterou nastavíme a která se může měnit.

Jako první nastavíme „Pocet zivych mumii“ na hodnotu „0“ hned po spuštění hry •  ABC

Jako první nastavíme „Pocet zivych mumii“ na hodnotu „0“ hned po spuštění hry. Pro ujištění si obsah proměnné necháme vypsat systémem. Výpis má většinou dvě části. První říká, co vypisuje, druhá část je hodnota samotná. Jedná se tak o dva řetězce (texty) které „sečteme“, spojíme. Při spuštění hry by nám hra měla vypsat náš text + hodnotu proměnné (což je 0).

V dalším kroku budeme chtít při vytvoření mumie proměnnou navýšit o +1 •  ABC

V dalším kroku budeme chtít při vytvoření mumie proměnnou navýšit o +1, abychom věděli, kolik je živých mumií. Při otevření skriptovacího plátna mumie ale zjistíme, že nemáme možnost použít naši proměnnou.

V nastavení proměnné (bod 2) je totiž zapotřebí zaškrtnout, že proměnnou UVIDÍ (získat viditelnost) a může NASTAVIT (nastavit viditelnost) i jiná entita. „POUZE TOTO“ změníme v obou případech na „GLOBÁLNÍ“. Odteď nám bude proměnná fungovat i na entitě mumie.

Protože nevíme, která mumie se nahraje do hry jako první. Proto skript, který vytvoříme, musí mít každá z mumií •  ABC

Protože nevíme, která mumie se nahraje do hry jako první. Proto skript, který vytvoříme, musí mít každá z mumií. Při vytvoření mumie změníme hodnotu „Pocet zivych mumii“ o +1. Když se načte první mumie (jakákoliv), tak protože hodnota proměnné je nastavena na 0, skript nám vytvoří 0+1=1. Nová hodnota proměnné je tedy „1“. Ve chvíli, kdy hra vytvoří druhou mumii, skript spočítá „Pocet zivych mumii“ + 1 -> 1+1 = 2. 

Stejně to bude fungovat i obráceně, když mumie postupně pokosíme mečem. Jenom skript bude „Počet zivych mumii“ – 1. Skript musí mít opět obě mumie.

Soubor s novými úpravami si můžete stáhnout tady.

Základy skriptování: Podmínky a cykly

Tou nejzákladnější podmínkou je JESTLI a najdeme ji v levém menu pod modrou ikonou LOGIKA. Princip fungování je jednoduchý – hra zkontroluje podmínku, pokud je PRAVDA, spustí kód, který je uvnitř logického bloku. Pokud je výsledek NEPRAVDA, kód uvnitř se jednoduše přeskočí a nespustí.

V naší hře budeme kontrolovat, jestli je „Pocet zivych mumii“ roven 0. Pokud je to PRAVDA, otevřou se tajné dveře, které můžete umístit někam do podlahy. Herní logiku potom propojíme s animátorem pozice tajných dveří. 

Tou nejzákladnější podmínkou je JESTLI a najdeme ji v levém menu pod modrou ikonou LOGIKA •  ABC

Při stavění logiky vás asi zarazí, že v nabídce není jednoduché „=“. To se v programování používá při NASTAVOVÁNÍ hodnoty. Pro POROVNÁVÁNÍ se používají dvě, nebo dokonce tři „=“. Pokud použijeme dvě, např. 0 == 0, jedna nula může být text a druhá číslo, důležitý je pouze obsah a tak vyjde PRAVDA. Tři „=“ jsou přísnější. Porovnávají i typy proměnných, takže PRAVDA vyjde pouze pokud obě nuly jsou text/číslo, jinak vyjde NEPRAVDA.

Video se připravuje ...

Jak tvořit v Ylands II • Zdroj: ABC

Jen co se otevřou tajné dveře v podlaze, připravíme poslední quest jak z Harryho Pottera. Spousta klíčů, jenom jeden ale bude pasovat do posledních dveří. Abychom se neuklikali do kómatu, pomůžou nám šablony a cykly. Šablona je přednastavený mustr, abychom nemuseli vlastnosti entity pokaždé vyklikávat znovu. Cyklus je nějaký proces, který se opakuje, cyklí. Jdeme naprogramovat poslední úkol.

Nastavení dveří máme už v malíku. Nastavíme nezničitelnost a ID válce třeba na 200. Jenom klíč se stejným ID je bude moci odemknout. Klíč vložíme do místnosti, bude nezničitelný, ID nastavíme později skriptem.

Do hry vložíme entitu „Šablona entity“ a položíme ke klíči •  ABC

Do hry vložíme entitu „Šablona entity“ a položíme ke klíči. Kapátkem vybereme klíč jako „ODKÁZANOU ENTITU“. Do šablony přidáme skript, vytvoříme si proměnnou „ID zámku“ a nastavíme hodnotu na 195. Poté spustíme náš první cyklus. 10x vytvoříme novou entitu klíče a při každém cyklu změníme ID zámku o +1. Vznikne nám tak 10 klíčů s ID 196-206. A jenom ten s ID „200“ odemkne poslední dveře.

Protože chceme, aby se nám klíče náhodně rozházely po místnosti, musíme zjistit souřadnice, ve kterých klíče umístíme. Přes „Nastavení omezení“ si přepneme PROSTOR na „svět“, abychom to měli snazší. Vybereme ikonu šablony a budeme ji posouvat po ČERVENÉ a MODRÉ šipce. Zároveň sledujte, jak se mění pozice a zapište si krajní hodnoty pro X a Z (celkem to budou 4 čísla, 2 pro X, 2 pro Z). V tomto prostoru se budou klíče náhodně umisťovat.

Cyklus si rozšíříme o „vytvoření entity klíče“ •  ABC

Cyklus si rozšíříme o „vytvoření entity klíče“. Použijeme parametr „Vytvoř entitu“ a kapátkem vybereme šablonu klíče. Parametr pozice má 3 čísla - osa X, Y a Z. Klíč je vždy na podlaze, takže osa Y se měnit nebude. Osa X a Z bude náhodné číslo mezi krajními hodnotami, co jsme si zapsali z našeho šoupacího experimentu. Abychom mohli použít funkci náhodného čísla, parametr souřadnic musíme nahradit „vektorem“. Do něho vložíme „Náhodné číslo“ pro X a Z a celý tenhle blok vložíme do parametru „Pozice“.

Tímto se hráč dostane z pyramidy ven, tak mu nezapomeňte přichystat nějakou odměnu. Loďka, se kterou by náš avatar mohl odplout domů, by mohla být adekvátní odměnou za vynaložené úsilí.

Soubor s novými úpravami si můžete stáhnout tady.

VIDEO Tvoříme v Ylands: Jak pracovat s inventářem

VIDEO Tvoříme v Ylands: Jak pracovat s inventářem

Tvoříme v Ylands: Základy skriptování 1

Tvoříme v Ylands: Základy skriptování 1

Tvoříme v Ylands: Základy skriptování 2

Tvoříme v Ylands: Základy skriptování 2

Autor

Marek Hůlka