Jak se vyvíjí hry pro tablety a telefony? [Rozhovor]
V Česku najdeme hned několik špičkových herních vývojářských studií a brněnské studio Madfinger Games patří mezi ty, které se zaměřují především na mobilní platformy. Jaké to je vymýšlet hry pro tablety a telefony nejen s iOS?
Vyvíjíte své hry jak pro iOS, tak pro Android. Pro kterou z platforem se pracuje lépe a proč?
Petr Matoušek, programátor: Z pohledu vývojáře je hlavním úskalím vývoje pro iOS především přebujelá byrokracie ohledně nastavování rozličných certifikátů a profilů pro každou drobnost, kterou potřebujete vykonat. Z tohoto pohledu máte při vývoji pro Android mnohem větší svobodu. Na druhou stranu výhodou iOS je relativně malý počet zařízení, pro něž je potřeba aplikace testovat a jejichž vývoj má navíc Apple pevně pod palcem. Pokud tedy chcete zůstat při smyslech, použijete pro vývoj své hry nějaký herní engine, který vám ulehčí od většiny problémů spojených s rozličnými platformami. V Madfingeru například používáme Unity 3D.
Usnadňuje vám Apple práci?
Petr Matoušek, programátor: Většina našeho vývoje probíhá přímo v Unity 3D a tím pádem jsme od nativního iOS kódu odstíněni. Pokud tedy nepočítám těch několik řádků, které je občas potřeba napsat, abychom do našich her dostali funkcionalitu, která je na platformě závislá a tím pádem z Unity nedostupná. Ve finále tedy trávíme nejvíce času v debuggeru, pokud něco nefunguje, jak by mělo.
Apple udělal v rámci svých vývojářských nástrojů dobrý krok s integrací llvm a clang kompilátorů, které vývojářům do značné míry usnadňují život. Např. statická analýza kódu a různá chybová hlášení jsou na velmi dobré úrovni a dokážou člověku ušetřit spoustu času jinak stráveného hledáním vlastních chyb. Bylo by asi na místě srovnat hlavní applovský vývojářský nástroj XCode s Visual Studiem pro Windows, ale na to si vzhledem ke krátkému času strávenému v XCode netroufám. Pominu-li pekelně komplikovanou práci s profily a certifikáty, bez kterých nezkompilujete ani řádek kódu, jediná věc, kterou bych předpokládal, že bude mít Apple lépe vyřešenou, je skriptovatelnost celého vývojářského procesu. Dostat aplikaci z Unity do zařízení se všemi závislostmi bez toho, že by se muselo nastartovat celé GUI XCode, je docela oříšek.
Také zcela chybí jakýkoliv oficiální skriptovací nástroj pro úpravu XCode projektu, což je zvláště u Unixového systému, jakým je Mac OS X, škoda.
Pro jaká iOS zařízení primárně vyvíjíte? Jsou to vždy ty nejnovější, nebo naopak některé ze starších?
David Kolečkář, technical support: Určitě nevyvíjíme jen pro nejnovější stroje. S výjimkou nejnovějšího Shadowgun: Deadzone jsou naše hry dělané i pro zařízení typu iPod Touch 4. generace, což je HW ještě na bázi Cortex-A8, který Apple používá v téměř nezměněné podobě už od roku 2009.
Spoustu her, především stříleček, mám problém pohodlně hrát s využitím dotykové obrazovky iPadu. Chtěl bych nějaký gamepad, ale jejich nabídka je malá. Je takových uživatelů více, nebo zkrátka hraní na gamepadech je hudbou minulosti či herních konzolí?
David Kolečkář, technical support: Odezva od uživatelů ovladačů je docela velká. Samozřejmě, Apple je v tomto ohledu z velké části mimo hru, jelikož neumožňuje klasické použití standardních ovladačů. Toto omezení se samozřejmě (stejně jako spousta dalších) dá různě obejít, nicméně se nejedná o oficiální a podporovaná řešení. Další varianta je, když si výrobce vytvoří (či nechá vytvořit) vlastní ovladač a kód pro jeho fungování umístí přímo do vlastních her, což je ale v praxi reálné jen pro ta největší studia (EA, Gameloft…).
Nicméně na druhou stranu uživatelé Androidu ovladače aktivně používají. Hry navíc v současné době optimalizujeme na zařízení typu OUYA, Gamestick nebo Nvidia Shield, které z podpory ovladače kompletně vycházejí.
Vaše střílečka Shadowgun: DeadZone dokáže zobrazit, jakou platformu uživatel používá. Seskupují se uživatelé iOS proti těm s Androidem?
David Kolečkář, technical support: Rozložení uživatelů je velmi vyrovnané. Původně se nějaké seskupování čekalo, nicméně v zápalu hry nestíháte zjišťovat, jestli člověk, který na vás pálí z úkrytu, hraje na iPadu, nebo Nexusu. Prostě bojujete s tím, s kým se setkáte.
Anna Pořízková, marketing: V počtu stažení trochu převažuje Android nad iOS.
Nemohu zapomenout na pirátství. Která platforma je na tom hůř?
Anna Pořízková, marketing: V tomto směru vede jednoznačně Android. Neznamená to, že pirátské verze se na iOS vůbec neobjevily, ale bylo to v mnohem menším měřítku.
Zatímco Shadowgun byl placený, vaše novější hra Dead Trigger již sází na freemium model. Funguje lépe?
Petr Matoušek, programátor: Zatím vše nasvědčuje tomu, že budoucnost her je v modelu free-to-play. Částečně je to i reakce herních vývojářů na pirátství. Na druhou stranu je těžké říct, jestli je to opravdu ta správná volba pro všechny typy her. Nicméně online hry dávají trochu více možností, jak se před pirátstvím chránit. Takže pokud vývojářské studio zjistí, že většina jejího příjmu, na kterém je závislé, mizí v nenávratnu, rozhodne se změnit svůj přístup.
Anna Pořízková, marketing: Oproti premium hře, která poskytuje časově omezenou zábavu a po dohrání ji většinou odložíte, model free-to-play by měl být koncipovaný více jako služba a měl by hráče zabavit na dlouhou dobu. Hráči to málokdy dokáží ocenit, ale free-to play opravdu přinesl mnoho výhod i pro ně samotné. Vývojář má totiž možnost ihned po vydání hru vylepšovat a upravovat, pracovat s hráči a přizpůsobovat herní obsah jejich přání.
A nakonec navnaďte nás, co připravujete?
Petr Matoušek, programátor: Teď se snažíme pracovat na několika projektech současně. Zatím se můžete těšit na Dead Trigger 2, který přinese a rozšíří nové možnosti, co se mobilního hrání týká. A co bude dál? Nechte se překvapit.
Děkujeme za rozhovor.
Článek vyšel v SuperApple Magazínu číslo 4/2013, vydání Červenec – srpen, kde je součástí rozsáhlého tématu věnujícího se hraní na Macích, iPadech i iPhonech.
>Také zcela chybí jakýkoliv oficiální skriptovací nástroj pro úpravu XCode projektu, což je zvláště u Unixového systému, jakým je Mac OS X, škoda.
Muheheh, pán nezná objektový skriptovací jazyk AppleScript, kterým lze skriptovat na Macu skutečně téměř vše.