Vytvořit nějakou hru je snem každého druhého kluka. Největší překážkou ve splnění tohoto snu bývá neznalost potřebných nástrojů, technologií a programovacích jazyků. K tomu, abyste vytvořili kvalitní hru na platformě Android, totiž potřebujete znát spoustu věcí. Tím spíše, jste-li osamělým vývojářem. Jestliže máte nápad (to je základ), potřebujete vytvořit pro hru také grafiku, vše naprogramovat a oživit zajímavými zvuky a hudbou. A to se bavíme o nezbytném minimu, potřebném pro vznik hratelné hry. Jak tedy začít s vývojem vlastní hry? V následujícím návodu se věnuji základním oblastem tvorby her pro operační systém Android. Dozvíte se, na co se zaměřit, jaké technologie a softwarové nástroje pro vývoj hry použít. Programování, grafika, zvuky a hudba. Ale hlavně…
BEZ NÁPADU ANI RÁNU!
Nápad je základ. Pokud nevíte, na čem chcete začít pracovat, nemá smysl se do ničeho pouštět. Na začátku byste měli mít jasno minimálně v tom, zda chcete dělat 2D hopsačku, logickou hru typu tetris, anebo 3D střílečku z vlastního pohledu. Od typu hry, kterou chcete vytvořit, se totiž odvíjí vše následující a proto je tak důležité, abyste si před zahájením vývoje hry udělali co nejjasnější představu o finální podobě vaší nové hry. Můžete se samozřejmě inspirovat u mnoha již existujících her, ale myslete na to, že úspěšný titul musí být především originální a měl by přinést něco nového. V opačném případě riskujete to, že se ztratíte v davu a vaše nemalé úsilí přijde vniveč, když hru nikdo nebude hrát, protože publikum nezaujme.
GRAFIKA, STYL A VZHLED HRY
Pokud jste již nezačali kreslit či malovat vzhled herního prostředí a postav během Game Designové fáze popisované v předchozí kapitole, je nejvyšší čas na to, abyste začali. Jednoduché schematické ,,rychlé“ drafty, které jsou součástí návrhu hry, použijete jako základ pro tvorbu finální grafiky. Předtím se však potřebujete rozhodnout, jakým způsobem svou novou hru graficky ztvárníte. V zásadě máte několik možností.
RASTROVÁ GRAFIKA
První nejstarší způsob grafického ztvárnění hry je ruční pixelování. Dnes je to kategorie ,,old-school“ a často se takové grafice říká také pixel-art. Nejlepší příklad velmi úspěšných her s pixelartovou grafikou jsou prakticky všechna díla japonského Kairosoftu. Jejich nejznámější trhák se jmenuje GameDev Story a je zároveň hezkým příkladem originální hry s dobře propracovanou herní mechanikou. Pro tvorbu takové grafiky vám stačí jakýkoliv rastrový editor. Velmi povedený editor za minimální cenu je editor Pyxel. Ten navíc umožňuje snadnou tvorbu celých tilesetů a je tak ideální volbou, pokud svou hru budete stavět z ,,kostiček“ (to je případ prakticky většiny 2D her, ale i pseudo 3D izometrických her á la Diablo, Heroes of Might and Magic atd.). Další oblíbené editory pro tvorbu rastrové grafiky jsou Aseprite, Adobe Photoshop, Gimp a mnohé další. Zkuste hledat na googlu ,,pixelart editor“. V sofistikovanějších editorech, jako jsou Photoshop a Gimp, vám samozřejmě nic nebrání v tvorbě svého vlastního osobitého grafického stylu – výsledek nemusí vypadat pixel-artově, ani působit retro dojmem. Záleží jen na vašich schopnostech a fantazii.
VEKTOROVÁ GRAFIKA
Jestliže hledáte pro svou hru modernější vzhled a jemné čisté křivky, pak se vám možná zalíbí možnosti vektorové grafiky. Pokud nemáte tušení, o čem mluvím, podívejte se třeba na hru Swamp Attack, která je hezkým příkladem využití vektorové grafiky. Pomocí vektorové grafiky docílíte komiksového (cartoon) vzhledu. Tvorba takové grafiky je však náročnější a proto, pokud nevíte, do čeho jdete, doporučuji raději začít s rastrovou grafikou. Mezi nejoblíbenější vektorové editory patří Adobe Illustrator, Adobe Flash, Corel Draw a také zdarma dostupný Inkscape. Pokud chcete přímo ve vaší hře pracovat se škálovatelným vektorovým formátem, doporučuji volit souborový formát .swf (Adobe Flash). Doporučuji podívat se na tyto hezké obrázkové tutoriály pro tvorbu vektorové grafiky v programu Inkscape.
3D RENDEROVANÁ GRAFIKA
Nejsložitější kategorií je samozřejmě 3D rendering. Musíte se totiž naučit ovládat vhodný modelovací nástroj, ve kterém vymodelujete 3D objekty tvořené sítí polygonů (anglicky polygon mesh). Tyto ,,drátové modely“ následně pokryjete vhodnými texturami, čímž vytvoříte strukturu jejich povrchu. To, zda výsledek bude věrnou napodobeninou reality, anebo zvolíte styl ,,umělé“ počítačové grafiky (jako film Toy Story apod.), je čistě na vašem rozhodnutí a schopnostech práce ve 3D editorech. Každému je asi jasné, že tvorba reálně vypadajícího herního světa je to nejtěžší, co vás může napadnout. Opět tedy připomínám, že je dobré vážit své schopnosti a nepouštět se do přehnaných plánů. Pro tvordu 3D grafiky můžete použít některý z dostupných modelovacích nástrojů. Nejoblíbenější jsou: Autodesk 3ds Max (standard v oboru), Autodesk Maya, NewTek LightWave, Maxon 4D Studio. Zcela zdarma je k dispozici program Blender a za rozumnou cenu je možné zakoupit nástroj Silo.
Pokud jste schopni vytvářet 3D grafiku v některém z výše uvedených programů, je potřeba rozhodnout se, jakým způsobem ji ve hře využijete. Máte dvě možnosti. Buď grafiku vyrenderujete přímo v grafickém editoru a použijete ji na tvorbu tilesetů (o těch jsem psal v první části věnované rastrové grafice), anebo polygonové modely naimportujete do herního enginu, který se postará o jejich renderování přímo ve hře v reálném čase. Herním 3D enginům se budu více věnovat v další kapitole.
Na závěr doporučím tento zajímavý a vyčerpávající článek v angličtině s přehledem různých grafických technik a editorů – doporučuji přečíst si ho.
A JDE SE PROGRAMOVAT!
Tak řekněme, že máte dobrou představu o své hře, máte připravenu základní sadu grafických prvků a chcete to teď celé dát do pohybu. To se snadno říká, ještě snadněji představuje, ale hůře dělá. Pokud neumíte programovat, pravděpodobně si teď na půl roku až rok odskočíte, zavřete se doma v kumbálu s počítačem a až se vrátíte, budete umět základy programování. Na OS Android se naprostá většina aplikací a her vyvíjí v programovacím jazyce Java nebo C++. Pokud chcete vytvořit hru s 3D grafikou, sáhněte rovnou po C++ (většina nejlepších 3D enginů je napsána pro použití výhradně s C++). Jestliže budete tvořit 2D plošinovku, logickou hru, strategii, RPG apod., pak vystačíte s Javou. Všem začátečníkům doporučuji držet se Javy a to z toho důvodu, že je mnohem jednodušší rozběhat vývojové prostředí v Javě a váš start tak bude méně komplikovaný. V Javě je navíc možné vytvářet celou paletu různých her a nejste prakticky ničím limitováni – dokud nepožadujete moderní 3D grafiku. Pro začátek vývoje vaší hry byste měli umět velmi dobře základy programování. Můžete se začít sami učit programovat v Javě (tady najdete mnoho dobře zpracovaných lekcí pro výuku Javy v češtině). Pokud se programování chcete z jakýchkoliv důvodů vyhnout, existují herní enginy a různé game buildery, ve kterých je možné vytvářet hry bez nutnosti programování – počítejte však se značnými omezeními. Budete zkrátka limitováni tím, co jde v takovém prostředí naklikat, ale na druhou stranu je to pro spoustu lidí jediná možnost, jak se pustit do tvorby vlastních her. Seznam doporučených herních enginů najdete níže.
SPRÁVNÁ VOLBA VÝVOJOVÉHO PROSTŘEDÍ
Abyste mohli začít cokoliv programovat, potřebujete vhodné vývojové prostředí. To je často též nazýváno IDE (Integrated Development Environment). Je to prostředí, ve kterém budete psát zdrojové kódy vaší hry. Většina her pro platformu Android je vyvíjena v prostředí Eclipse. Druhou možností je použití prostředí Android Studio, které nyní společnost Google razí jako oficiální vývojové prostředí pro svou Android platformu. Android Studio je jednodušší volba pro úplné začátečníky. Já však doporučuji držet se osvědčené klasiky – jde především o kompatibilitu s různými herními enginy – o tom však více později.
Dobře, prostředí máte připravené, řekněme, že umíte základy programování v Javě nebo C++. Jak tedy rozhýbete vaši první hru? Doporučuji nezačínat úplně od nuly.
USNADNĚTE SI VÝVOJ POUŽITÍM VHODNÉHO GAME ENGINE
Je velmi vhodné začít stavět na nějakém osvědčeném herním engine. Naštěstí je jich spousta a mnohé jsou zcela zdarma, nebo za symbolickou cenu. Největším problémem je vybrat si ten správný engine. A vybírejte dobře, protože jinak se vám může snadno stát, že v půlce vývoje hry zjistíte, že jste nevybrali zrovna šťastně a všechen již investovaný čas může být ztracen, případně se vám dokončení hry velmi zkomplikuje. Opět se tedy zamyslete, jaké jsou vaše požadavky na herní engine. Pokud tvoříte jednoduchou hopsačku á la Mario, asi nepotřebujete nadupaný 3D engine překypující náročnými funkcemi. Zbytečně byste se totiž učili pracovat ve složitějším prostředí, než je potřeba. Také by výsledná hra byla zbytečně hardwarově náročná a to i přes svou relativní jednoduchost (tím si zbytečně zúžíte publikum hráčů – mnoho jich totiž používá starší telefony a vaši hru by možná nespustili). Opět se chopte tužky a papíru a sepište si, co pro svou hru potřebujete. Následně procházejte oficiální weby herních enginů a porovnávejte je. Možná vám pomůže tento web se srovnáním herních enginů pro Android platformu. Níže vám pro úplnost nabízím přehledný výčet nejoblíbenějších herních enginů.
Název herního engine | Programovací jazyk | 2D / 3D | Cena |
LibGDX | Java, C++ | 2D | zdarma |
Unreal Engine 4 | C++ | 3D | $19 měsíčně |
Unity | C++, Mono (.NET), Boo | 3D | zdarma / $75 měsíčně |
CryEngine | C++ | 3D | $10 měsíčně |
Marmalade | C++ | 2D / 3D | zdarma (trial) / $149 |
Game Salad | Bez programování | 2D | zdarma / €299 |
Construct 2 | Bez programování | 2D | zdarma / €99 |
AndEngine | Java | 2D | zdarma |
Cocos 2D | Java, C++, Lua | 2D | zdarma |
Stencyl | Bez programování | 2D | zdarma / €99 |
HUDBA, ZVUKOVÉ EFEKTY A ATMOSFÉRA HRY
Zvuková stránka vaší hry je kapitolou sama pro sebe. Němá hra asi nebude to pravé ořechové, takže budete chtít hru obohatit minimálně o nějaké zvukové efekty. Pro práci se zvukem doporučuji instalovat software označovaný zkratkou DAW (Digital Audio Workstation). Mezi nejznámější a nejpoužívanější nástroje v tomto oboru patří Steinberg Cubase, Ableton a Cakewalk Sonar. Existuje samozřejmě celá řada dalších. Nejjednodušší pro začátečníka je asi Ableton. V jeho prostředí můžete komponovat hudební tracky, vytvářet ambientní zvuková pozadí pro vaši hru, ale i zvukové efekty pomocí různých virtuálních nástrojů a syntetizátorů – ty jsou označovány jako VST instrumenty. Často bývají nazývány také VST pluginy. Instrumenty lze spouštět v hostitelském programu (nejsou samostatně spustitelné) a v prostředí Abletonu je bez problémů rozchodíte.
Pro tvorbu zvukových efektů do vaší hry doporučuji vyzkoušet VST plugin Xtreme FX. Na zvuky do pozadí pro dokreslení atmosféry (pokud nechcete komponovat složitější hudbu) se vám možná bude líbit VST nástroj Absynth. Podobných nástrojů existuje nepřeberné množství a není mojí ambicí všechny je zde vyjmenovat. Určitě se ale podívejte ještě třeba na ReFX Nexus, který zahrnuje širokou paletu zvuků a nástrojů a hodí se pro skládání hudby jakéhokoliv žánru. Pokud chcete vytvořit hru v retro stylu a vrátit hráče zpět v čase do osmdesátých let, podívejte se na VST QuadraSID – to emuluje zvuky osmibitových počítačů. No a pokud máte odvahu doplnit svou hru o symfonické orchestrace, mohu vřele doporučit Miroslav Philharmonik. Dobrý způsob hledání dalších VST instrumentů je podle jejich hodnocení uživateli na webu KVRaudio.com.
HRA JE DOKONČENA – CO DÁLE?
Po dokončení hry ji určitě budete chtít vydat na obchodě Google Play. K tomu potřebujete mít založený vývojářský účet u Googlu. To je otázkou několika minut. Stačí jen akceptovat podmínky pro publikaci na Google Play a uhradit poplatek 25 dolarů. Pak už jen uploadujete .apk soubor s vaší hrou (pozor na limit 50 MB), screenshoty (minimálně dva) a ikonu aplikace. Během několika minut může být vaše hra dostupná ke stažení či zakoupení na Google Play.
Pokud chcete, aby hra byla úspěšná, je naprosto nutné ji propagovat na všech dostupných kanálech. Určitě vytvořte stránku hry na Facebooku a na Google Plus. Tento krok je dobré udělat již na začátku před zahájením vývoje hry a průběžně přidávat informace o postupu prací na hře. Na sociální sítě můžete dávat grafické návrhy a koncepty, první screenshoty ze hry, video trailery atd. Snažte se vše co nejvíce šířit mezi svými známými a hledejte podporu u dalších lidí. Pokud máte zajímavý nápad, je dobrá šance, že se hra dost lidem zalíbí a budou informace sdílet.
Stejně tak je vhodné vytvořit webovou prezentaci hry. To není složité a nemusíte rozhodně nic programovat. Stačí si registrovat internetovou doménu a zřídit hosting. Můžete využít například služeb Českého hostingu, na kterém běží i androidtip.cz a vše funguje hladce a bez jediného problému. Web hry pak postavíte na oblíbeném wordpressu. Jeho instalace je na Českém hostingu otázkou několika kliknutí a vše máte ihned automaticky připraveno. Pak už si stačí jen vybrat vhodný template (vzhled) vašeho webu z široké nabídky na themeforest a máte téměř hotovo – doplníte jen vlastní obsah, informace o hře, obrázky atd.
To je vše, přátelé, věřím, že vám informace v tomto přehledu pomohly a poslouží jako odrazový můstek pro vaše další studium a nakonec vše skončí úspěšnou realizací nějaké další české pecky. Pokud potřebujete poradit, cokoliv upřesnit, anebo se podělit o své vlastní zkušenosti s ostatními čtenáři, budu rád za vaše příspěvky v diskuzi níže pod článkem. Mějte se fajn a ať vám jde vaše dílo hezky od ruky!