Takže je to tady. Rozhodli jste se konečně jít za svým snem a stát se vývojářem her. Tu nejdůležitější část máte za sebou. Když se ale odhodlaní pustíte do googlení, nejspíš zjistíte, že budete muset učinit jedno důležité rozhodnutí. Rozhodnutí, které vás může pronásledovat roky. Který herní engine si vybrat?

Pokud jste opravdu začali googlit, nejspíš už víte, že máte vlastně jenom dvě možnosti. Unity a Unreal. A ano, víme, že to nejsou ty jediné možnosti. Ty ostatní jsou ale většinou horší, nebo to prostě není dobrá volba, když se na svou vývojářskou kariéru podíváte z dlouhodobějšího hlediska.

Dvěma největším hráčům na trhu se zkrátka nikdo množstvím assetů, podporou či pokročilostí technologií nevyrovná. Takže máme dvě možnosti, kterou si tedy vybrat?

Sponzorem tohoto videa a článku je česká herní škola GameDevHub. Pokud vás tak herní vývoj opravdu zajímá, nebojte se zamířit na jejich stránky.

Grafika

Prvním a pro mnohé důležitým bodem je grafická stránka celé věci. Budou vaše hry vypadat lépe v Unity, či v Unrealu? Krátká odpověď - v Unrealu. Nabízí třeba pokročilejší systém světla, které se chová mnohem realističtěji než v Unity.

Říká se, že engine Unity je oblíbený programátory a Unreal grafiky. Něco pravdy na tom bude. S Unrealem jde totiž lépe vypadající grafiky dosáhnout jednodušeji než s Unity. To ale neznamená, že v Unity nevytvoříte skvěle vypadající hry. Třeba survival The Forest mě svou atmosférou dostal, a to běží právě v Unity. Je ale pravdou, že na tříáčkové scéně se na rozdíl od Unrealu prakticky nevyskytuje.

Programování

Unreal běží v C++, zatímco Unity v C#. Programovací jazyk v Unrealu je výrazně těžší pro začátečníka, protože vás chybami, které ohlašuje, jen těžko povede za ručičku stejně jako pro začátečníky příjemnější C#. Vyvíjet v Unrealu můžete ale i pouze s pomocí promakaných Blueprints.

Jde o systém postavený na nodách. Ty pouze přepisujete a skládáte za sebe tak, abyste vytvořili složitou herní logiku bez jediného řádku kódu. Něco podobného sice nabízí i Unity, vystačit si ale zcela bez kódu prakticky nedokážete.

Dřív nebo později ale nejspíš stejně budete chtít svou úroveň posunout na to pořádné programování. C++ má tady velkou výhodu; pokud totiž budete chtít jako herní vývojář pokračovat, právě tenhle programovací jazyk používá i většina proprietárních herních enginů, jako třeba Source.

Na druhou stranu C# zase využijete i mimo herní vývoj. Skvěle poslouží třeba při tvorbě tzv. „backendu“ webových stránek, tedy logiky práce s daty. Jazyk je ale vhodný i pro tvorbu aplikací, a to jak desktopových, tak mobilních. Navíc je ve funkčnosti podobný dalším jazykům postaveným na C, jednoduše se vám tak bude učit Python či JavaScript, přičemž Java je v mnohých aspektech identická.

Takže je to na vás. Žádný z těchto programovacích jazyků není vyloženě lepší, záleží jen, kam se koukáte do budoucna.

Komunita

Dalším důležitým aspektem je, jak velkou má engine komunitu. Co se týče subredditů, Unity s více než 300 tisíci členy Unreal s necelými 200 tisíci jednoduše trumfne. Tahle čísla samozřejmě neznamenají všechno, ale o 50 % větší komunita nabízí víc otázek a hlavně odpovědí. Bárťas od nás z redakce může sám potvrdit, že Unity se mu jako nováčkovi učilo mnohem lépe, protože našel více návodů a odpovědí na své problémy. Unreal má sice také spoustu vyřešených otázek na fórech, ale často jde třeba o trochu jinou věc, která od Unreal Enginu 5 už funguje jinak. Zatímco u Unity lze často použít několik let starou odpověď, která vyřeší váš problém také.

Narazil i na problémy s oficiální dokumentací. Ta k Unreal Enginu je často nekompletní a odkazy na oficiálních stránkách vám na férovku občas řeknou, že daná stránka, na které se mělo vysvětlení nacházet, neexistuje. Což může být opravdu otrava, když se učíte o nových systémech a pak si jejich skutečné fungování musíte dohledávat na YouTube.

A odkud tahle nesouměrnost pramení? Unity bylo dlouhou dobu nejlepším enginem, který si mohl kterýkoliv indie vývojář přát. Unreal ale díky svým velkým pokrokům v jednoduchosti použití roste rychle. Ačkoliv je subreddit Unity o 50 % větší, ještě před rokem to byl dvojnásobek. Epic Games jednoduše do svého enginu sype spoustu peněz, a to i co se týče propagace a marketingu. Za rok nebo dva tak možná komunity budou stejné a dokumentace stejně dobře napsané.

Assety

A co dostupný obsah, který do enginu můžete dostat a pracovat s ním? Jak Unity, tak Unreal nabízí obchody s obsahem. V nich v obou případech najdete jak placené, tak volně přístupné položky. Když ale porovnáme kvalitu těch volně přístupných, Unreal je jasným vítězem.

Jestli se ale budeme koukat čistě na množství, ve vedení bude spíše Unity. To také ve svém obchodě nabízí rozmanitější kategorie položek. Najdete zde vše od textur, animací či modelů až po úplné ukázkové projekty nebo návody. Je ale nutno si pamatovat, že skoro vždy můžete používat nějakou externí knihovnu assetů, kterou si zaplatíte a následně do enginu importujete. Takže se nemusíte nutně vázat jen na ty oficiální.

Cena

Unreal i Unity jsou pro vás jako začínajícího indie vývojáře zcela zdarma. Takže pokud si chcete herní vývoj jen vyzkoušet, nemusíte asi nic řešit. Když se ale na ceny podíváme z dlouhodobého hlediska, je to hned jiná. Unreal si bude účtovat 5 % vašeho obratu, pokud přesáhne milion dolarů. Prakticky si ho tak zdarma budete užívat ještě dlouho.

Mezitím Unity má svůj monetizační model řešený jinak. Pro verze vás bude stát něco mezi 40 a 150 eury měsíčně, tedy asi mezi tisícem až čtyřmi tisíci korun, a to podle toho, který balíček si vyberete.

Se základní verzí se toho však dá vytvořit spousta, takže se nemusíte bát, že by bylo potřeba hned platit. S Pro verzí získáte hlavně možnost si program přizpůsobit, integrovat do něj další nástroje a dostanete i možnost oficiální podpory.

Závěr

Takže který engine si vybrat? Je to vlastně na vás. Chcete se spíše pohybovat ve 2D nebo v budoucnu oceníte znalost jazyka C#? Unity je tu pro vás! Chcete, aby vás po stránce grafiky nic nebrzdilo při vytvoření tříáčkového titulu? Berte Unreal.

Tohle video nemá a ani nemůže vyzdvihnout jeden engine nad druhým jako jasného vítěze. Oba mají své silné stránky, záleží jen na tom, co je důležité pro vás. A samozřejmě i menší enginy jako Godot najdou své využití, hlavně pokud už se v herním vývoji trochu orientujete.

Jestli chcete zjistit více o herním vývoji, doporučujeme se podívat na českou školu herního vývoje GameDevHub!