Jan Hůda: Je otázkou času, kdy AI NPC budou mainstreem
Rozhovor s expertem na vývoj her v Unity
Unity se stala klíčovým nástrojem v rukou herních vývojářů po celém světě. Je to platforma, která umožňuje tvůrcům realizovat jejich vize a převádět kreativní nápady do digitální reality. Dnes se zaměříme na to, co dělá Unity tak výjimečnou a jak se stala základním kamenem pro mnohé úspěšné hry.
Unity – multiplatformní zdroj herních inovací
Unity představuje fascinující univerzum, kde technologie splývá s uměním a kreativitou a otevírá neomezené možnosti pro vývojáře her po celém světě. Jednou z největších výhod Unity je jmultiplatformní podpora, která umožňuje vývojářům dosáhnout širokého spektra hráčů bez potřeby přepisování kódu pro každou platformu. To otevírá dveře k experimentování a inovacím, umožňuje vývojářům rychle reagovat na tržní trendy a přizpůsobit se různým požadavkům hráčů.
A koho povolanějšího si pozvat na představení světa game developmentu v Unity než experta a našeho lektora kurzu Unity Jana Hůdu.
Jan Hůda
S více než 15 lety zkušeností ve vývoji softwaru a desetiletou praxí v Unity je Jan uznávaným odborníkem, který prošel zajímavou profesní cestou od vývoje pro Android po seniorní pozice ve známých herních studiích v Berlíně. Jeho současná role Senior Unity Developera v Moon Active zahrnuje vedení vývoje 3D mobilních her, aplikaci lean a agile metodik a spolupráci na designu a implementaci herních prvků.
Honza má bohaté zkušenosti z Kolibri Games, nyní součást Ubisoftu, a Huuuge Games, kde se věnoval klíčovým projektům a mentorství. Svými zkušenostmi a dovednostmi se snaží inspirovat nové generace vývojářů a sdílet s nimi svou vášeň a radosti z herního vývoje.
V rozhovoru se podíváme na zkušenosti Honzy s vývojem v Unity. Budeme se zabývat budoucností herního vývoje, rostoucí rolí umělé inteligence a strojového učení a kontroverzními kroky představenstva Unity.
Co vás přivedlo k vývoji her a specificky k práci s Unity?
Obecně mě hry vždycky bavily a k tomu mě bavilo něco tvořit. Ještě než jsem měl první počítač, jsem si na papíře kreslil různé herní mechaniky a levely pro hry. Unity mě pak přitáhla tím, že byla zdarma a po internetu byla spousta tutoriálů. Je to jeden z nejpřístupnějších enginů pro tvorbu her a umožnil mi přičichnout k hernímu vývoji, když mi bylo asi 16.
Můžete sdílet nějaké zajímavé zkušenosti z vaší práce v Berlíně, hlavním městě startupů a game developmentu?
Obecně je v Berlíně velká komunita herního vývoje, takže pokud má člověk zájem, děje se spousta eventů jako game jamy, konference a hackatony.
Moje první firma, Kolibri, dělala hromadu teambuildingových akcí a opravdu se o nás v tomto směru starala dobře. Nešlo jen o game jamy, asi největší highlight byl, když jsme celá firma (v té době cca 100 lidí) odletěli na 4 dny na Tenerife.
Jaké jsou podle vás klíčové dovednosti pro herního vývojáře pracujícího s Unity?
Asi nejdůležitější je chovat se jako člen týmu, a ne jako sólista. Psát kód tak, aby byl čitelný pro ostatní programátory a na plánovacích schůzkách se vyjadřovat tak, aby tomu rozuměli i neprogramátoři.
Pokud je někdo sólo vývojář, tak je nejdůležitější dobře odhadnout velikost projektu. Je nutné naplánovat si malé a dosažitelné cíle a nepodléhat tendenci přidávat různé vychytávky, které stojí spoustu času a nakonec můžou projektu spíše uškodit.
Co si myslíte o kontroverzním kroku Unity z minulého roku, kdy původně plánovala účtovat vývojáře za jednotlivá stažení vyvíjených her?
Bylo to nepromyšlené a ani čistě matematicky by to nefungovalo. Nikdy by to nemohlo v původním znění vyjít v platnost. Proti tomuto rozhodnutí a zejména některým detailům se zvedla obrovská vlna protestů a Unity opravdu ten původní plán upravila, aby dával větší smysl. Nějakou škodu to napáchalo, několik vývojářů skočilo přes palubu, celkově se ale situace poměrně zklidnila.
Pro mnoho firem a jednotlivců možnost přejít na jiný engine ani není - nebylo by prakticky proveditelné konvertovat projekty a rekvalifikovat všechny zaměstnance, takže se s podobnými kroky musí smířit. Mnoho sympatií si tak ale Unity nevytvoří.
Jaký vliv má podle vás komunita vývojářů na vývoj a inovace v Unity? Cítíte nějaké změny po otřesech z kontroverzních kroků Unity z posledních let?
Unity je na vývojářích závislá, stejně jako mnoho profesních vývojářů je závislých na Unity. Je to komplikovaný vztah s mnoha třecími plochami. Vesměs bych řekl, že Unity má dobrou zákaznickou podporu a snaží se vyhovět četným potřebám komunity, jak profesionálům, tak laikům. Jednou začas ale přiletí z vrcholného vedení nějaký šrapnel jako to monetizační rozhodnutí a ztratí tak plno bodů v očích komunity.
Které byste řekl, že jsou nejčastější chyby vývojářů při práci s Unity, a jak se jim lze vyhnout?
Největší škoda, kterou jsem si v začátcích napáchal já, je to, že jsem se učil v Unity odprostřed. Přeskočil jsem základy a učil se z YouTube tutoriálů, u kterých jsem jako začátečník nebyl schopen posoudit kvalitu. Začal jsem se učit špatné návyky a zlozvyky, aniž bych si toho byl vědom. Dlouho mi potom trvalo se je odnaučit, což v podstatě dalo víc práce, než neumět nic a začít se všechno učit nanovo.
To může být obecně problém s učením se čehokoliv, ale tím, jak je Unity přistupná a existuje na ní mnoho online tutoriálů pochybné kvality, je snadné se naučit věci špatně.
Jaká je podle vás budoucnost mobilních her a jak v této budoucnosti figuruje Unity?
Mobilní hry už dlouhodobě mají s přehledem největší podíl na trhu ze všech platforem (přes 50 %, víc než konzole a PC dohromady). Drtivou většinu toho dominují free to play hry (hry zdarma ke stažení, které v sobě mají reklamy a mikrotransakce). Je to proto, že počet mobilních zařízení se počítá v desítkách miliard, takže dosah je obrovský – i oproti konzolím a PC. Podíl mobilních her na trhu rozhodně nebude klesat, spíš naopak.
Unity má pro mobilní vývoj tu obrovskou výhodu, že je multiplatformní – tu samou hru snadno vydáte na Android i iOS (případně i jiné platformy, ale to je spíš vzácné), takže nemusíte udržovat dvě paralelní verze, každou pro jednu platformu. V tomto ohledu je to jasný favorit.
Jaký máte názor na využití umělé inteligence a strojového učení v herním vývoji? Myslíte, že hry s AI NPCs jsou budoucnost?
S umělou inteligencí, zejména jazykových modelů jako ChatGPT, se v nedávné době roztrhl pytel, což s sebou přineslo revoluční změny a možnosti. Já sám využívám generátory kódu (ChatGPT, GitHub Copilot) pro repetitivní nudné úkony v práci denně a nevycházím z údivu. Samozřejmě to s sebou nese některá nebezpečí a možná je naše generace u důležitého milníku a je na nás, jestli se k tomu postavíme správně a zodpovědně. Já jsem v tom optimistický.
Co se týká NPC přímo napojené na AI, už vzniká pár experimentálních projektů. Zatím jsou vysoké nároky na výpočetní výkon a zpoždění mezi hráčovou akcí a AI reakcí příliš dlouhé na to, aby to bylo pohodlně hratelné, ale určitě je jen otázka času, kdy se tohle stane mainstreamem. Otevírá to obrovskou bránu potenciálu.
Zaujala vás v poslední době nějaká hra nebo projekt vyvíjený s Unity?
Musím určitě zmínit jednu z mých nejoblíbenějších her – RimWorld. V podstatě celá hra je udělaná v Unity, nemá skoro žádné bugy a má velkou podporu modů a obsah komunity. Celý projekt dělá Unity dobrou reklamu.
Můžete popsat nějaký konkrétní problém, který jste musel řešit během vývoje hry, a jak jste ho vyřešil?
Můj problém obecně je, že se vždycky snažím být originální a dělat věci trochu nekonvenčně. Když jsem se ucházel o svoje první místo Unity vývojáře, rozhodl jsem se místo životopisu udělat krátkou hru, klikačku. S projektem jsem si poradil, mám ale trochu problém s grafikou, neboť kreslit neumím a nemám estetické cítění. Na internetu jsem se seznámil s jednou grafičkou a udělali jsme barterovou výměnu. Já jsem jí pomohl s něčím programovacím a ona mi na oplátku nakreslila grafiku do mojí hry. Myslím, že se jí to povedlo a můžete si hru vyzkoušet zde.
Kreativita a inovace s Unity
Unity není jen technologický nástroj; je to také komunita, kde se vývojáři mohou učit jeden od druhého, sdílet zdroje a spolupracovat na projektech. Toto propojení talentů a myšlenek přináší neustálý tok inspirace a zpětné vazby, což je klíčové pro růst a vývoj v jakémkoliv kreativním oboru.
Unity poskytuje vývojářům mocné nástroje pro vytváření poutavých, vizuálně atraktivních a technicky pokročilých her. Vstup do světa Unity, kde každá řádka kódu může přinést revoluci ve způsobu, jakým vnímáme a interagujeme s digitálními světy. Objev potenciál, který se skrývá v této platformě, a buď součástí komunity, jež tvaruje budoucnost digitálního entertainmentu.
Otevíráme dveře do budoucnosti herního vývoje
Janův vhled do světa AI a NPC ukazuje, jak rychle se technologie v herním průmyslu mění. Abychom i my drželi krok s dobou, aktualizovali jsme naše vzdělávací programy.
Vyber si z aktuální nabídky našich kurzů a připrav se na budoucnost.
Autor: Jan Bílek