Naučím se dělat hry!
Jednoho krásného podzimního dne, po té co jsme si s přítelkyní vypili odpolední kafe/čaj po práci, jsem přemýšlel co s volným časem. Volného času tehdy bylo hodně. Celým světem totiž vládl covidový lockdown. A tak jsem si řekl: "Naučím se dělat hry!". Bylo to přesně v pondělí 28. září, v 16 hodin 36 minut odpoledne, někdy kolem roku 2020.
"Blázen," pomyslí si kdekdo, "vždyť to není jen tak, udělat hru. To musíte mít nápad, příběh, design, mechaniky, zdrojáky, grafiku, zvuky, hudbu, efekty…" A měl by pravdu. Ale taky je pravda, že v dnešní době přece není až tak těžké se naučit v podstatě cokoliv. Na internetu je zdrojů až skoro nekonečně, stačí se připojit a nasávat informace jako houba.
Pokus první, FPS podle návodu pro děcka
Tím prvním zdrojem, ze kterého jsem se pokusil něco naučit, byla kniha Build Your Own First Person Shooter in Unity, vydaná dnes již neexistujícím magazínem Wireframe.
Kniha je v podstatě takovou kuchařkou popisující každý krok tvorby hry. Pokud ji člověk poctivě následuje a dělá co mu tam píšou, tak mu na konci vypadne jeho vlastní zombie střílečka, kterou se může chlubit kámošům a třeba si s nimi i zahrát. Snadný, to zvládnou i děcka.
Jo, no, mně se to nepovedlo. Respektive, ono by se povedlo, kdybych dělal co tam píšou. Na začátku je uvedeno v jaké verzi Unity Engine to máte dělat a já se samozřejmě rozhodl použít jinou, aktuálnější. "To přece bude stejný, jenom lepší," říkal jsem si. A taky, "Když tam bude nějakej zádrhel, tak jej vyřeším, nejsem přece lama." Poměrně dlouhou dobu to šlo jako po másle. Dařilo se mi řešit rozdíly ve verzích a posouvat se v knize dál. Až to jednoho dne přestalo jít. V ten okamžik už mě ani moc nebavilo řešit ty rozdíly ve verzích víc než samotné programování, takže jsem se rozhodl se na to vykašlat. Teda, jen na to zkoušet to tímto způsobem.
Jedním z důvodů, proč mě to až tak nebavilo bylo to, že jsem dělal hru, ke které jsem neměl vztah. Druhým důvodem to, že jsem v podstatě jen přepisoval kód, jako kdysi na základce z Ábíčka. A to nebylo ono. Takže jsem se rozhodl využít jiný postup, jak se to naučit. Za prvé jsem si vymyslel vlastní projekt, který by mě mohl dlouhodobě udržet. Za druhé jsem se rozhodl využít kvalitnější zdroje pro sebevzdělávání. Takové, ze kterých pochopím nejen základy, ale i principy a složitější postupy jak dělat hry v Unity Engine.
Tak kdepak se to naučím?
Vzdělávacích nástrojů jsem se rozhodl využít vícero. V první řadě, přímo Unity má skvělou platformu zaměřenou na vzdělávání v rámci jejich ekosystému. Unity Learn obsahuje hromady tutoriálů a kurzů různého rozsahu. Člověk si může vybrat od malých, několika minutových tutoriálů, zaměřených na jednu konkrétní věc po tzv. Pathways, což jsou "učící cesty" zaměřené na určitá komplexnější témata. Kromě toho tam člověk za učení sbírá XP body a různé odznaky, takže to má i nějaký herní motivační prvek. Velkou výhodou je, že je tam vše zdarma a platí se až za případné certifikace. Ty mě ale zatím nechávají chladným a nepotřebuji je.
Další mou vzdělávací platformou je Udemy. Na ní najde člověk kurzy snad na úplně každé téma, herní vývoj není výjimkou. Zde už jsou kurzy placené, ale pokud je člověk trpělivý, tak je dokáže nakoupit dost levně. Osobně tam nakupuji v podstatě jen 1x za rok, vždy v listopadu na Black Friday. To mívají téměř všechny kurzy za 9.99 € a je jedno, jestli je to kurz na 4 hodiny, nebo 70. A 10 éček, to je 250 Kč, v dnešní době jedno obědové meníčko s malým pivem. Někde i bez piva. To je docela pohodová cena, za nabytí vědomostí. Kvalita kurzů je tam samozřejmě různá, ale uživatelské recenze dost napoví. Navíc, kurzy jsou často průběžně aktualizované, takže si tam lze aktualizovat i znalosti.

Jako další vzdělávací nástroj používám YouTube, kde člověk dokáže najít taky úplně všechno. Od profesionálního postupu výroby epesního jídelního stolu z masivního dřeva prolitého epoxidem, až po návody jak si (ne)nechat utrhnout prsty nasazováním pneumatiky na kolo traktoru pomocí neřízené exploze plynu ze spreje.
Silnou nevýhodou YT je to, že mají zatraceně dobrý algoritmus na podstrkávání toho balastu. Jeden se chce podívat na novinky od oblíbeného gamedev streamera. Ale po hodině se přichytí, jak s výrazem vyhladovělého zombíka čumí na skupinu chlapů bičujících se při hře na slepou bábu s gumovými kachnami místo bot. Ano, vím to z vlastní zkušenosti.
Nicméně, zde je pár tipů, kde se lze i něco dozvědět:
No a pak jsou tady možnosti vzdělávání, které nejsou zrovna levné, ale dokáží lidem předat výrazně vyšší hodnotu. Jedná se o různé živé kurzy s lektorem, ať už online, nebo osobně. Z oblasti herního vývoje jsem měl možnost si vyzkoušet kurz od Skvotu, zaměřený na herní UX/UI (únor - duben 2024). Kurz měl 18 lekcí během 9 týdnů a lektorem byl Lukáš Caska, vedoucí UI/UX designer v Bohemia Interactive. Už tyto úvodní parametry naznačují, že by to mohlo být lehce lepší, než YT tutoriál za trochu osobních údajů pro vyladění manipulačního algoritmu.
Na tomto typu kurzu je naprosto zásadní ta přítomnost lektora a jeho zpětná vazba. V tom je obrovská přidaná hodnota proti kurzům na Udemy a jiných podobných online platformách. Nezkoušel jsem zatím jiné podobné kurzy, ale musím říct, že Skvot má svou platformu velice dobře zpracovanou od prvního vyplnění nezávazné přihlášky po samotný průběh kurzu.
Projekt snů
Tím projektem, který mě má dlouhodobě udržet a na kterém se toho mám hodně naučit, je předělání mé srdcové deskovky do podoby počítačové hry. To má hned několik výhod. Například nemusím vymýšlet téma hry ani její mechaniky. Navíc nejen tu samotnou deskovku, ale i její téma mám v oblibě a tak mě to hned tak nepustí.
Má to však i svá úskalí. Je to poměrně komplexní, semi-kooperativní hra s propracovanými mechanikami a velmi atmosférickým zážitkem při hraní. A toto přenést do elektronické podoby může být fuška. Kor, když jsem se rozhodl to spáchat celé sám, včetně veškeré grafiky, jako svůj první projekt, bez znalosti ekosystému herního enginu.
Jedna z prvních věcí, kterou říkají v každém kurzu vývoje her je: "Začněte s něčím malým, jednoduchým. Nepouštějte se do velkých komplikovaných projektů." Ha, kecy v peci. Udělám to po svém, přece když budu dělat na svém srdcovém projektu, tak nevadí, že může trvat nekonečně dlouho. A už vůbec se nemůže stát, že bych u toho vyhořel.
No, stalo se. Zhruba po roce a půl. Tak nějak jsem ten projekt začal brát spíše jako povinnost, než zábavu. Začal jsem pozorovat, že mám tendence přemýšlet nad věcmi, které jsou ještě daleko přede mnou, místo toho abych se věnoval dokončení toho, co jsem si naplánoval jako blízké cíle. Například v situaci kdy jsem měl v prototypu hotových cca ¾ herních mechanik a naplánoval si dokončení zbytku, jsem si radši hrál s kravinkami jako vytváření hezčích 3D modelů pro prototyp apod. Tím pádem se ten projekt začal zpomalovat a já jsem ztrácel motivaci.
Tak jsem si řekl, že si od toho dám na chvíli pauzu. Abych udělal něco jiného, něco menšího, co zvládnu od začátku do konce za krátký čas. Něco, kde zužitkuju to, co jsem se dosud naučil. Něco, na čem se nebudu zalamovat se zbytečnými složitostmi. Přesně tak, jak říkají v každém kurzu vývoje her jako první věc.
Projekt snů … ten druhý
Dalo mi to chvilku zabrat, než jsem si vymyslel, co bych chtěl zkusit jako nový projekt. Aby to bylo dost jednoduché, ale aby to mělo smysl dělat. Abych se u toho i něco naučil. Nakonec rozhodnutí padlo na malou mobilní hru. Nic složitého. Hráč bude koulet kuličku po dráze, ze které nesmí vypadnout. A cílem bude dojet co nejdál. Nic víc, nic míň. A celé to udělám za 2 týdny. Bude se to jmenovat Marbles a bude to pecka. Jo, to je ono!
A jak mi to šlo dál, napíšu někdy příště. Protože projekt Marbles je přesně to, o čem bych tu chtěl dál psát. O tom, jak jsem co řešil a proč. Jednak abych si to mohl někdy připomenout a taky proto, aby si to mohl přečíst i někdo další, koho by to zajímalo. A pokud to půjde dobře, tak napíšu i o tom prvním projektu snů. Protože jej nehodlám jen tak opustit a už teď přemýšlím, jak v něm budu pokračovat.