FPI: Petr „Beny“ Benýšek #2 I Ingame Studios, Crime Boss: Rockay City, Bohemia Interactive, Enfusion ..
V druhé polovině rozhovoru se Beny dostal ke svému působení v Bohemia Interactive, kde byl několik let na pozici CTO. Později také vedl vývoj Nintendo Switch verze hry Vigor. Kromě toho také vypráví o začátcích Ingame Studios a vývoji hry Crime Boss: Rockay City.
Podcast Soundcloud:
Podcast Spotify:
Podcast Apple:
Kompletní přepis:
Petr: Rozhodnutí přejít do Bohemky jsem nikdy nelitoval. Přesto, že to pro mě bylo těžké, ten odchod. Náhle jsem se musel rozloučit se skvělou partou kamarádů, spolupracovníků, skvělých lidí, tak v Bohemce jsem zjistil, že spousta skvělých lidí a nadaných je tam taky. Bohemka těch týmů měla několik a v každém jsem našel spousta dobrých přátel, se kterýma jsme potom vymýšleli další věci. Byla radost s nima spolupracovat.
Poté co skončila éra takového toho Pterodonu, Ilusionu Softworks, a lidi začali mít rodiny a míň času na to, aby se pařilo a chodilo na to pivo tak často, tak nám to začalo chybět. Tak jsme začali s takovou iniciativou, začali jsme tomu říkat game dev beer. Vždycky někdo z vývojářů, kdo zrovna měl chuť a chtěl to zorganizovat a měl čas, tak vybral nějakou hospodu a napsal všem koho znal a ti to poslali dál. Takže se takhle potkávali, řádově asi 20-30 lidí na těch večerech. Pak to ale nějak ustalo, protože nikdo jsme neměli takovou výdrž. Já jsem to udělal párkrát, Peťa Motejzík to udělal párkrát, pak nějací další lidi a nakonec to nějak vyšumělo. Nějako dobu se nic nedělo a potom se toho chytli lidi tady z Masarykovi univerzity, Zdeněk Záhora, Milan Doležel a ti začali tyhle věci dělat organizovaně, důsledně. Zamluvili tady music club prostor a vždycky jednou za měsíc to tam dělají. Já jsme jim strašně vděčný, že se tomu věnují. Jsem rád, že to dělá někdo, mimo vývojářskou komunitu, protože jsme v tom nebyli úplně spolehlivý a důslední a oni si to fakt vzali za své a hrozně je baví propojovat tu akademickou sféru s tou vývojářskou.
Na to téma bych ještě rád řekl, že když jsem studoval na vysoké škole, tak to akademické prostředí bylo takové sterilní, rigidní. Dělal se tam výzkum, vývoj, ale třeba právě hry nikdo nebral vážně. Přitom bych řekl, že nikdo z těch profesorů, docentů ci nikdy nezkusil žádnou hru udělat. Přišli by na to, že ty hry využívají celý ten počítač. Potřebujete grafiku, a potřebujete aby jela rychle. Potřebujete nejen něco zobrazit, ale zobrazit to 30x za vteřinu nebo třeba i víckrát. Potřebujete zvuk, fyziku počítat, animační engine, síťový engine. Potřebujete napsat komunikaci, někdy i poměrně složitou. Synchronizovat to s tou hrou jako takovou. Vždycky mi přišla hrozná škoda, že si toho nikdo na univerzitách nevšímá a že to berou jako podřadný obor.
Nicméně doba se změnila, pokročila jsem za to rád. Na Masarykově univerzitě, na fakultě informatiky, Jirka Chmelík, se začal velmi aktivně zasazovat o to, aby vznikl obor Vývoj digitálních her. Začal zvát lidi z oboru, aby tam dělali přednášky. Po několika letech, bohužel to trvalo několik let, kvůli byrokracii. To mě mrzí, že pořád se tyhle věci nedají dělat rychleji. Hlavně, že se tak stalo. Teď už existuje obor Vývoj digitálních her a první plody, tady té spolupráce a výuky na univerzitě, už padají z nebe. Už se k nám hlásí absolventi. Hlásí se k nám i studenti, kteří potřebují nějakou stáž. Když máme čas, tak ty stážisty rádi vezmem. Většinou chceme až je to na 3 měsíce a víc. Přeci jen musíte do toho člověk investovat čas, než ho naučíte to, co potřebujete aby umě,l a aby na tom mohl něco stavět. Zároveň potřebuje poznat ten projekt, ten tým. Tohle už začíná fungovat. Máme tu řadu zaměstnanců vyšlých z Masarykovy univerzity. Já jsem rád, že ta akademická sféra už si těch her cení a využívá je k výuce a k tomu, aby to ty lidi i bavilo a mohli se rozvíjet mnoha různými směry. Když ty hry, chcete dělat pořádně, řekněme 3A, tak jeden systém jako je fyzika, animační engine a podobně, tak klidně potřebuje několik programátorů na to, abyste je vytvořili. Není to vůbec jednoduché a myslím, že je to hodné na studiu na vysoké škole.
V Bohemii Interactive v Brně, to pro mě bylo objevování úplně jiného světa. Jednak ten tým tady měl 50-60 lidí. Hodně z těch lidí bylo z Altaru. Já jsem se s nikým neznal, možná na Dana Doležela, který kdysi dělal na Mafii. I ten přístup, způsob práce, práce s komunitou, to byly všechno věci, které jsme předtím nedělali. Vývoj vlastního enginu, tak to mě zajímalo. Bylo to poměrně náročné. Marek Španěl měl takovou vizi, že spojíme 2 enginy “starý”, které Bohemka měla. Jeden byl Real Virtuality, který poháněl Armu a potom Enforce, který Bohemka koupila spolu s týmem Black Element. Mě tohle přišlo jako šílená myšlenka, protože enginy jsme dělali svoje, viděl jsem jak vypadá zašmodrchanej engine a co po vývoji celého projektu je potřeba s tím enginem dál udělat, abyste to posunuli na další level. Teď tam byly 2 enginy, které bylo potřeba nějak spojit. Vzít z nich to dobré a dát je dohromady. RV engine měl výhodu v tom nebo byl stavěný na to, že uměl obrovské terény renderovat a zpracovat a měl nástroje pro komunitu. Ikdyž ty nástroje nebyl nijak pohodlné, tak ten engine s tím uměl pracovat a komunita mohla nějak nativně modifikovat ty hry. Enforce měl taky nějaké pokročilejší nástroje. Oba dva ty enginy v podstatě byly mnoho let ve vývoji a začít, dva takové molochy spojovat, je obrovsky složitá věc. Tohle už se ale stalo tak rok, dva předtím, než jsem přišel. Takže to byla hotová věc, s tím se nedalo nic dělat. I Filip Doksanský, který byl hlavní programátor toho enginu, tak už překonal to nejhorší zlo, které bylo potřeba překonat. Strávil nad tím strašně moc práce a bylo naprosto nemožné tohle shodit ze stolu a hodit do toho vidle a říct, že to bude jinak.
Hledali jsme cesty, jak ten engine dál posouvat dopředu. Další okolnost, která tam byla, tak bylo DayZ, které na tom enginu bylo postavené. My jsme potřebovali pod tím DayZ, které už bylo vydané a nějakým způsobem jsme ho museli udržovat, tak měnit zároveň i ten engine. Je to strašně nevděčná práce. Máte projekt, který má každé 2 měsíce dělat nějaké releasy, updaty pro hráče. Ti hráči na to čekají, marketing s nima komunikuje a vy tam potřebujete dělat velké systémové změny, které ten engine nebo tu hru můžou rozbít. Zároveň DayZ bylo udělané jako mod. To dědictví tohohle modu se tam táhlo strašně dlouho. Bylo to nahackované a postupem času…to je mimochodem problém, častý, vývojářský. Vy uděláte nějaký prototyp nebo něco, co je vidět, nějak to funguje. Někomu to ukážete, někomu z manažerů a oni řeknou: “Jé, super, líbí se mi to, jenom to dodělej a vydáme to..” Většinou k tomu prototypu je velmi krátká cesta, aby něco bylo vidět, ale k tomu, aby to celé fungovalo a splňovalo to všechny požadavky na konzole, tak je mnohem delší, než k tomu prototypu. To si málokdo uvědomuje. Podobně to bylo i s DayZ. Vydala se nějaká hra, hráči už to hráli a bylo potřeba, aby se ta hra mohlo rozšířit, posunout někam dál, tak tam udělat velké systémové změny, které umožní další rozvoj. Jedna z těch velkých změn byla výměna, starého skriptovacího jazyka, který byl právě v tom Real Virtuality enginu, za nový skriptovací jazyk, Enforce script. Do toho jsme tam vedli spoustu filosofických debat typu, jestli je dobré dělat vlastní skriptovací jazyk a k němu ještě vlastní vývojářský nástroje. Nebo použít jazyk, který už na světě existuje. Pro mě jako CTO, to byly velmi obtížné debaty, protože tam bylo 10 lidí, kteří měli jeden názor, deset lidí, kteří měli druhý názor. Já jsem chápal argumenty obou dvou stran, protože obě dvě strany měli validní argumenty a bylo poměrně těžké ty dva tábory nějak smířit. Nakonec jsme dali za pravdu v tomto případě Fidovi. Enforce script tam zůstal a je tam dodnes. Nejsem si jistý jestli tohle bylo dobré řešení. Čím víc věcí si děláte sami, tak nad tím máte sice větší kontrolu, na druhou stranu to musíte udržovat, rozvíjet a vždycky je s tím mnohem víc práce, než si člověk na začátku představuje. Zvlášť pokud jde potom o nějakou bezpečnost, portování na další platformy. Já jsme programoval takovým způsobem, že jsem chtěl na všechno vědět jak funguje, chtěl jsem na všechno přijít, chtěl jsem si všechno napsat sám, porozumět tomu. Od určité chvíle, kdy ta složitost enginu a těch her, přesáhla určitou míru, kdy je člověk schopný udělat to sám nebo v minimu lidí, tak od té doby se přikláním spíš k tomu použít technologii, která je osvědčená a funguje. V tomhle případě třeba Unreal engine nebo Unity. Pokud jde o hry. Na tom pracují stovky vývojářů, další tisíce lidí na tom vyvíjí svoje hry, je to otestované, jsou tam neustále nějaké updaty. Ten engine má tolik feature, které nejste v malém týmu schopni vyvinout. Takže nejste schopni tomu konkurovat. Pokud s tím mají dělat i další lidi, tak ti už se velmi rozmýšlí nad tím, jestli věnují svůj čas tomu, jestli se budou pachtit s nějakým nehotovým nebo nedokonalým nástrojem a nebo vezmou nástroj, který je řekněme dokonalý a použijou ho.
Bohemka měla a má takovou filozofii, že chce být nezávislá, samostatná a chce mít kontrolu nad těma věcma. Takže o tom nebyla v podstatě diskuze, jestli se bude vlastní engine vyvíjet nebo ne.
Kromě toho, že jsem dostal na starost koordinaci toho enginu, tak jsem dostal další oddělení, které jsem měl nějakým způsobem rozvíjet a řídit. Prvním z nich byl motion capture, kde jsem spolupracoval se Štěpánem Kmentem. Byla to skvělá a příjemná spolupráce, protože Štěpán je jeden z největších odborníků na mocap, jaký snad existujou. Zná to do šroubku. S ním mě to velmi bavilo a těšilo. Potom jsem tam začal rozvíjet vývoj a výzkum. Založil jsem tam R&D oddělení, které pro ty jednotlivé týmy pracovalo na vývoji různých nástrojů nebo nových technologií, které jsme tam potom začleňovali.
Bohemka, jak je známo, tak má těch herních týmů několik, Jeden tým byl Arma, druhý byl DayZ. Potom tam byl tým Yland. To byla trošku vyjímka, protože oni dělali hru na Unity. Vedle Ylands vznikl tým Arma Mobile Ops. Což byla mobilní hra. Honza Herodes tohle s menším týmem, vytvářeli první hru na mobily, kterou Bohemka chtěla vyzkoušet si vyzkoušet tyhle platformy, jestli se tam neuchytí.
Myslím si, že ta hra byla velmi pěkná, dobrá, ale v té době, kdy vyšla už bylo podobných her strašně moc. Myslím, že se to nijak zásadně nechytilo. Určitě to hráče mělo, ale nebyla to taková díra do světa, která by pro Bohemku byla zajímavá a pokračovala v tom.
Pak tam teda vznikl ještě jeden komunitní projekt Mini DayZ, který dělal jeden člověk, kterého potom Marek Španěl nabral přímo do firmy a ten na tom pracoval dál. Já v rámci toho R&D, tak jedna z věcí, na které si vzpomínám, že jsem viděl, že je potřeba, tak udělat analytiky. Bohemka vlastně žádné analytiky neměla. Jediné informace, které měla, tak byla ze Steamu, z těch dat, které poskytuje o tom, kolik se prodalo kopií nebo DLC, ale zdálo se mi, že to není mnoho. Já jsem byl zvyklý z Madfingeru ty analytiky jednak implementovat a jednak používat. Takže jsem přišel za Markem s tím, že bych chtěl založit nějaké analytické oddělení. Ještě teda než toto nastalo, tak jsem implementoval do Ylands nebo do Army Mobile Ops, první analytiku. Začali jsme z toho sbírat nějaká první data s Honzou Herodesem, který měl právě s tímto už nějaké zkušenosti, tak jsme se právě koukali do těch analytických reportů. Problém byl zase trošičku v tom, že jsme na to neměli dedikované lidi. já jsem na to neměl čas, protože jsem měl na starost spoustu jiných věcí, Honza na to neměl čas, protože měl ten tým. Na to konto jsem přišel za Markem s tím, že bych chtěl nabrat nějakého analytika. Znal jsem se s Martinem Procházkou, který v té době pracoval v Madfingeru a tak jsem ho oslovil, jestli by se nechtěl přidat k nám. On to vzal a tak vzniklo analytické oddělení. Pracovali jsme jednak na rozvoji té původní analytiky, kterou jsme vzali jako komerční, existující řešení, ale ta nám postupem času přestávala stačit. Ikdyž jsme ji implementovali do několika další her. S Martinem jsme začali přemýšlet, že bychom udělali nějaké robustnější, vlastní řešení. Použili jsme nějaké backend, který uměl zpracovávat obrovské množství dat. Byly tam miliardy eventů, které jsme si mohli dovolit tam posílat a zpracovávat. Nad tím jsme vytvořili vlastní, bohemkovskou analytikou, kterou jsme potom do těch her dávali.
Další věc, která mě hrozně bavila, v rámci toho R&D týmu, byla fotogrammetrie. Byla to nová technologie, která se objevila v roce 2015-2016, byly nějaké první vlaštovky. Ta technologie spočívá v tom, že z fotek, ideálně mnoha fotek, nějakého objektu, jste schopni ten objekt, rekonstruovat ve 3D. S texturama, s absolutně detailním povrchem. Pokud to uděláte dobře, tak ten objekt nepotřebuje zase tak moc úprav a grafikům tak ušetříte obrovské množství času. Někteří to neviděli úplně s nadšením, protože jim to ubírá tu kreativní práci. Pokud ale do té hry potřebujete dostat rychle spoustu objektů a máte možnost je nafotit a nebo pokud potřebujete do té hry dostat postavy, tak je tohle obrovské zrychlení.
Začal jsem dělat research ohledně té fotogrammetrie a zjistil jsem, že na internetu o tom nic není, ale existovaly programy 2 nebo 3, které se daly použít, které uměly z fotek spočítat ten 3D model. Ty jsme vzali, použili. Jeli jsme se podívat do jedné firmy na Slovensku, která se tou fotogrammetrií zabývala. Přemýšleli jsme i nad tím, že bychom jejich služeb využili, ale protože by to v tom množství, které jsme si představovali, vyšlo poměrně draho, tak jsme se nakonec rozhodli, že to uděláme sami. Já jsem do toho potom ještě zapojil programátora, Rasťu Piovarči, který zpracovával data a spolu jsme přemýšleli nad tím jak udělat tu fotogrammetrii tak, aby byla použitelná pro ty týmy. Zároveň jsem obcházel jednotlivé týmy a řešil jsem s nimi jestli vůbec tady ta technologie je pro ně užitečná a zajímavá. Všichni se tvářili, že to bude super, když budou mít takhle nějaký 3D model, tak jsme se domluvili, že to takhle uděláme. Vedení firmy k tomu dalo svolení. S Rasťou Piovarčim jsme řešili v podstatě zpracování těch dat. Začalo to tak, že jsme vzali foťák, zrcadlovku, ručně jsme fotili objekty a z nich jsme potom dělali rekonstrukce toho 3D. Na tom jsme zjistili, jak se to vlastně musí fotit, protože tam bylo spousta detailů, které člověk neodhadne, ohledně třeba nasvětlení, ohledně intenzity světla, lesklosti povrchů. Špatně se s tím dělaly lesklé povrchy typu auto. Na to pak byly další finty, že se to mohlo nastříkat nějakým sprejem, který to zmatnil.
Hlavním naším cílem začalo být, udělat fotogrammetrický rick, tzn sestavu foťáků, který vám vyfotí hlavu. Nedá se to fotit jedním foťákem, že byste kolem někoho chodili. Ikdyž znám lidi, kteří to dělali a nějak se jim to i povedlo, ale pokud to chcete dělat v běžném provozu, tak je potřeba to vyfotit najednou, protože ten člověk se jinak pohne, mrkne nebo ty fotky na sebe nebudou sedět, tak pak ten model nebude kvalitní. Navrhli jsme, že nám bude stačit asi 60 foťáků na tohle. Dohodli jsme se, že to uděláme. Nakoupili jsme foťáky, stojany všechno možné, spoustu serepetiček. Některé jsou potřeba k tomu, aby to celé drželo pohromadě a fungovalo. Spousta kabeláže. Jeden náš kolega “Zozo” z Mníšku pod Brdy, byl zdatný elektrotechnik, takže ten potom nám postavil kontrolér, který byl schopný všechny ty foťáky najednou odpálit a potom iniciovat vyčítání těch dat. Měli jsme tam PC, které mělo ještě nějaké přídavné karty, aby bylo schopné pojmout tolik připojení. Potom v tom PC se to zpracovalo. Takže grafik měl potom za 2-3 hodiny takový základní model, na kterém ještě pár dnů pracoval, ale zkrátili jsme tím výrobu modelu z měsíce na 3 dny. To si myslím, že bylo výborné.
Problém byl v tom, že potom, co jsme to dotáhli do konce, asi za čtvrtinovou cenu, než kdybychom to kupovali někde na klíč ze zahraničí, od pár firem, které už se tou komerční výrobou fotogrammetrií zabývali, tak i přesto, že to bylo takové dobré, tak se to u vedení firmy nedočkalo nějakého významného ocenění. Týmy byly pod velkým časovým tlakem, protože DayZ už mělo několikaletý skluz s vydáním, stejně tak do Army to moc nešlo rychle dostat. V podstatě jsme zjistili, že jsme udělali technologii, která funguje, je bezvadná, ale najednou to nikdo z těch týmů nechtěl využít. Minimálně ne v krátké době. To bylo pro mě trošku zklamání. Nakonec se to využilo, rozchodilo. Lidi si na to pak čas našli. Já doufám, že tam ten rick dodnes funguje, protože si myslím, že to bylo fakt pěkné dílo. Na to jsem docela pyšný.
Další projekt v rámci toho R&D byl launcher, protože Marek měl takovou ideu, že bychom měli podobný launcher, o něco jednodušší aplikace, která zaštítí pouštění té hry, spolu se spoustou různých parametrů, které si tam můžete chtít nastavit s ohledem právě na různé mody, které do toho chcete přidat atd. Tam jsem se domluvil se zahraniční firmou, která poskytovala CDN, distribuovanou síť úložišť a nad tou jejich technologií jsme postavili nějaký frontent, který umožňoval tady ty věci. Zároveň stahování aktualizovaných buildů atd.
Další věcí, kterou jsme dělali, tak byl průzkum třeba Houdini, který jsem strašně toužil dostat. Zase to byl nástroj, který vám rychle umožní vytvářet spoustu kontentu. To jsem docela chtěl dostat do Enfusionu. Nevím, jestli se to tam nakonec dostalo, protože v té době Enfusion nebyl ve fázi, že by si mohl dovolit přidávat takové featury. Šlo tam spíš o to, vyvinout tu architekturu tak, aby na tom to DayZ mohlo fungovat a zároveň aby se to už dalo odstřihnout od DayZ. Nám jenom 2 roky trvalo, než jsme se dostali do fáze, kdy se to DayZ dalo odstřihnout a mít samostatnou branch toho enginu a ten čistý Enfusion se dál začal vyvíjet vážně s tím, že nemusíme držet stabilitu DayZ a že už se to dá připravovat pro budoucí projekt. To teda trvalo dlouho.
Vývoj Enfusionu byl pod pevnou rukou Filipa Doksanského. Je to zkušený programátor, který má za sebou mnoho let vývoje. Nechtěl jsem mu do toho házet vidle. Ne ve všem jsme se shodli, ne ve všem jsme si rozuměli a měli na věci stejný názor. Na druhou stranu doufám, že jsme se na obou stranách respektovali a já jsem se spíš snažil pomáhat jim s tou komunikací kolem toho. S těma jednotlivýma týmama. Snažil jsem se tam hasit nějaké požáry a rozbroje. Ty týmy, jak byly oddělené, tak každý byl někde a měl tam nějakou svoji bublinu a nadával většinou na ty ostatní. A co byl taky docela problém toho Enfusion týmu, tak oni moc nekomunikovali mimo tu svoji bublinu. Přitom bylo potřeba,aby brali v potaz ty požadavky týmů. Bohemka v té době měla týmy, kromě Mníšku pod Brdy, Prahy, Brna, tak měli ještě v Bratislavě. Byl to bývalý Cauldron, David Durčák a jeho tým. Byla to parta skvělých lidí, kteří spolupracovali na DayZ. Myslím si, že ten tým hodně trpěl tím, že byl hodně odstrčený a nikdo se s nima moc nebavil. Možná dostávali spíš práci, která jim zbyla. Zase abych někomu nekřivdil, mohli si vybrat. Já jsem se snažil mezi těma pobočkama jezdit, komunikovat s těma lidma, s těma programátorama hlavně a s vedoucíma těch týmů. Snažil jsem se nějakým způsobem dát to dohromady tak, aby Enfusion vyhovoval požadavkům a potřebám těch ostatních týmů a zároveň, aby oni neměli pocit, že jsou na druhé koleji. Myslím si, že se to do značné míry dařilo, ale vždycky se našli lidi, kteří nadávali na cokoliv. S některýma jsme se museli rozloučit, protože to jinak nešlo. Ikdyž to byli zkušení lidi. Jeden člověk, který za sebou měl spoustu práce a zkušeností, tak byl tak toxický, že jsme si řekli, že jiné řešení asi není, než mu poradit, aby se šel podívat někam jinam.
V rámci CTO pozice jsem měl taky na starost komunikaci se všemožnými partnery. Spolupracovali jsme třeba s Intelem na optimalizacích. To byla fajn spolupráce, protože oni opravdu měli zájem na tom, aby třeba DayZ na těch jejich procesorem běželo dobře. Dál tam byla spolupráce s AMD..Byla tam spousta vývojářů nějakých periferií, kteří měli velký zájem, aby s nima ty herní firmy spolupracovaly. Já jsem tomu byl poměrně nakloněný, protože jsem si říkal proč ne. Oni nám udělají reklamu, my jim uděláme reklamu, bude víc hráčů ve hře atd..Zjistil jsem ale, že Marek i marketingový tým v Bohemce jsou vůči tomu hodně skeptičtí. Že už to vyzkoušeli, moc to nefungovalo a že to pro firmu nebyl zase až tak velký přínos. Jediná významná spolupráce, která tam nějak byla, tak byla s firmou Tobii, kteří dělají eye trackery. Senzory, které detekují pohyb očí. Tohle jsme implementovali už do Army. Vznikla knihovna, která se potom dala implementovat někam dál. Hráči pomáhala, podle toho kam se díval, tak hýbala obrazem nebo někde zvýrazňovala UI atp. Už si nepamatuju všechny detaily, které jsme tam implementovali, ale tohle byla jedna z těch spoluprací, které se dotáhly až do té hry.
Jinak těch lidí psalo spousta. Pořád někdo “otravoval” s tím, že by chtěli tohle a támhleto do těch her dostat, tak se pojďte nějak domluvit. Většinou to skončilo na tom, že jsem to zkonzultoval s Markem a ten to, řekl dál.
Ještě abych nezapomněl, pokud jde o ty firmy a spolupráce s nima, tak jsem vlastně přispěl ke spolupráci s Tencentem. Jak už jsem říkal, tak Bohemka nebyla úplně proaktivní k vyhledávání různých spoluprací. Když se ale po pár letech, co jsem v Bohemce byla Tencent se ozval, tak jsem se s Markem domluvil, že bych si to vzal na starost a začal to s nima řešit. Mě ta Čína vždycky zajímala, lákala, protože jsem viděl, že se čínské firmy snaží dostat na západ a snaží se o nějaké spolupráce a Tencent je samozřejmě jedna z těch největších a určitě zajímavých firem. Velmi mě to lákalo vůbec je poznat, jakým způsobem by si představovali tu spolupráci a zkusit nějakou navázat.
První, co jsme zkoumali, jestli by bylo možné v Číně vydat Armu 3. V Číně na všechno potřebujete publishera. Neexistuje, že byste si něco vydali sami bez nějakého zaštiťujícího čínského subjektu. Tencent je velký publisher. Má ty mechanismy prochozený, toho vydávání, takže jsme se začali bavit o Armě. Celkem brzo jsme přišli na to, že Armu v Číně možné vydat nebude. Hlavně asi ze dvou důvodů. Jeden je ten, že v Armě jsou poměrně běžně rozebírané politické témata. Ikdyž se to Arma snaží brát z toho morálního pohledu a rozšiřovat hráčům povědomí o těchto věcech, o pravidlech války, tak to by v Číně nešlo. Druhým důvodem je, že Čína je taková šedá zóna, pokud jde o age rating. Oni žádný nemají. Všechny hry, které se tam vydávají, tak prochází přísným schvalováním, které v podstatě říká, že cokoliv my schválíme, musí mít možnost hrát i čtyřleté děti. Což u Amry neplatí. Je fakt, že v Číně už vyšla řada her, kde se střílí, zabíjí celkem normálně a prošlo to, ale tím, že je tam šedá zóna, tak nejsou jasná pravidla, tak nikdy nevíte dopředu, jestli to vyjde nebo ne. Je to velké riziko, trvá to několik měsíců, ty schvalovací procesy, takže pro nás nebylo příliš atraktivní, se do něčeho takového pouštět. I ten Tencent, když jsem se jich ptal, jakou vidí šanci, že by tam ta Arma mohla vyjít, od stupnice 1, která je “Jasně, vyjde to bez problémů a 10 “Bez šance.”, tak říkali 8-9. Takže tam jsme nešli. Další projekt, který mě napadl byl Ylands. To je naopak taková kids friendly hra. Konstruktivní, pozitivní. Začali jsme pracovat na tom jestli a jak, za jakých okolností by tam Ylands mohly vyjít. Protože Ylands byly Markův taková osobní pet projekt, tak se do toho Marek potom vložil taky. Velmi aktivně se začal věnovat tomu, za jakých okolností by ta spolupráce mohla fungovat. Tencent nás potom pozval i do Číny, kde jsme několik dní s nimi vedli poměrně intenzivní jednání, od rána do večera. Oni chodí do práce na 9 ráno a odchází většinou tak v devět a někdy i později. Jsou lidi, kteří tam jsou i do půlnoci a už tam stojí fronta lidí, kteří by rádi nastoupili na jejich místo. Konkurence je tam velká. Po řadě měsíců těch jednání došlo k tomu, že jsme se domluvili, že Ylands v Číně vyjde. Dokonce se tam implementovali trošku i jejich představy. Měli hodně názor třeba na to, jak by měly vypadat postavy. V Ylands bylo všechno z polygonů, ostré hrany a Číňani chtěli, aby všechny ostré hrany zůstaly, ale obličeje chtějí pěkné, hladké. Takže tohle byla jedna z těch věcí. Nevím jestli si vzpomenu ještě na něco dalšího, ale měli tam takové různé požadavky, které znamenaly číst té hry předělat. Pak si myslím, že část těch předělávek a další směřování projektu, bylo ovlivněné tím, že se s nima Marek a nevím kdo všechno ještě do toho byl zapojená, ještě určitě project lead Ylands, domluvili, že to zkusí jako edukativní hru. Budou cílit na školy. Bude probíhat nějaký testovací provoz hry v rámci Číny a serverů a takhle se to tam potom rozjelo. Potom se část tady té filozofie převzala i pro ten západní trh. I dnes se snaží Bohemka hodně na ty školy cílit. Ylands má vlastní programovací jazyk, který umožňuje customizovat tu hru a dá se na něm pěkně učit programování. Je to něco jako Scratch. Je to teď hodně edukativní projekt, než jako plnohodnotná hra nebo jenom hra.
Ve výsledku nevím, jestli bych tuhle zkušenost chtěl opakoval. Když člověk vidí, jak se ta Čína chová a jak i přes všechny náznaky, že by se to tam mohlo trošičku uvolnit, tak se to tam neuvolňuje a je to tvrdý komunismus, tvrdá cenzura, absolutní kontrola lidí. Jak se tam rozvíjí umělá inteligence, která vás sleduje na každém kroku, tak si nejsem jistý, jestli bych tuhle zkušenost chtěl s nějakým dalším projektem nebo další firmou, opakovat.
Potom jsme tam ještě měli období, kdy jsme zkoumali VR. To byl takový boom, kdy vyšla nová generace VR Helene. Ta stará byla myslím někdy před 20 lety, kdy to nějak nedopadlo. Teď vyšla nová generace, která vypadala, že by mohla dopadnout líp, protože ten hardware už je někde jinde, rozlišení displejů je mnohem dál. Dělali jsme s tím nějaké experimenty, ale taky jsme si nakonec řekli, že to nebude cesta pro nás. Opravdu těch firem, které na VR udělali něco užitečného, šikovnýho, dobrýho, co hráči milujou, tak je málo. Beat Saber je skvělá hra, ale to je vyjímka.
Další věc, které jsem se potom věnoval nebo spíš tak průběžně, byl Anti Cheat. Protože jak na DayZ, tak na Armě těch cheaterů bylo strašně moc. Čím víc je ta hra úspěšnější, tak tím víc lidí se ji snaží rozbít, získat v ní nějakou výhodu. Ono by to ani nevadilo, do té míry, když si ti hráči získají nějakou výhodu pro sebe, pokud nekazí tu hru ostatním. Co už ale vadilo hodně, že už to byl docela byznys. Někteří cheatři, za těžký peníze, nechali ty cheaty platit a způsobovali nám tam problémy tím, že těm hráčům to vadilo, že jsou tam lidi, kteří na těch serverech evidentně cheatujou. Snažili jsme se proti nim všemožně bojovat. Když jsme nějaké cheaty vyřešily nebo nějaké hráče zabanovali, tak se nám pomstili tím, že si zaplatili nějaký DDoS útok. Takhle nám to vraceli, takže jsme zase my museli posouvat tu infrastrukturu zase dál, aby to ustála.
Michael: Tady těma cheatama, nevrátil ses trochu ke své fascinaci antivirama?
Petr: Jo určitě dostal. Ta zkušenost s tím low level programováním byla velmi cenná. Už jenom proto aby člověk rozuměl tomu rychle a bez problému co ti cheatři dělají, jak to dělají. Já jsem nedělal na těch anticheatech. Koordinoval jsem tu práci a to jakým způsobem proti nim budem zasahovat. Určitě to pro mě bylo cenné. Zase jsem na tom viděl, kam se ty techniky posunuly, jaké používají nástroje. Byl to pro mě zase pěkný výlet do toho systémového programování.
Když jsem se rozhodl pro práci v Bohemce, tak vím, že Marek v té době oslovil i Jarka Koláře. Já jsem mu taky psal, že tam půjdu a že bychom se tam mohli potkat. Nakonec to dopadlo, takže zase po mnoha letech, kdy se naše cesty rozešly, tak v Bohemce jsme se zase setkali. Bylo to zajímavé. Jarek dostal na začátek za úkol Argo a Vigor, který z toho v podstatě vycházel. Ten potom předal jinému project leadovi a věnoval se development directorské pozici. Já jsem řešil něco podobného z toho technického pohledu, on to řešil z toho organizačního, designového, protože k tomu měl blízko. Snažili jsme se té firmě zlepšit procesy, komunikaci mezi týmama a dělat ty věci tak, že když se něco vymyslí v jednom týmu, tak aby to mohl využít i ten jiný tým.
Naráželi jsme tam na spoustu silných osobností. Ono obecně programátoři, jsou poměrně složitý materiál na zvládnutí. Ti lidi jsou velmi inteligentní, mají většinou analytické schopnosti, takže si dokážou problém analyzovat a nějak ho po svém pochopit. Dokážou mít velmi silné názory, hodně vyhraněné. Změnit tady ty názory, nebo dojít k nějakému kompromisu, konsensu je dost těžké. Mě tam asi pomohla ta moje zkušenost z vojenské školy, kdy jsem takové podobné situace, kdy jsme si nerozuměli, musel řešit a nějak s těma lidma vyžít. I v těch herních firmách, zvlášť v těch větších, kde je těch lidí víc a už se to nedá držet v nějakém kompatibilním módu, protože ty lidi mají nějaké zkušenosti, schopnosti, know-how, který se do té firmy hodí, ale lidsky jsou “jiní” nebo jsou hrubí, v chování k ostatním. Neberou si servítky a řekl bych, že se za každou cenu snaží prosadit to svoje a ne najít cestu, jak z toho ven. Mým úkolem bylo tady takové požáry hasit, zahlazovat hrany a hledat nějakou shodu. Ve velkým týmu, mnoha lidí, který navíc spojuje 2 enginy dohromady, kde máš lidi z jednoho enginu, lidi z druhého enginu a každý je nějakým způsobem hrdý na to svoje dílo a snaží se ho tam prosadit, svoje přístupy a postupy. Bylo to hodně složité, hodně to jiskřilo. Hodně času jsem strávil tím, že jsem se snažil tyhle věci vyřešit. Ne všechno se podařilo. Myslím si, že v řadě případů jo, bylo to ke spokojenosti, aspoň teda mojí a snad i těch lidí samotných. V řadě věcí se, možná i dodnes nenašla shoda.
Výsledek byl, že já jsem se věnoval věcem, kterým jsem mohl. Snažil jsem se Enfusion týmu pomoct jak to šlo, ať už v komunikaci nebo komunikace s externíma partnerama. Snažil jsem se tam i některé věci dostat, co se týče technologie. Jeden z problémů byl, že cesty k těm objektům, assetům, byly pevně dané. Přišel jsem s tím, že v Unity je metasystém, metafilu, který umožňuje to, že když se ten soubor někam přesune, tak přesně víš, co je to za soubor, kam patří, ve kterých objektech je použita textura a není problém potom ta data přesouvat libovolně. Pro vývojáře to má obrovský benefit, protože mají najednou obrovskou svobodu. Rychleji se s tím pracuje. Když chtějí celou složku přesunout někam jinam, tak to prostě udělají a ne že musím překlikávat ve dvaceti objektech nějaké cesty. Byla tam spousta takových detailů, které jsem se snažil do toho enginu dostat. Z nějakých zkušeností nebo inspirace z jiných technologií. Leccos se tam dostalo a něco né.
Brněnský tým v Bohemce, který měl na starost Armu, tak potom co Arma přešla do takové liveops módu, tak dostal další zadání, udělat hru na Enfusion enginu. Hra se jmenovala Argo. Měl to být herní projekt, který poslouží k tomu, aby se pracovalo na podstatných, potřebných věcech, na enginu ktomu, aby na něm vůbec mohla nějaká hra vzniknout. Byl to správný zámět a krok, protože vždycky se věci vyvíjí líp, když je děláte pro nějaké reálné použití a ne jen tak do šuplíku. Problém byl v tom, že ten engine nebyl zdaleka v takové fázi vývoje, přestože už se na něm dělalo řadu let, aby to šlo a aby se s tím týmu dělalo dobře. Přemýšleli jsme co s tím. Já jsem byl pořád zastáncem toho, že bych chtěl, aby ve firmě byly ještě další enginy, kromě toho Enfusionu. Unity jsme měli na Ylands, ale tam nebyl takový přesah, řekněme know-how. Samozřejmě něco z Unity se dalo použít, nějaké ideje nebo se nějak inspirovat jak se s tím pracuje. Enfusion byl od tohohle docela vzdálený. Rozhodně blíž tomu byl Unreal. Tenkrát s Jarkem Kolářem, nevím jestli u toho byl ještě někdo, ale měli jsme několik diskuzí s Markem Španělem. Snažili jsem se ho přesvědčit, aby vlastně nám ten Unreal dovolil použít na to, aby se na tom dalo Argo dělat. On se tomu bránil, protože chtěl za každou cenu, aby se hlavně pracovalo na Enfusionu a všichni aby na něm pracovali. Nicméně když viděl, že to tam ještě není ta technologie, tak se uvolil, že ten Unreal licencujem. Domluvili jsme se Epicem, na nějakých podmínkách, za jakých to použijeme. Tým v Brně na tom začal pracovat. Myslím si, že to pro ně bylo obrovské potěšení, pracovat najednou s enginem, který byl hotový, dospělý a který měl hlavně pokročilé nástroje. Vzali jsme Unreal 4.17 nebo kolik byla ta první verze, na které jsme začali dělat nebo oni začali dělat. Cílem bylo, že ty zkušenosti a znalosti, které nabydou na tom vývoji, tak budou dál sdílet k Enfusion týmu. Dobré nápady, praktiky, postupy se potom použijou. To se dělo. Dělali jsme pravidelné meetingy. Já jsem potom začal dělat ještě programátorské setkání. Jmenovalo se to Enfusion gathering, kde jsme se všichni sešli, ze všech těch poboček, kteří k tomu byli nějak relevantní a bavili jsem se o určitých částech toho enginu, modulech o tom co a jak mají umět, jaké jsou požadavky. Jak to udělat, kdo to bude dělat, kdy se to bude dělat. Okolnost, která nám bránila v tom, abychom postupovali rychleji, byl poměrně malý počet lidí v Enfusion týmu. Když jsem přišel, tak tam bylo tak 5-6 lidí. Jeden dělal UI, jeden dělal render, nějak to tam bylo rozdělené mezi pár lidí. S takhle malým týmem, se nedá dělat velká technologie, která má sloužit velké hře a ještě komunitě, která s tím bude ještě něco dělat. Bude mít svoje potřeby, požadavky. Bude potřeba je nějak supportovat. Hlavně v dnešní době jim musíte dát nástroje, které pro ty lidi budou nějak užitečné, zajímavé a nebudou si připadat jak v době kamenné.
Mým cílem bylo ten tým rozšířit. Začali jsme dělat výběrové řízení. Našli jsem postupně řadu šikovných a chytrých lidí, kteří tam jsou snad dodnes. Takhle se ten tým postupně rozrůstal. Nešlo to úplně rychle, takže pořád byl před náma pořádný kus práce. Pořád tam bylo ještě to DayZ, které ten Enfusion musel podporovat, starat se o to, aby ta hra žila a fungovala. Kromě toho, pro DayZ, se začaly vyvíjet porty na konzole Xbox one a PS4. S tím bylo spojeno zase obrovské množství práce, další lidi se k tomu museli přidat. Hodně s tím pomáhal i DayZ tým. Už ta práce trvalo mnoho let a byl velmi silný tlak ze strany firmy Slávka Pavlíčka, Marka Španěla, aby už se to konečně vydalo. Tím pádem, podporovat ještě další projekt, jako bylo to Argo a Vigor, který z toho vycházel, tak byla ještě další dávka práce, kterou ten tým musel zvládnout. Nakonec se nám podařilo Marka Španěla přesvědčit, že se vezme ten Unreal.
Tým začal na začátku pracovat na nějakém research, co to bude. Byla tam určitá idea, že by to mohl být trošku jako esport, ale hlavně Marek měl takovou vizi, že to bude postapokalyptická hra, ve které hráč bude v podstatě sám za sebe a bude chodit do toho postapo světa pro nějaké zdroje, a bude si je nosit zpátky a nějak tam na tom stavět ten svůj shelter a tu svoji existenci. Ten design se po nějaké době, asi po roce, ještě změnil nebo tam spíš došlo k tomu, že ten tým tomu rozuměl jinak, než to Marek myslel. Oni měli nějakou svoji představu a vizi a Marek taky a pak se tam staly nějaké změny, které znamenaly předělávky. Nicméně na tom Unrelu to šlo docela dobře. Zase se ale ukázalo, že ikdyž máte hotový engine, který funguje a vyšlo na něm už spousta her, tak to není silver bullet, ale musí ten tým se naučit s tím pracovat. S jakoukoliv technologií, potřebuje půl projektu až projekt, abyste tu technologii zvládli a naučili se to. To se stalo i u toho Vigoru.
Pak přišel rok 2018 a Bohemka nebyla v úplně dobré finanční kondici. Hry, které měly už dávno vyjít, tak pořád nevycházely. DayZ se odsouvalo už několikátý rok, Ylands už mělo být taky vydané a pořád tam docházelo k nějakým odkladům, které byly z toho důvodu, že se vždycky vymyslelo něco dalšího, lepšího nebo nějaká změna. Takže příjmy nebyly podle plánu. Enfusion se taky pořád vlekl, pořád to nebylo v tom stavu, aby se na tom dala dělat pořádná velká hra. Tím pádem se Slávek Pavlíček s Markem Španělem rozhodli osekat náklady a zrušit veškeré aktivity, které nesouvisí s dokončením těchto projektů. Mě zrušili R&D oddělení, analytické oddělení. Ty lidi se rozpustili do těch týmů existujících a spolu s tím zrušili i pozici CTO. Já jsem v tu chvíli stál před rozhodnutím co dál. Jestli v té firmě zůstanu nebo ne.
Měl jsem chuť pracovat tam dál. Mě ta práce s těma lidma co tam byli bavila. Tak jsem přemýšlel, co jiného bych si mohl vzít na starost. Bylo tam několik možností, ale jedna, která se mi asi líbila nejvíc, byl port Vigoru na Switch. Byl to docela divoký nápad, protože Vigor od začátku byl dělaný na konzole, na PS4 a Xbox One. Primární platforma, což se dneska už asi neví, tak byla PS4. Tam se to původně mělo dostat. Samozřejmě, vyvíjelo se to na PC, takže tam jsme to hráli jako první a dá se udělat build, který je PC, který fungoval, ale na PC to původně vyjít nemělo. Jako primární platforma sloužila PS4. Nicméně, došlo tam k nějakému dealu s Microsoftem, kdy oni chtěli, aby to bylo exkluzivní na Xbox a myslím, že slíbili nějaké peníze nebo nějaký marketing. Už si to přesně nepamatuju, ale změnilo se to tak, že ta hra začala primárně dělat na Xbox. Ať tak, či tak obě dvě jsou to poměrně výkonné konzole a nikdo nikdy v týmu nepředpokládal, že by se ta hra portovala na něco slabšího. Já jsem kdysi s Davidem Kolečkářem, který měl právě dobrý vhled do těch konzolových trhů a do těch her, co tam vychází. Nějak jsme se o tom bavili a zabředli jsme do toho, co třeba portnout Vigor na Switch. Byl by to challenge a žádná taková hra ta není a že by to bylo zajímavé i z pohledu prodejů i z technického pohledu. Udělali jsme nějakou rešerši na toto téma. Domluvil jsem s Markem, že tuhle myšlenku prozkoumám víc. Udělal jsem k tomu nějaké technické rešerše a David Kolečkář udělal rešerši toho trhu. Když jsme se o tom s Markem bavili, tak byl tou myšlenkou poměrně zaujat. Nakonec jsme ho ani nemuseli moc přesvědčovat a nějak lámat, aby se mu to zalíbilo. Já jsem si teda řekl, že v Bohemce zůstanu a že si vezmu na starost Vigor Switch.
Začal jsem na tom sám. Měl jsem kanclík sám pro sebe. To bylo fajn. Měl jsem tam na to klid. Asi 14 dní mi trvalo, než jsem to na Switchi rozjel. První spuštěná hra, kdy si tam mohl běhat s hráčem. Běželo to asi 7 fps, občas to spadlo, nefungovaly tam věci, síť třeba vůbec, ale byl jsem rád, že načtu hru. Začal jsem se do toho projektu víc a víc dostávat. Po těch dvou týdnech jsem měl něco co trošičku vypadalo, že bude reálné to na tom rozběhat.
První moje snaha byla, kromě teda stabilizace hry, aby se to dalo vůbec někomu ukázat, najít v tom Unrealu způsoby, jak tu hru na Switch dostat. Grafika, kód a všechno bylo dělané na mnohem silnější platformy a nebylo možné, to na ten Switch dostat. Switch měl 3GB paměti, pro tu aplikaci a oni potřebovali myslím 5 nebo 6. Bylo potřeba zkrouhnout data na polovinu a stejně tak ten kód zrychlit. Udělat to tak, aby to běželo alespoň těch 30 fps. V podstatě ta práce spočívala v tom, že jsem musel proměřit jednotlivé části hry, zjistit kde to brzdí nejvíc a najít způsob, jak to zoptimalizovat. Pokud to byla grafika, tak jsem potřeboval někoho z gafiků. Nějakou dobu jsem nikoho neměl, pak jsem dostal jednoho hodně šikovného grafika Jakuba Merička, který na tom udělal obrovský kus práce. Velmi rychle byl schopný osekávat ty modely tak, že vypadaly pořád dobře a dělat nižší lody. Zjistili jsme mimochodem, že ty LODy (level of detail) modely, které jsou v nižším rozlišení, mají míň polygonů a začínají se renderovat ve chvíli, kdy ten model vidíte z větší dálky. Tím, že byly vidět z větší dálky, tak ti grafici ji udělali tak nějak aby to stačilo a jakože dobré. My jsme ty LODy chtěli potom použít jako když ho vidíte zblízka. Abychom nemuseli ten nejdetailnější vůbec v té paměti mít. Ušetříme paměť, ušetříme výkon. Zjistili jsme, že tyhle LODy je potřeba v mnoha případech upravit. On s tím trávil opravdu hodně času, aby ty LODy “vyhezkal”. To pomohlo samozřejmě i vyšším platformám. Časem jsme získali skupinu asi 10 grafiků, které měla Bohemka v Thajsku, což byla další Bohemky pobočka. Ti valili takovou tu rutinní práci, kdy z těch modelů buď odebírali ty nejvyšší LODy nebo je zlepšovaly nebo vůbec je vytvářeli. Pak jsme to ještě zautomatizovali tak, že v Unrealu, jsme si to napřed udělali sami a ono to potom vyšlo jako v nějakém updatu, že přidali možnost ten nejvyšší LOD nebo několik nejvyšších LODů odřezat z toho modelu a zabalit tu hru s těma nižšíma. To nám hrozně pomohlo, že jsme tohle dokázali dělat potom automatizovaně. Optimalizovali jsme samozřejmě velké množství kódu, grafiky, všeho. Nakonec se nám povedlo, po dvou letech nebo roku a půl tu hru na Switchi vydat. Byl to, řekl bych, na ten Switch pořád dobrej, zajímavej počin. Já jsem doufal, že tam těch hráčů bude mnohem víc. Až do konce jsme tam bojovali s tím výkonem. s performance, protože ta platforma je na úrovni mobilů a té paměti je tam málo. Povedlo se nám to tam dostat, fungovala ta hra. Dokonce jsme poměrně dost času, i ve spolupráci s Vigor týmem věnovali crossplayi. Bylo možné hrát tu hru na všech platformách napříč. Takže jste mohli potkat v misi lidi z Xboxu, Playstationu. My jsme se teda nakonec rozhodli tyhle 2 skupiny lidí rozdělit. Switch dát dál od těch vyšších, výkonnějších konzolí, protože hráči si na to poměrně stěžovali. Oni mají vyšší framerate, takže jsou schopni snáz a rychleji nebo přesněji zamířit. Měli větší rozlišení takže viděli trochu líp ty detaily. Těch hráčů v tom poolu, matchmakingu jsme měli dostatečné množství aby to stačilo. Mohli jsme si dovolit ten Switch dát bokem. Během toho mého posledního roku v Bohemce, tak odešlo spoustu skvělých lidí. Odešel celý tým, co byl v Bratislavě, bývalý Cauldron. Ti si založili Nine Rocks Games. Tak nějak se začalo schylovat k tomu, nezávisle na mém odchod, že odejde i větší část Vigor týmu a ti založili Ashborne. Celé se mi zdálo, že se to začíná tak nějak rozkližovat. Samozřejmě Bohemka si jela pořád v těch svých kolejích. Pořád vyvíjela a vyvíjí svůj engine a pořád pracuje na DayZ . Myslím si ,že DayZ se dařilo a daří dobře. Port na konzole pro DayZ byl skvělý nápad. Ikdyž to bolelo, ten vývoj a vydání, tak to stálo za to. Měl jsem pocit, že jsem tam svým dílem přispěl a že bych se chtěl vrátit zas k tomu, že budu dělat na hrách přímo. Už jsem toho menežování měl plné zuby, dohadování se s lidma a řešení neustálých problémů někoho jiného. Zatoužil jsem zkrátka po změně.
Před dokončením Vigoru na Switch, mě kontaktovali kluci z BadFly. S některýma jsem se znal, protože pracovali třeba v Pterodonu. Prali se jestli bych se chtěl přidat, že mají nový projekt a rozšiřují tým. Já jsem jim v té době říkal, že uvidíme co bude až vydáme Vigor na Switch a pak se jim ozvu.
Vigor na Switchi jsme vydali, mezitím se k nim přidal Jarek Kolář. Mě velice lákalo, pokračovat v tom vývoji her, přímo. Zase jsem chtěl, jako v Pterodonu a přímo se účastnit toho vývoje. Řekl jsem si, že odejít do menšího týmu je to pravé ořechové. Přidal jsem se teda k BadFly, který se velmi záhy na to, změnil v In Game Studios. Investor to od nich koupil. Oni odešli a tím pádem vznikla taková nějaká mezera ve vedení. Přišel Jarek s tím, abych dělal Lead programátora. Tak co už (smích). Tak jsem na to kývnul, ikdyž to nebylo to pravé ořechové. Nebo pravé ořechové, byla to práce, kterou jsem dělal mnoho let, ale nebyla to práce kvůli které jsem z Bohemky odešel. Souhlasil jsem s tím, že s tím pomůžu a časem se k té hře dostanu.
Na začátku jsme měli 8 programátorů. Velmi záhy jsem zjistil, že jsou to všichni v pohodě, šikovní a že mě to s nima bude bavit. Oni už nějakou dobu pracovali na vývoji CrimeBosse. Už byl nějaký prototyp hotový. Byla tam první banka, která už šla hrát, šla vykrást. Jedna z věcí, na kterou jsem se zaměřil i v rámci toho lead programování, tak bylo změření toho výkonu. Já jsem tohle měl z Vigora Switche, velmi zautomatizované. Velmi rutině jsem proměřil tu hru a zjistil jsem, že v paměti jse spousta věcí, které tam být nemají a nemusí. Bude potřeba to zoptimalizovat. Bude potřeba do toho projektu vnést nějaký řád, protože je to tam docela v chaosu, ty data. Začali jsme dělat nějaké guidelines, podle kterých je potřeba postupovat. Udělali jsme guidelines i pro grafiky i pro ostatní členy týmu, aby věděli, jak ty data organizovat, nastavovat, pojmenovávat atd. Myslím si, že tohle je strašně důležité, aby si každý vývojářský tým tohle řekl, na začátku a pak to dodržoval. Ve chvíli, kdy lidi strkají textury trávy do adresáře s domečkama, tak v tom začne být velmi rychle nepořádek. Když potom chcete něco zoptimalizovat nebo něco pročistit, tak se to dělá velmi komplikovaně. Mým cílem ohledně tady toho bylo, dostat ten projekt do nějakého, mnohem lepšího stavu. Takže jsem se věnoval těm optimalizacím a uklízení projektu.
Potom jsme začali oslovovat nějaké publishery, protože na začátku tam ještě žádný publisher nebyl.
Jako jedna ze zajímavých věcí, které jsme si říkali, že bychom jim mohli ukázat, bez toho aniž bychom jim o tom dopředu řekli. Řekli jsme si, že je překvapíme tím, že uděláme port na konzole, na Xbox třeba. Tak jsem si to vzal a asi za 4 dny, jsem měl první funkční verzi. Vlastně to, co měli kluci v prototypu, banku, tak tu jsem tam měl nějak rozběhanou. Nebyl tam multiplayer samozřejmě. Člověk to ale mohl hrát s botama. Hodně toho už fungovalo. Unreal mi v tom hodně pomohl, protože ta multiplatformnost je v tam už docela dobře abstrahovaná. Platformy jsou někde naspodu a člověk dokud se nedostane k detailům, tak je nemusí zase až tak řešit. Je to spíš o tom, nastavit tu konfiguraci správně. Někde občas něco chybí, třeba i z nějaké třídy, tak to je potřeba dodělat, ale jinak to nebyl až takový problém. Byl jsem docela překvapený, ale zase, když mi ten Vigor na Switchi trval 2 týdny, tak ty 4 dny, po zkušenostech z Vigoru, je takové potvrzení toho, že se člověk v tom Unrealu docela vyzná.
Jim se to strašně líbilo. Hned se toho chytli, že :”Hej máme hotovou konzolovou verzi, skoro.” Tak jsem velmi záhy , než jsme jim to ukázali, varoval Jarka a spol, kteří jim to budou ukazovat, aby jim řekli, že je to jenom prototyp a že na konzolích je opravdu velké množství práce. Hlavně potom při tom dokončování, když musí člověk všechny ty technické requirementy splnit, takže to zabere měsíce práce. Myslím si, že to byl pěkný achievement, kterého jsme dosáhli a asi nám to i zlepšilo pozici, při dalším vyjednávání a publisherem.
Další éra vývoje toho Crime Bosse spočívala v tom, že jsme potřebovali celou tu hru naprogramovat. Rozšiřovali jsme tým. Z těch osmi lidí, jsme teď na nějakých 16. Protože v Česku a Brně, je ta konkurence poměrně velká. Je tady spousta studií i větších. Takže všichni ti lidi někde pracují a není tak snadné ty lidi přetáhnout. Nebo nechceme to dělat. Nechceme vykrádat, ty ostatní týmy, protože se všichni známe a jsme kámoši. Občas se to stane. Často někdo přijde, že už by chtěl změnu, takže pak se ty věci dějou.
Náš investor, který měl kontakty všude možně, tak našel několik malých týmů, různě po světě, kteří nám s tou hrou začali pomáhat. Jeden z těch týmů, třeba testeři, v Rumunsku. Další tým byl v Bělorusku a na Ukrajině. Časem se to ukázalo jako ne příliš strategicky výhodné. Jak začal invaze na Ukrajinu, tak chlápek na Ukrajině se několikrát denně odpojil, že je bombardují v Kyjevě. To bylo těžké. Na druhou stranu jsme měli pochopení, má velmi složitou životní situaci. Snažili jsme se mu všemožně pomoct a řešit ty problémy na naší straně, které on měl udělat a věděli jsme, že on na to zrovna teď mít čas nebude. Další kluci byli teda v Bělorusku. Ti neměli problém, že by je někdo bombardoval, ale byly tam nějaké problémy s připojením, něco se tam bunovalo. Hlavně jsme nevěděli, jestli nebudou třeba nějaké sankce vyhlášené, které by nám zabránili s nimi pracovat. Nicméně nějakou dobu jsme to udržovali a s částí z nich to udržujeme dodnes. Máme tam asi 2 lidi, kteří část té hry dělají.
Velký tým potom vzniknul ve Španělsku. Tam to bylo teda, na můj vkus odsouzeno k nefunkčnosti hned od začátku. Ale říkal jsem si dobrý, náš investor má bohaté zkušenosti, takže ví co dělá. On tam pozháněl tým lidí, kteří měli jméno Galeon, ale všichni to byli kontraktoři. V době Covidu, když byl lockdown, tak všichni pracovali z domu, všichni byli juniorní, po škole. Možná tam někdo měl zkušenost s jedním projektem, ale málo. Oni sice byli poříd na discordu a pořád spolu nějak komunikovali, ale nekomunikovali moc s náma. Ne dostatečně.
Oni dostali za úkol udělat část single playerových misí, příběhových. Crime Boss je postavený kolem toho bosse samozřejmě, ale je tam řada další ikonických postav, kteří v tom příběhu mají nějakou roli a kolem nich se čas od času pouští nějaká mise, která tomu hráči odkryje kus příběhu. Oni dostali za úkol udělat tady ty mise. Na rozdíl od zbytku hry, tyhle mise jsou čistě single playerové, takže to byla výhoda a v postatě něco, co mě uklidňovalo, že to i v tomhle rozstříštěném týmu, který sedí někde doma, můžou zvládnout. Navíc s Unrealem, který má docela dobré nástroje na ladění, na vývoj, tak jsem si říkal, že to asi může fungovat. Bohužel to teda úplně nefungovalo. Měli jsme možnost je sem pozvat a oni tady strávili asi měsíc. S tím, že seděli u nás v kancelářích. Dennodenně byli s nám v kontaktu, chodili jsme občas na pivko. Takže jsme se poznali, lidi byli fajn, rozhodně proti nim nic nemám. Byli nadšení, motivovaní s námi pracovat akorát ta komunikace nebyla ideální. To mám mimochodem podobný zážitek a zkušenost odevšad. Jakmile spolupracují 2 týmy spolu, které nesedí v jedné budově, tak velmi brzy začně jeden tým nadávat na druhý a druhý na první. Začnou tam vznikat rozdíly, až propastné rozdíly v názorech, jak by se věci měly dělat a jak by kdo měl co dělat ten z druhého týmu. Nevím, jestli je to česká vlastnost, ale všiml jsem si toho už několikrát. Na druhou stranu i Michal Janáček mi říkal, že tohle zažil v Novatu 2K, když tam roky pracoval. Hold ideální stav je, když všichni můžou být v jednom městě. Takže ti Galeoni pracovali rok na těch misích a já po těch zkušenostech z Vietcongu jsem si říkal, že už by to měli mít. Je jich tam jak psů. Měli nastarost 35 misí. Pak se to nějak osekalo, takže jich bylo míň. Byli tam 4 skripteři. Právě jsem si říkal, po těch zkušenostech z Vietcongu, když jsme měli hotovou technologii a měli jsme hotový design pro ten level, tak mi třeba týden trvalo to nahrubo naskriptovat, aby v tom byly ty hlavní eventy, aby se ta mise dala dohrát. Další týden jsem tam dával dialogy, ladil jsem detaily a hrál jsem si s nastavením AI a se vším možným, aby to bylo dobrý. Třetí týden už to testovalo QA a už mi reportovali nějaké chyby nebo něco, co by se podle jejich názoru dalo vylepšit, tak jsem to potom ten další týden ladil a poslední týden jsme něco ještě dopolishovali a do měsíce ta mise byla hotová. 4 lidi musí 30 misí za rok stihnout úplně v pohodě. Nicméně se tak úplně nestalo. Bylo nám řečeno, se o nic nemusíme bát, že se nemusíme o nic starat a všechno bude včas a tak. Pak se to ale neustále odsouvalo, odsouvalo a pořád nic nebylo. Měli jsme zakázáno nebo nedoporučeno se tomu jakkoliv věnovat, s tím že máme dost jiné práce. Já jsem si teda ještě vymohl, že s naší testerkou s skripterkou si ty mise zahrajeme a dáme tomu nějaký feedback. Je blbost ten tým od toho odříznout. Za prvé je potřeba, dodržovat nějaké společné postupy tak, aby se ty věci vyvíjely jednou a ne několikrát, ideálně zvlášť pro každou misi, což se tam dělo. Stejně tak jsem nechápal, proč se nemůže jako tým, který tu hru dělá k tomu vyjádřit a říct, že je tam něco špatně. Nebylo to myšleno jako zlá kritika, ale jako záměr, dosáhnout co nejlepšího výsledku. V tomhle se ta spolupráce začalo bordit a kazit, Myslím si ,že nebyla smysluplná. Určitě bych to znovu takhle neopakoval. Byl to experiment, který ukázal, že tohle nefunguje. Přesto všechno jsme se s tím týmem dostali do fáze, kdy už jsme byli blízko toho dokončení a náš publisher 505 pořád na mysli, že bychom měli udělat i ty konzole, jenomže jsme na to neměli kapacity. Ten prototyp, který jsem udělal, jsem nějak udržoval, aby to na těch konzolích jelo a kolega potom pomáhal s PS5. Měli jsme obě dvě konzole funkční. NA PS5 třeba nefungoval úplně multiplayer, protože v Unrealu nebyla ta část, kterou jsme potřebovali, dodělaná. To jsme si museli dělat sami. Byli jsme ale dosta daleko na to, aby se ty konzole daly dokončit, ale věděli jsme, že to nestihneme v podstatě v čase vydání PC. Začali jsme se poohlížet po nějakém externím týmu, který by nám s tím mohl pomoct. Našli jsme tým Pixel Aunt. Shodou okolností tam pracuje několik lidí, kteří předtím pracovali v Bohemia Interactive. Oni mají pobočku, tu největší, tu českou mají v Praze, ale u s kterou my jsme spolupracovali, tak mají v Polsku..Tam bylo asi 6 programátorů nebo 5 a potom ještě 4-5 další lidí. Někteří byli na part time někteří na full time. S nima jsem potom začal spolupracovat na tom, abychom ten konzolový port dotáhli do konce.
Musím říct, že ta spolupráce byla v mnoha ohledech příjemná. Řada lidí v tom týmu, měl opravdu dlouholetý zkušenosti v vývojem na konzole. Občas tam taky něco drhlo, což je poučení pro příště. Je dobré dopředu nastavit si nějaká pravidla spolupráce.
Mě tam občas překvapilo, hlavně před dokončením se to párkrát stalo, že jsme lovili nějaké bugy, hluboko v systému. Někde mezi Unrealem systémem těch konzolí jako takových a oni měli týden dovolenou nebo jeli na nějakou konferenci. Občas prostě někdo nebyl a my jsme se to dozvěděli třeba dne dopředu. Nebylo to úplně příjemné. Co zase příjemné bylo, že většinu té doby jsme byli, jakoby oni byli naše pobočka nebo nějaký interní tým, který akorát sedí v jiném městě. Byla tam přímá komunikace s lidma, měli jsme cally, když bylo potřeba. Jednou týdně jsme si udělali takovej synchronizační, obecný a pak jsme si dělali ještě podle potřeby během týdne. Tohle bylo třeba super. Povedlo se to, sice s odřenýma ušima. Takhle natěsno jsme releas s žádnou platformou s hrou nestíhali. Povedlo se to a vydali jsme to jak bylo slíbeno a oznámeno a ve videu a traileru oznámeno ,tak se to stihlo vydat. Takže máme venku Crime Bosse, který běží na 3 platformách. Máme s ním velké plány. Chceme tu hru dále updatovat, přidávat tam nový kontent, featury. Chceme samozřejmě pracovat i s komunitou na tom, aby se jim ta hra líbila. Vnímáme, že jsme to ušili trochu horkou jehlou. Podle mě jsme vydali takový early access, protože jsme tam zdaleko nestihli udělat všechno co jsme chtěli a měli v plánu, ale vzhledem k tomu, že to vydání už se odložilo a publisher měl velký zájem na tom aby už to vyšlo v minulém fiskálním roce. Tak jsme to tam hold dotlačili. Vydali jsme to, Ta hra má dobrej technologickej základ. Myslím si ,že jsme tam i jako programátoři v In Games Studios udělali spoustu dobré práce, která je robustní, stabilní základna pro to, abychom na tom dál pracovali. Doufám. že časem začneme pracovat na nějakém dalším projektu. Máme už nějaké představy. Samozřejmě nás láká Unreal 5. Mimochodem na téma Unreal 4x Unreal5 bych možná ještě mohl říct.
My jsme se snažili na Crime Bossu, když vyšla Unreal 5, se na ni co nejdřív portnout . Zjistili jsme, že tam je řada věcí jinak. Kromě toho, že bychom museli, kdybychom chtěli využít ten renderovací systém a systém geometrie, nové, tak bychom museli změnit spoustu modelů a objektů. Stálo by to dost času
Unreal 5 má hodně jinej a pokročilejší a lepší animační systém. Tam zase animátoři se do toho nechtěli pouštět, protože by to bylo hodně práce. Honza Adamus, ten to zamítl jako nesmysl. Pak tam jsou nějaké změny, kterým by se přizpůsobit dalo, ale v zásadě jsme si řekli, že ten port odložíme až po vydání, a pokud nám to bude dávat smysl, tak to tam portnem.
Teď jsme si udělali nějakou další rešerši, protože ten Unreal už je samozřejmě dál. Je pravda, že když Unreal 5 vyšel, tak měl ještě spoustu nedodělků a chyb. My jsme měli vydání plánované do roka, co to vyjde. Bylo by velmi riskantní, na 3 platformy, na takovém nehotovém enginu, vydávat hru nebo se vůbec snažit to tam dokončit. Zvolili jsme takovou bezpečnou cestu, že to necháme na té čtverce. Unreal 5 nás samozřejmě láká, protože jsou tam pěkné nové featury a chceme je využívat. Doufám, že až se příště dostaneme k nějakému novému projektu, tak že už to bude na pětce.
Naše další plány s Crime Bossem jsou dělat updaty, přidávat nový kontent, nové featury, spolupracovat s komunitou na tom, abychom tu hru vylepšovali a přidávali tam věci, aby je to bavilo. Snažíme se ten tým mít hlavně v Brně. Ty externí partnery, které jsme měli, tak jsme v podstatě opustili. Byly to kontraktorské práce. Nebylo to nějak dramatické ty rozchody. Vydala se hra a dokončil se úkol. Už s nima na tom dál nepokračujeme. Snažíme me se mít tady v Brně dostatek dobrých lidí na to abychom tu hru dostali tam, kam jsme chtěli.
Už s tou konzolovou verzí ta hra mnohem vylšpila, posunula. Snažíme se synchronizovat vydání na všechny 3 platformy. Není to tak, že na konzolích teď lidi mají lepší verzi než na Epicu, ale samozřejmě se to tak nějak navzájem posouvá dopředu. Mme řadu dalších pěkných updatu. I nové mise, zbraňové DLC a spoustu dalších věcí, na které se můžou hráči těšit.
Michael: Ty si vlastně v rámci své kariéry portoval snad na všechny konzole kromě PS1?
Petr: No.
Michael: Tak můžeš říct takové nějaké shrnutí, jak se ta technologie vyvíjí. Dřív to bylo výrazně jiné ne PS3 byl výrazně jiný než Xbox a teď už je to takové, že jsou si blíž?
Petr: Když bych měl nějak shrnout portování na konzole, na všechny ty platformy, tak Pc se specifické tím, že je to strašně moc konfigurací, kterým se musí člověk přizpůsobit. Jaký všechny možný drivery a varianty hardwaru tam lidi budou mít. V tomhle je náročné PC, ikdyž dneska už je to lepší, protože ty drivery a ten operační systém je mnohem robustnější. Nestává se tak moc, že by něco až tak nefungovalo.
Na konzolích to bylo lepší v tom, že byly předem dané, jasně dané konfigurace. Jasně daný systém a v rámci toho to muselo běžet. I třeba na těch mobilech. PC bych přirovnal k Androidu, kde těch telefonů je miliarda a každý funguje jinak a je tam problém s kompatibilitou některých zařízení. iOS, ten zase od Applu, tam je pár zařízení, takže když to šlape na jednom, tak to šlape na všech.
U konzolí je to taky tak. Konfigurace jsou pevně dané. Výkon znáte, víte kolik máte paměti. Občas se stanou nějaké odbočky technologické, jako byla PS3, která byla hodně jiná. Zvlášť pro týmy, kteří si psali vlastní engine, jako jsme dělali třeba v 2K, tak to bylo poměrně časově náročné. Byl to prostě úplně jiný vesmír. Lidi se to museli naučit. Zvládnout se dá všechno, ale stojí to čas.
Co je taková obecná charakteristika konzolí, že vždycky máte málo paměti. Aby tu cenu srazili, tak tam té paměti dají tak aby to stačilo. Ikdyž ten standard je podobný, tak PC to předežene, za ten životní cyklus konzole a v vždycky vám ta paměť chybí. To je průvodní jev všech generací. Máte málo paměti. Na PS5 s tím problém nemáme, protože tam té paměti je dost, ale na Xbox S, což jsme si řekli, že bude naše minimálně konfigurace, na které chceme běžet. Tu hru jsme zoptimalizovali tak, aby na tom běžela, ale opět, to co se nám stalo na Silent Hillu s fragmentací paměti, tak i tady už jsme zažili, že ani ten Unreal není dokonalý v tom, že by vás od těch problémů dokázal odstínit. Občas nám to na té paměti spadlo a ještě spadne v nějakých vyjímečných případech, takže se tomu snažíme ještě nějak pomáhat a tu paměť někde najít.
Michael: Xbox, tím že vydal to S, tak trochu kazí tu generaci. Když chceš tu hru multiplatformní, tak nikdy nevyužiješ plný potenciál toho X, protože to vždycky musíš dostat na to S. Když děláš exkluzivní hru pro PS, tak s tím problém nemáš, ale když chceš aby to bylo i na Xboxu, tak si tím snížíš laťku.
Petr: To je pravda. Vždycky ta nejnižší platforma vás stahuje dolů a brzdí. Na druhou stanu dneska už je to lepší než to bývalo. Vzpomínám si, že když jsme dělali na tom Sing Itu, který byl na 5 platforem, tak tam byla nejnižší platforma PS2. Tomu se všechny ostatní musely přizpůsobit a nemohla si ta hra dovolit mít na jiné platformě lepší grafiku, nebo využívat víc paměti, protože všechno bylo stejné. a neměli to datově rozdělené. Unreal se to snaží řešit. Mají tam zabudovanou škálovatelnost, kde se dá per ta platforma a někdy i per subtyp té platformy, takže třeba Xbox S, Xbox X , tak se dá vybrat, jak detailní textury se načtou do paměti, jaké objekty se mi načtou do paměti a můžu na stejných datech, dá se říct, definovat, na které platformě ta hra bude využívat jaké zdroje nebo jaká data. Tímhle se to dá řešit.
Microsoft má něco, čemu se říká Intelligent content delivery a ty si schopný, na ten jejich backend nahrát 2 imige a podle toho z jakého zařízení to hráč tahá, tak si stáhne to nebo ono.
My to takhle nemáme. Binárku máme jednu, ale ty data máme tou konfigurací rozdělené. Úplně nejvíc jsme tohle využívali na Switchi, kde jsem chtěl, abychom měli jeden strom, datový, aby ten projekt byl na jednom místě. Ne že bude projekt na konzole jedny a pro Switch bokem. Hodně jsme používali možnost ořezávání těch nejdetailnějších modelů. Nechávali jsme tam ty nižší varianty, méně kvalitní, ale zabíraly míň paměti a potřebovaly míň výkonu. To jsme hodně využili. Pak různé limity na velikost textur Na X mohly bát textury 4K a na S jsou jenom 2K.
Pořád je před náma spousta práce a já jsem se zase vrátil ke své utkvělé myšlence, že bych se začal věnovat té hře víc a míň manežovat tým. Předem jsem svou lead pozici kolegovi Davidovi a Jarek mi nabídl abych se přesunul na pozici technical directora. Nicméně doufám, že kromě věcí organizačních a řekněme nějaké komunikace s publisherem nebo partnerama, budu mít konečně víc času na to, abych zase dělal ty hry. Na to se teď těším.
Michael: Já ti děkuju, že sis na nás udělal čas, že si řekl něco o své kariéře a o tom, co teď chystáte v In Game.
Petr: Děkuji za pozvání, bylo mi potěšením.
Michael Petr
Otec dvou dětí přes den a hráč přes noc.