{{ flash.text }}

Tvoříme si vlastní hry

Napsal dne 16.09.2014 pro sekci GS
Pokud jste si někdy chtěli vytvořit vlastní hru, tak zde naleznete alespoň krátký úvod do toho jak byste vlastně měli postupovat, do jak velkých projektů se vlastně hned ze začátku pouštět a hlavně jaký software použít.

V tomto článku si povíme něco o procesu tvorby her, konkrétně tedy o softwaru, jenž můžete použít pro uplatnění svých ambicí a navíc je volně dostupný pod licencí Free, tedy volně použitelný pro výuku nebo prezentování her bez nároku na finanční ohodnocení. A kdo ví, možná zjistíte, že vytvořit vlastní hru nemusí být až tak náročný proces jak bychom si někteří mohli představovat a může to zvládnout klidně i malé děcko nebo si her začnete více cenit, protože zjistíte, že za jejich tvorbou nestojí (ve většině případů) jen banda cvičenejch opic. Vývojová prostředí jsou seřazena od „nejjednodušších“ až po ty „nejsložitější“, tedy od kousků kde si vystačíte pouze s několika málo abstraktními příkazy, jako „Jdi“, „Udělej“ až po prostředí kde se bez základních znalostí nějakého jednoduššího programovacího jazyka nehnete z místa a budete na celé vývojové prostředí pouze koukat bez možnosti pohnout se do nějakého rozumného kroku.

Kodu Game Lab

Kodu Game Lab

Jedná se o jednoduchý nástroj pro tvorbu her, nebo spíše pro pochopení jak vlastně takové tvoření funguje z hlediska programátorského (čtení kódu zleva doprava, odshora dolů atd) a z hlediska designérského (tvorba map, umisťování objektů). Kodu je vzhledem ke své jednoduchosti a grafickému zpracování, zaměřen spíše na mladší populaci a já osobně ho například úspěšně využívám při výuce na počítačovém kroužku určeném pro 3. -5. třídu ZŠ.

Autorem samotné aplikace jest vývojová laboratoř FUSE, která patří pod Microsoft, tudíž při stažení aplikace, máte navíc záruku funkcionality, pravidelných aktualizací a celkem dobré optimalizace, i když co se právě té optimalizace týče, jedná se o slabší stránku Game Labu.

Kodu je totiž aplikace, jenž si bere maximum z možností knihoven DirectX 9c a tudíž pokud máte například starší grafickou kartu (například školní počítače, jež nebývají nejnovější), můžete mít problém. V lepším případě vám nebudou fungovat některé grafické prvky (poblikávání stromů), aplikace vám bude fungovat dýchavičně (kolísavé FPS) anebo v tom horším případě jí ani nespustíte.

Kodu Game Lab je velmi zajímavá aplikace, kterou určitě využijí někteří učitelé při výuce na první stupni ZŠ, protože právě pro tuto kategorii mladých programátorů je aplikace určena. A pokud nejste učitelem, můžete si ho zkusit stáhnout jen tak na takové to domácí „programování“ při kterém nepotřebujete znalost žádného programovacího jazyka a vystačíte si tak pouze se základy angličtiny.

Construct 2

Construct 2

Construct 2 je vývojové prostředí postavené na jazyce HTML5 a nabízí velmi intuitivní prostředí pro tvorbu 2D her bez nutnosti znát jakýkoliv programovací jazyk. Tímto by se mohl zařadit po bok Kodu Game Lab, ovšem není tomu tak. Kodu Game Lab už od svého prvního spuštění počítá s tím, že opravdu nemáte žádnou předchozí zkušenost s programováním nebo umisťováním objektů na plochu, kterou pro jistotu vytvoří za vás, fyzikální modely si taky obstará z vlastních knihoven a herní objekty má také vlastní. Construct funguje do určité míry stejně, ovšem svým prostředím, více připomíná vyšší třídu vývojových prostředí a k jeho pochopení a vytvoření vlastní hry, vám tak nebude stačit pouze párkrát uhodit hlavou do klávesnice.

Jedním z rozdílů je to, že zde pracujete pouze ve 2D, vaše objekty jako prostředí, postavy, zbraně atd si musíte vytvořit (Malování je v tuto chvíli velkým přítelem), dosadit je do hry a následně jim přiřadit předpřipravené vlastnosti a události. Řekněme, že chcete nějakou 2D plošinovku. Vytvoříte si pár kostiček, po kterých bude vaše postavička skákat, těm přiřadíte vlastnost „Solid“ (pevný), poté umístíte vašeho hrdinu, kterému dáte vlastnost „Platform“ (skákačka), čímž mu přiřadíte, jak se má chovat, když budete chtít, aby skákal nebo se pohyboval a voala, máte plošinovku. Do tohoto kroku je vše velmi jednoduché a problémy nastávají, pokud byste chtěli tvořit něco složitějšího. Kodu vám při tvorbě složitějších příkazů nedovolí použít ty, které už není možné provést znovu, a tudíž vylučuje, že uděláte chybu, pokud alespoň trochu víte, co vlastně chcete. Construct vás v tom nechá hezky plácat, ať si to užijete, což není špatné, protože takhle to má přesně fungovat a nutí vás to alespoň nad celým procesem tvorby hry pěkně přemýšlet.

Prostředí je nabízeno ve Free verzi pro vyzkoušení si základů a drobné oťukání se a také placenou verzi, která přináší rozšířené možnosti tvorby, moduly navíc, které můžete použít při vaší tvorbě, podporu nekonečného množství vrstev, ve kterých můžete pracovat, export na zařízení s OS Android a další vychytávky, které vám ve free verzi nebudou chybět, pokud se nechcete stát opravdovým vývojářem profesionálem.

GameMaker

Game Maker

GameMaker je vývojové prostředí, které kombinuje „abstraktní programování“ (přiřazujete objektům příkazy, které jsou předpřipravené) anebo programování v pseudo jazyce GML (GameMaker Language) který vychází z JavaScriptu.

Nabízí tak nezkušenému vývojáři letmý náhled do toho, jak by taková tvorba hry vlastně mohla fungovat a můžete si tak přičichnout k opravdovému programování, různých skriptů pro akce, částicových efektů (výbuchy, kouř atd), jednoduchého AI nebo pro odvážnější třeba i naprogramování vlastní herní fyziky. Navíc vám umožňuje zvolit si, zda chcete začít pouze na 2D hrách nebo si troufnete na větší projekty ve 3D.

Game Maker se tak řadí do kategorie vyšších nástrojů a od toho se také odvíjí jeho cena. V základní verzi je dostupný zdarma a nabízí širokou škálu možností, jak s ním můžete nakládat. Problém však nastává, pokud chcete vaše hry exportovat například na jinou platformu. Free verze nabízí podporu pouze pro Win 7 a nižší + Mac OS X a například pro tvorbu her na zařízení s Androidem nebo jen Win 8 je potřeba zakoupit si za „nemalý peníz“ (malý oproti opravdovým profi prostředím) Profesionální edici, která vám nabídne velké množství pokročilých nástrojů, mezi kterými naleznete i sadu pro export na Androida a další platformy.

Mezi nesporné výhody GameMakeru je jeho velká oblíbenost, proto není problém vyhledat podporu, pokud vám něco nefunguje, tak jak byste si přáli a například na YouTube naleznete velkou škálu tutoriálů HowTo, které vám pomohou dostat se přes složitější začátky.

Unity 4

Unity 4

Unity je profesionální nástroj pro tvorbu her, simulací, nebo třeba 3D filmů pokud si troufáte. Jedná se o počin, který nemusí být všem znám, jelikož se o něm až do nedávna zas tak moc nemluvilo a vy jste o jeho existenci doteď třeba ani nevěděli. Možná vám pomůže informace, že v Unity jsou vytvořeny hry jako Slender, BadPiggies, ShadowGun (mimochodem česká tvorba), Wasteland a mnoho dalších (kompletní seznam můžete nalézt na oficiálních stránkách Unity). A co vlastně tento engine (ano, tady už nemluvíme pouze o nějakém pseudo vývojovém nástroji, ale o kompletním enginu se vším všudy) nabízí?

V první řadě je to kompletní podpora DX11, díky kterému si můžete „pohrát“ s grafickým zpracováním dle libosti (za předpokladu že znáte grafické knihovny, nebo nejste líní si o nich něco dohledat) a není pro vás problém vytvářet, reálné odrazy na vodní hladině, sluneční paprsky, efektivní exploze, kouřové efekty a vůbec si vaší hru obohatit o nádherné vizuální zpracování. Další z výhod enginu je, že již v základu obsahuje propracovaný fyzikální model RagDoll a Rigidbody, což ve zkratce znamená, že odpadá starost s tvorbou nějakých složitých výpočtů pro pády předmětů, umírání nepřátel atd. Samozřejmostí je podpora prostorového ozvučení, multiplatformy (s určitým omezením o kterém napíšu dále) a také obsahuje jednoduché nástroje pro tvorbu a úpravu térénu, různé způsoby jak otexturovat předměty, stínování, obalování objektů do skupin, kterým pak můžete přiřazovat společné vlastnosti a jiné příjemnosti, které vám pomáhají v tvorbě hry dle vašich představ.

Engine obsahuje plno nástrojů pro animace nebo například známý Ragdoll

A u tvorby objektů a terénu bych se na chvíli pozastavil. Záměrně jsem zmínil, že nástroje jsou jednoduché. To totiž neznamená, že by byli jednoduché na pochopení a chce to, abyste si s nimi trochu pohráli a vyzkoušeli, co, jak funguje. Ale jsou jednoduché, pokud přijde na tvorbu složitějších scén. V tu chvíli totiž Unity dochází dech. Autoři si toho byli plně vědomi a tak přidali podporu pro zásuvné moduly, pomocí kterých si můžete „doinstalovat“ některé další nástroje. Pro příklad uvedu tvorbu silnic nebo řek. Můžete se piplat s vytvářením koryt pro vaši horskou říčku v lese, ale věřte mi, po chvíli do toho třísknete a zanevřete nejen na řeky, ale pomalu i na celý engine, který k tomuto účelu nebyl vytvořen. Je zde ovšem možnost stáhnout si speciální plugin, pomocí kterého pouze namapujete, kudy chcete vaší řeku vést, plugin za vás provede otrockou práci, terén upraví přesně podle vašich představ a dokonce ho i správně otexturuje, pokud mu to nastavíte. Což je rozhodně nesporná výhoda, a pokud budete s Unity pracovat, tak se zásuvným modulům určitě nevyhýbejte.

V enginu se dají tvořit opravdu pěkná herní prostředí díky plné podpoře DX11

Co se objektů týče, Unity opět nabízí „jednoduchý“ nástroj pro tvorbu kostek, koulí a jiných 3D těles, ale poskládat z nich dům nebo automobil… No možná když budete tvořit nějakou jednodušší hříčku tak ano. Ale není třeba zoufat, Unity podporuje i přidávání modelů vytvořených v jiném nástroji jako například Maya, Rhinoceros nebo třeba Blender, který je oproti předem zmíněným zdarma.

To bychom měli tvorbu scény, teď ovšem přichází ta (pro někoho) méně příjemná část a tou jest programování. Rovnou předesílám, abyste zapoměli na nějaké interaktivní klikání na akce jako tomu je v Constructu. Tady máme JavaScript se vším všudy a pokud neznáte základy, tak vám Herní pánbůh, dokumentace nebo YouTube pomáhej. Horko těžko budu vysvětlovat jak zapsat kód, protože tady nechci vytvářet tutoriál a pro lepší pochopení vám doporučuji na youtube vyhledat ETeeskiTutorials na jehož kanále naleznete kompletní tutoriál pro tvorbu FPS hry v Unity.

Unity obsahuje jednoduchý, ale účinný nástroj pro modelování a úpravy terénu

A nyní cena. Unity je pro vaše osobní použití volně dostupný a je tak vhodný pro tvorbu nějakých free titulů, podporuje 2D, 3D, obsahuje základní nástroje pro tvorbu animací, kompletní knihovnu skriptů, nástroje pro terén, fyzikální engine pro objekty a mnoho dalšího s čím si bohatě vystačíte na dlouhou dobu. Ovšem existuje i verze „Pro“ a teď doporučuji zkontrolovat, zda je vaše židle pevně připevněna k podlaze a zda jste připoutání. Ta totiž stojí $1,500 a k ní si následně můžete přikupovat další doplňky jako podpora Flashe $400, podporu pro iOS $400 nebo profesionální verzi pro iOS $1,500 atd. A to nemluvím o doplňcích, které se sice v ekvivalentních úpravách dají sehnat zadarmo, ovšem neočekávejte profesionální kvalitu, která se cení od $5 až do $500 (určitě naleznete i dražší).

Ve výsledku je tak Unity mocný nástroj a kdokoliv by chtěl přičichnout k opravdové tvorbě hry, má příležitost stát se herním vývojářem, právě díky němu. Mějte ovšem na paměti, že pro publikaci her za účelem obohacení se, je potřeba mít zakoupenou licenci.

Pokud si pohrajete, můžete vytvářet nádherné scenerie

Pokud byste se chtěli na základě tohoto článku pustit do tvorby vlastní hry, mějte, vždy na paměti, že číst licenční ujednání je zde opravdu na místě a neznalost neomlouvá. Pokud chcete váš projekt otevřít světu v nějaké placené podobě, mohu vás odkázat například na www.kickstarter.com, kde vás můžou zafinancovat samotní hráči, kteří by si chtěli vaši hru zahrát, protože v ní vidí dobrý potenciál nebo můžete vaši hru umístit na službu steam do sekce Greenlight, který pracuje na podobném principu, akorát hráči vám za hru neplatí ještě před jejím vydáním.

Také bych doplnil, že tyto 4 zmíněné nástroje nejsou jediné, které můžete použít. Další jest například UDK (Unreal Development Kit), který nabízí opravdu profesionální vývojářské prostředí a je také dostupný ve free licenci nebo například Source SDK od Valve, se kterým bohužel nemám zkušenost. Ale určitě i mnoho dalších a stačí si pouze vybrat.

     
napsat komentář
komentářů: {{ comment.owner.comments }}
{{ comment.created }} VIP
{{ comment.text }}
Komentář byl smazán
komentářů: {{ comment.owner.comments }}
{{ reply.created }} VIP
{{ reply.text }}
Komentář byl smazán
napsat komentář