FPI: Jan Zelený I Mashinky

Michael Petr – 07/08/2020

V tomto díle série FPI jsem se setkal s Honzou Zeleným. Ten je dnes celosvětově známý díky své hře Mashinky.

V rozhovoru mluvil o jejím vývoji až do dnešní doby, ale také o tom, co do ní stále chystá. Rozpovídal se i o svých začátcích ve studiu 2K Czech, kde pracoval na sérii Mafia a o svém působení v Bohemia Interactive.

Níže najdete video, audio i textovou verzi rozhovoru.

Video verze:

Audio verze SoundCloud:

Audio verze Spotify:

Kompletní přepis:

Honza: Tak ahoj, jmenuji se Honza Zelený a jsme autor Mashinek, to znamená, že teď je to takové jednočlenné až dvoučlenné družstvo. Druhý člověk je Pavel Navrátil, který mi na hře pomáhá s questama, s designem a je to takový první kibic v případě, že něco vydávám. Je to taková první vlna feedbacku a jinak jsem vlastně autorem hlavně zdrojáku, velké části grafiky, na zvuk máme externího zvukaře, velmi šikovného Bena a spolupracuji s hudebním skladatelem Jazzistou z Franice, plus outsourcing spoustu grafiků.

Zaměřením jsem spíše na enginy, stavba technologie, na které se potom hra vytváří, plus grafické efekty. Samotné to programování je v podstatě jak to někdo hezky řekl, že jsme takoví spisovatelé, protože tvoříme hromadu textu a rozdíl je v tomu, že jej nikdo nečte. Ale je toho obrovský množství. V podstatě úloha programátora je jakýkoliv problém, který v té hře má být, ať už třeba vystřelím a chci zjistit, jestli jsem někoho trefil, nebo jede mašina do kopce a má zpomalovat. Tak rozdělit na podproblémy, to rozdělit na ještě menší, ještě na menší a ještě na menší, až se dostanu na tak malé dílky, které lze popsat matematicky, de facto nějakou algoritmizací. Takže programátor vytváří od těchto malinkých řešení na malinké úlohy, čímž vytvoří řešení něčeho abstraktně většího a ty pak skládá do většího a většího celku. Já si někdy představuji, že je to taková kniha kouzel, kde na začátku umím udělat jen jiskru a rozlít trochu oleje, ale když to spojím, tak dokážu rozdělat oheň. Když takhle do té knihy budu dále přidávat věci, což je v podstatě ten engine, který nabývá na té síle a schopnostech, tak na konci dokážu postavit raketu a vyletět do vesmíru. Takže je to jenom dekompozice na menší problémy a člověk musí mít analytickou hlavu v tom, aby ty problémy dokázal algoritmizovat. Dám příklad, chci naučit počítač rozeznat liché a sudé čísla, a teď jak to udělám, když dokážu dělat jen matematické operace, navíc třeba jen v zaokrouhlení, porovnání. Tak vlastně nejjednodušší způsob je třeba vydělit to dvěma, zaokrouhlit a porovnat s tou nezaokrouhlenou verzí, a pokud se rovnají tak číslo bylo sudé, pokud se nerovnají, tak bylo liché. Takže to abstraktní co je to sudé číslo, tak rozdělit na tu matematiku. V případě programování 3D her, je tam ještě obrovsky zastoupena analytická geometrie, kde je vždy potřeba mít i prostorové vnímání a dokázat si v hlavě srovnat, jak třeba zjistím, že je ten objekt za dveřmi, jak zjistím, že je pod stolem a není vidět, apod. Tam nastupuje ještě daleko víc kreslení po papíru a všelijakého zkoušení. Co se týče těch grafických efektů, tak to programování je de facto často v jiným jazyce, část je v klasickém C++, na straně enginu, část je pak v tzv. shadrech, na straně grafické karty a tyhle dvě věci musí spolupracovat. Nedá se ani říct, že bych psal víc toho nebo toho, nebo asi více píši C++ než shaderů, no to vlastně určitě. Tyhle dvě věci musí vznikat zaráz a spolu fungovat. Když to vezmu čistě statisticky, tak ty enginy, na kterých jsem spolupracoval, na nich dělalo spousty lidí, takže měli klidě desítky miliónů řádků zdrojového textu a když vezmu čistě Mashinky, tak se k tomu už blížím taky, možná jednotky miliónů. Toho textu je opravdu hodně, člověk si to moc neumí představit, ale těch drobných problémů je tam spousta, ze kterých se ta celá hra skládá. Můžu zmínit, třeba v případě enginu na Mashinky, tak tam opravdu vznikají věci jako třeba virtuální souborový systém, technologie která je nad souborovým systémem operačního systému a dokáže ty soubory při načítání všelijak rozbalovat a mergovat do sebe. Věc, která je běžná pro operační systémy, tak je potřeba i v samotném enginu. To samé uživatelské rozhraní, já jsem musel vlastně psát de facto Windowsy v tom jejich: okýnka, zvětšování, posuvníky, tlačítka rozbalovat, karta záložky, chat boxy. Tak to všechno jsem psal znova s tím, aby to bylo přímo napsané v enginu, jakoby nativně, abych si s tím mohl dělat cokoliv, abych mohl ty tlačítka klidně deformovat v perspektivě, což nedělám, ale mohu tam dělat cokoliv, co mě napadne, zprůhledňovat a tak. No a takhle bych mohl pokračovat. Část, která přehrává hudbu, což je vlastně napsat si vlastní MP3 přehrávač, pak je tam část, která přehrává zvuky, což je zase prostorový vjem, který musí nějak distribuovat, sortovat podle vzdálenosti do levého a pravého ucha, takže těch jednotlivých částí, je tam ve výsledku skoro nepředstavitelně mnoho a je to takové, skoro psaní operačního systému, přeháním, ale je toho opravdu hodně.

Ta historie začíná hrozně, hrozně dávno, bylo mně tak 12 let, když jsme měli doma první počítač, to byla ještě nějaká 286 s 16MHz, to byl výkon. Tenkrát můj taťka pracoval jako programátor, dělal nějaký účetnický software, tiskové sestavy a podobně a já jsem mu do toho pořád nakukoval, až mě lákalo, že bych tam zkusil nějaké hry. V podstatě to vzniklo tak, že já jsem chtěl hrát konkrétní hry, které byly tenkrát na trhu, ale nebylo tak jednouché je sehnat a taková naivní představa dítěte byla, tak si je udělám. Programovat tady mě taťka naučil, tak není problém. No a samozřejmě jsem začal s RPGčkem, s čím jiným. Narazil jsem dokonce na limity toho programovacího jazyka, které byly, tuším, 1500 řádků kódu, to byl Fant 3,3 jazyk. Takže jsem brzy začal opouštět to prostředí, ve kterém se taťka pohyboval, a začal jsem si zjišťovat jiné programovací jazyky a pustil jsem se do nějakého vývoje. Kdy jsem zjistil, že mě to možná baví více, než hraní her. Pak jsem šel normálně na gympl, neměl jsem nějaké vysloveně ambice stát se herním vývojářem. Tak nějak na tom gymplu jsem si říkal, tak zkusím dělat malé hry, třeba za peníze, a když mě to uživí, tak to potom půjdu studovat na výšku. No a pravda byla samozřejmě taková, že mě to neuživilo, nevydělalo si to ani zpátky na ten počítač. Měl jsem ale aspoň nějaké ocenění v olympiádě, která se týkala přímo programování. Tak jsem si říkal, že je to možná nadějné a že bych v tom měl asi pokračovat. No a někdy v té době, vycházela Mafie I a já jsem se opravdu díky té Mafii utvrdil v tom, že to chci studovat dále a šel jsem na informatiku a celou dobu jsem snil, že bych do té firmy, tenkrát Illusion Sofrworks, jednou nastoupil.

Nejdříve jsem jim posílal životopis, někdy v únoru řekněme, že jsem už v červenci tušil, že budu přemýšlet kam dál. Tenkrát mě nějakým způsobem odbyli, nebo to nějak vyšumělo, jenže zhruba v červnu, to bylo v roce 2009 se tam obrovsky propouštělo, o práci přišly desítky lidí. Což byla obrovsky smutná zpráva pro herní komunitu, protože Mafie II byla hodně očekávaná a už měla být pomalu vydaná. Ale pro mě to byla super zpráva, protože jsem si říkal: „Volný židle, paráda, tak to zkusím znova.“ A začal jsem je znova bombardovat, až mě pozvali na pohovor. Vysloveně jsem se tam vnutil.

Ten pohovor proběhl tak, že jsem tam došel v obleku, i když mě varovali, že to nemám dělat. No nakonec to bylo na čtyři hodiny z čehož většina bylo nějaké intenzivní programování, kdy jsem byl zavřený sám v místnosti a na konci se přišli dva jejich lidé podívat na výsledek. Já byl úplně splavenej, nervózní a ti dva si sedli jeden vpravo a druhý vlevo a začali jsme probírat ten můj kód, co jsem tam vyrobil za tu šibeniční dobu. No měli k tomu vysloveně hodně kritiky. Bylo to samé: A proč jste tu použil toto a tam tamto. Rozebírali to, já byl víc a víc nervózní a na konci se zeptali: „Co byste si po tom všem, představoval u nás dělat za práci?“ A já jak už jsem měl úplně sebevědomí na nule tak jsem  řekl: „No po tom všem asi leda uklizečku.“ A oni se ani neusmáli a s kamennými výrazy mi řekli: „Tak to byste ještě musel na jeden pohovor.“ (smích) Nakonec mě ale vzali. Druhý den mi volali s nabídkou. To bylo poprvé, co jsem se dostal k profesionálnímu vývoji her. Do té doby jsem vydával nějaké freeware hry a s klukama na škole jsme něco zkoušeli, ale toto byl začátek něčeho profesionálního.

Michael: Chceš zmínit ještě něco o těch hrách, co jsi dělal před tím? Jsou ještě někde ke stažení?

Honza: Jedna je pravda dodneška venku. V roce 2003 vyšla v soutěži Becherovka Game a jmenuje  se „U Becherů“ a je to taková zvláštní hra. Já měl docela nadšení do 3D her, ale moc se mi nelíbily akční, že bych tam potřeboval střílet a podobně. Takže jsem vytvořil virtuální vilu se zahradou a v ní jsem vždycky náhodně poschovával deset lahví Becherovky. Ona to byla de facto reklamní hra. No a hráč měl z vlastního pohledu chodit, otvírat dveře, skříňky, vypouštět bazén… prostě hledat ty lahve. Na tý hře je zvláštní, že tehdy mi bylo přesně 18 let, když jsem ji vydal. Udělal jsem ji na vlastním enginu napsaným na directX a C++. Byl to můj úplně první engine, pro který jsem ani neměl jméno, i když jsem mu říkal 3D3, ale nikdy jsem to ani nikde neuvedl. Jen mi to tak připadlo vtipné. Napsal jsem si k tomu ještě v jiném programu nástroj pro 3D modelování a všechno jsem to zvládl vydat za 4 měsíce.

Začal jsem dělat v červenci, do srpna jsem čas trávil urputným vývojem a září/říjen už jsem chodil do školy, ale pořád jsem odpoledne programoval. Na konci října jsem tu hru odevzdal. Tenkrát se tuším posílalo CD ještě poštou. Den na to, co jsem to poslal, tak zveřejnili, že změnili nějaké materiály, které se mají v té hře použít a tím nám dávají ještě měsíc čas. Já už z toho ale byl tak unavený, že jsem řekl: „Ne, takhle už to máte odevzdané, lepší už to nebude.“

Ta hra se ani moc neumístila. Myslím, že byla nějak kolem sedmého místa. Ale byla to moje první hra na vlastním enginu, na což jsem dodnes svým způsobem hrdý.

Michael: A pak jsi začal v 2K.

Honza: Tak já tam nastupoval na pozici debug programátora. Byla to pozice, kterou mi i samy ti dva kluci, co se mnou dělali pohovor, doporučili. Mimochodem výborní kluci, které jsem pak poznal osobně, ale radši je nebudu jmenovat. (smích)

Když mi vysvětlovali, co ta pozice obnáší, tak říkali, že budu někdo, kdo bude hledat příčiny bugů a vychytávat je z cizích zdrojáků. Byla to práce, kterou nikdo nechtěl dělat a v té době se na ní točilo několik senior programátorů, kteří se tam tak po jednom dnu střídali, aby se nějak neunavili a aby stíhali vlastní záležitosti. Takže tam potřebovali někoho nabrat. A říkali: „Jo ty máš nějakej skill a zároveň nemáš ambice vytvářet vlastní bugy, tak pojď opravovat ty naše.“ No a opravdu první rok jsem se jen přehraboval v bug reportech, v crashích, měl jsem k ruce tři testery a prostě jsme jeli. No a teprve po roce jsem nastoupil do game týmu a začal jsem tam dělat nějaké věci pro městskou akci a vytvořil jsem si první bug. Takže rok trvalo, než jsem tam něco zkazil sám. (smích)

Ten rok byl náročný, ale dal mi hrozně moc. Když jsem nastupoval tak mi říkali: „Bude to taková a taková práce a ty budeš chodit za těma seniorama a říkat jim. Pojď, pojď, máš tady chybu, pojď si to opravit.“ A tak když jsem měl tu studio tour a představovali mi tam všechny, tak jsem se jim v podstatě omlouval. Říkal jsem jim: „ Kluci já se dopředu omlouvám, že budu ten, co vás bude tahat od počítače, že si máte jít něco opravit.“ A mně tenkrát Luboš řekl: „Johny, my tě už teď milujeme.“ Protože oni byli ti, kteří to museli dělat a konečně to z nich spadlo. Takže to byl můj první rok. Já jsem si to ve výsledku hrozně užil, protože jsem poznal nejvíc z toho celýho enginu, fušoval jsem do všeho, ale zároveň jsem nemohl nic rozbít.

Později, když už se blížilo vydání, jsem připravoval buildy. Takže PC verze Mafie II byla vytvořena mojí rukou, protože já byl zodpovědný za tyhle verze, které jsem posílal do Steamu a pak po tom roce se přešlo na vývoj trojky a já přešel na nějaké opravdu programátorské zaměření.

Mafia II: Definitive Edition

Michael: Ale u vydání trojky jsi už nebyl.

Honza: To ne. Já strávil vývojem trojky pět let a vystřídal jsem různé pozice. Nakonec jsem se dostal do render týmu. Což mi vždycky přišlo jako takový nejúdernější core tým. Teď se nechci nikoho jiného dotknout (smích), ale bylo nás tam nejmíň a tu technologii jsme museli ždímat z grafické karty na maximum. To mě vždycky nejvíc bavilo… grafické efekty, optimalizace a DirectX. No, většinu těch pěti let jsem strávil implementací grafických efektů do Mafie III. Od obličejů, oblečení, stínů, počasí… simulace vody, ta byla super. To je taková příroda, ale spojená s tím programátorstvím.

Michael: Jsi schopný k těm Mafiím říct něco víc?

Honza: Já jsem k tomu i po letech opatrnej, protože korporátní vývoj vždycky obnáší nějaký skutečnosti, který nemůžu ventilovat. Dokonce… to je takový vtip, ale klidně to tam nechej (smích)… dokonce bys správně neměl říct nejenom na jaké hře pracuješ, ale ani na jaký jsi tam pozici. Ad absurdum, že tam pracuješ. Tak jsem si vždycky dělal srandu, že ráno odcházím od manželky a říkám: „Já se jdu projít do parku, vrátím se tak v šest večer a když to takhle budu dělat tak měsíc tak pak donesu nějaké peníze.“ (smích) Samozřejmě to není nikdy tak extrémní, ale i zpětně jsem k tomu opatrný. Určitě to bylo ale super a věc, která mi obrovsky chybí i po odejití z Bohemia Interactive, což bylo další studio, ve kterém jsem působil, je ten kolektiv.

V obou studiích… nevím čím je to dané, jestli tím jak jsou ti lidé inteligentní a kreativní, tak jsou často i strašně přátelští. Mám tam dodnes spoustu kamarádů. Dokonce to pro mě mělo i ten přesah, že v době, kdy už jsem uvažoval o Mashinkách, tak samotná ta kreativita lidí v tom studiu byla tak nabíjející, že jsem se úplně těšil až dojdu domů a budu ještě do půlnoci nebo do dvou do rána dělat svoje, protože ta kreativita, profesionalita a nadšení těch lidí bylo obrovsky nabíjející a nakažlivé. To mi teď chybí.

Jinak z té mojí práce, tak jak jsem to teď vyjmenoval… hlavně ty grafické efekty pokrývají majoritu práce na Mafii III a u té dvojky jsem to taky zmiňoval. Tam to bylo od chytání bugů až po přípravu buildů, kterých se teda připravuje neuvěřitelné množství. Člověk zvenčí může mít představu, že se vytvoří nějaká verze, která pak jde na submision do Sony, Steamu nebo Microsoftu, ale ve skutečnosti se těch verzí připravuje několik za den po dobu několika měsíců. Důvod je, že čím dál tím vyšší stupně hierarchie v tom korporátu si chtějí tu hru vyzkoušet, dát k tomu nějaký feedback. Nakonec se to dostává i k lidem, kteří třeba nepracují přímo na té hře, ale rozhodují o budoucnosti toho studia. Nebo to je aspoň má, asi trochu laická, představa. Navíc se tak testují i různé úpravy a pak je možné porovnávat toto bylo horší/ toto je lepší. Takže to ke konci opravdu byla full time práce.

No a když odbočím na tu moji další štaci v Bohemia Interactive, tak tam už se to zase týkalo enginů a vrátil jsem se zase k těm grafickým efektům. Dělal jsem tam na DayZ. Z těch efektů jsem dělal hlavně třeba déšť a stíny od dynamických světel jako jsou světlice a podobně.

Michael: No a proč jsi vlastně odešel z 2K do Bohemky.

Honza:  To je docela fajn příběh. (smích) Já měl vždycky doma obrovskou podporu od své ženy. Ve chvíli, kdy jsme se poznali, tak jsem pracoval v 2K a byl jsem tam spokojený. Později se to ale nějak přelívalo, studio se rozrůstalo. Vytvořilo se nové studio v Californii a ta práce začla být daleko utahanější pro mě. Tým, ve kterým jsme dělal, byl maličkej. Na prstech jedný ruky bys ho spočítal možná. No a většina toho týmu se přestěhovala do Californie a jakákoliv komunikace, když máš devět hodin časovejch pásem vzdálený kolegy, se hrozně zkomplikovala. Bylo to tak, že já se zdržel v práci do sedmi večer, mezitím oni u nich ráno přišli do práce a mohli jsme si zavolat. Jakejkoliv problém, na kterej jsem v průběhu dne narazil, musel počkat s odpovědí do druhého dne. Ta odpověď mi třeba navíc nestačila, znova jsem se doptal a čekal jsem do dalšího dne na odpověď.

Ta práce byla v tomhle obrovsky frustrující. Na druhou stranu jsem se naučil ty věci spíš řešit sám. Ale pořád jsem tím třeba zbytečně strávil čtyři hodiny svýho času, místo abych se zeptal někoho, kdo by mi rovnou dal odpověď. No a já už z toho začínal být víc a víc unavenej. I díky té repetetivnosti těch úkolů i díky právě té komunikaci. Moje žena tohle pozorovala a ve chvíli, kdy se jí zdálo, že ten člověk, kterýho si vzala a kterej jí doma hrdě chrlil o lomu světla v slzným  kanálku (smích), tak najednou chodí domů a už nevypráví o tom, co dělal… Tak mě začla tak nahlodávat. Říkala: „Zkus to jinde, určitě bys měl šanci se dostat jinam.“

No a v tý době, nebudu jmenovat, ale bylo to dost vtipný. Ozval se mi jeden bývalý kolega, co tehdy už pracoval v Bohemce v Praze a říká: „Ty Honzo, nechceš zajít někdy na pivo?“ A já mu říkám: „Ty jo rád bych, ale ty jsi v Praze, já v Brně a nechce se mi jet do Prahy, dát si tam tři piva, někde tam přespat a vzít si kvůli tomu dva dny volno. Je to lákavé, dlouho jsme se neviděli, na druhou stranu mi to přijde takový dost náročný. Až bude nějaká konference, můžeme se potkat a to pivo si dát, těším se na to.“ A on zase napsal za týden: „Ty a nedojel bys, přece jenom? Dojeď. Dáme to pivko.“ Tak do mě dlouho lavíroval, že mám přijet, až jsem nakonec řekl, tak jo. Já teda přijedu. Opravdu jsem si vzal den volna a řekl jsem si, že si udělám procházku po Praze. Přijel jsem někdy asi ve dvě odpoledne. No poměrně brzo. Tak mu píšu a on na to: „Hele, já jsem ještě v práci a vůbec, nechceš se tady stavit? Ukážu ti studio a tak.“ Tak říkám: „Ok, stavím se tam a počkám třeba na recepci.“ Tak jsem tam došel a on říká: „Tak pojď, já tě tady protáhnu. Tady sedí programátoři, tady grafici, tady je zasedačka… víš co? Počkej tady na mě chvilku.“ A odešel. Já sedím sám v cizím studiu, že jo. Nikde nikdo, čekám na něj a najednou tam přišel zástup lidí a mezi nimi senior programátor, engine master, technický ředitel… a další takový pro to studio důležití lidé a já si říkám: „Co se děje?“ No a oni si sedli proti mně a: „Takže vy u nás chcete nastoupit, ano?“ A já na to: „Co? Proč? Ne. Já tady čekám až půjdeme na to pivko.“ A oni mě vysloveně začali zkoušet. Já jak už jsem byl v dobré náladě, že to bylo opravdu výborně ušitý od toho kámoše, tak jsem se tomu vysloveně smál a byl jsme úplně v pohodě. A to až do té míry, že s jedním senior programátorem, se kterým jsme se znali z minulosti a byl teď mým zkoušejícím, jsme se v jednu chvíli i trochu začali hádat. On říkal: „To je takhle.“ A já na to: „Ne, je to takhle.“ A on: „Je to vážně takhle.“ A já: „No, tak to v žádným případě není.“

HR, který tam u toho seděl se začal smát a říká: „Tak to jsme tu ještě fakt neměli, že by se uchazeč hádal se zkoušejícím,“ No bylo to fajn a i ty lidi měli očividně smysl pro humor a pak mi vysloveně nabídli práci. Ale mně tehdy připadalo, že jsme spokojený. I když má žena už si myslela opak. Každopádně mě nic nepálilo. Ale zůstali jsme v kontaktu a došlo k tomu, že po pár měsících jsem opravdu dal výpověď v 2K a začal jsem v Bohemce.

Zpětně strašně oceňuji to, co tehdy ten kamarád udělal. Pro mě ta Bohemka bylo takový strašně sluníčkový studio. Oproti třeba tomu korporátu 2K, kde sice ti lidi kolem byli taky úžasní, ale v Bohemce mi přišlo, že celé to studio bylo přece jen víc soudržný. Což bylo možná i tím, že je víc lokální.

Michael: A už jsi teda říkal, že tam jsi dělal na DayZ.

Honza: Tam jsem dělal de facto na DayZ, ale tvořili jsme i novou technologii. Takže jsem trochu přicmrndával na Infusionu. To je engine, na kterým pojedou budoucí hry Bohemia Interactive. On je v podstatě udělaný na základě zkušeností ze dvou starších enginů a skloubení toho nejlepšího z nich.

DayZ

Michael: Na Mašinkách jsi začal dělat už v 2K?

Honza: No, kdybych počítal ty roky, tak to radši nebudu dělat. (smích) Ale nějaká část Mashinek, minimálně co se vykreslování terénu týče, vznikla už na výšce. Moje diplomová práce totiž byla „Virtuální krajina.“ Počítač tam vygeneroval krajinu, aplikoval na ni vodní erozi, tektonické zlomy a další věci. Vytvořil krajinu, pak spočítal srážky, řeky, jezera, přetokový řeky, pak spočítal vlhkost, nasimuloval vegetaci. Dokázal z přepisu toho, co která potřebuje, nasimulovat několik generací šíření a hynutí různých typů vegetace. Pak nasimuloval těla rostlin. To vycházelo z Lindenmayerovi gramatiky, ale třeba systém toho, jak se větev odděluje od kmene, dokonce vychází z Michelangelova popisu krevních řečišť. Pak ještě navrch toho byl engine, který to nějak celé vykresloval a optimalizoval do dálky.

Já měl téma obecně „počítačová hra.“ Což v roce 2009 bylo div ne sprostý slovo. Na školách herní vývoj nebyl. Existovala třeba teorie her, ale to je něco trochu jiného, takže dělat tehdy počítačovou hru jako diplomku, bylo takový jako… „To neobhájíš.“

Tak jsem si řekl, že udělám tuhle virtuální krajinu. Všechny ty metody, který jsou potřeba od XML až po 3D interaktivní realtime vykreslování krajiny. To byl zase strašně široký záběr. Takže jsem sice neměl problém popsat 80 stránek a pořád to byl jen souhrn toho, co tam vznikalo, ale zase tam nebylo nic, co bych vyloženě vypíchl. Protože všechny ty metody byly svým způsobem důležitý. Nicméně jsem úspěšně obhájil. Později jsme pak část z toho, jak tam fungovala tvorba terénu, využil i v Mashinkách. Samozřejmě se toho dost ořezalo. Ať už kvůli gameplay stránce, nebo grafice. Třeba tam nejsou fraktální stromy, ale jen modely. Protože ty fraktální stromy vypadaly trochu jako brokolice. Stejně tak jsem vypustil přetokové jezera, protože hráč by pak někde blbě kopnul a zaplavil by si třeba město. To jsem si říkal, že je sice vtipné, ale asi by to všechny docela štvalo. Neříkám, že se to tam nikdy neobjeví, ale myslím si, že spíš ne. Takže tohle jsem ořezal a začal jsem z toho dělat hru.

Na tý jsem dělal nějaké večery a víkendy už v 2K a když jsem přecházel do Bohemky, tak už mi fungoval nějaký prototyp a chtěl jsem, aby to vznikalo s vědomím Bohemky. Takže už v tý fázi, kdy mě přijímali, jsem s nima měl podepsané i to, že ve volném čase budu dělat na něčem svým. Nebylo to kolidující. Je to de facto budovatelská strategie. Bohemka je jak jsem říkal sympatická firma a i toto tam bylo v pohodě. Dokonce to pak i přerostlo v to, že když jsme jel na Game Access, nebo třeba GDS herní konferenci, tak mi lidi z Bohemky obrovsky fandili. Až ve stylu: „Teď jsme jim ukázali, co umí Bohemka.“ A já jsem se tomu nebránil, protože nějaké know how jsem celou dobu vstřebával, jak z 2K, tak z Bohemky a být v nějakým větším týmu bylo příjemný, ale samozřejmě ten projekt byl celou dobu můj a s Bohemkou jsem na něm nikdy nespolupracoval, že bych to nějak dal pod jejich křídla a podobně. Říkal jsem si, že celou dobu to vzniká jako one man show, tak to tak zkusím i dokončit a selfpublishnout a tak to i dopadlo.

Mashinky

No a tím se trochu dostávám do doby, kdy jsem z Bohemky odešel. Mashinky v říjnu 2017 vešly do předběžného přístupu. Já měl tehdy pořád nějaký větší úkol v Bohemce, kterej se mi nedařilo posunout a byla to taková moje ostuda. Do toho mě začlo tlačit to, že v březnu 2018 se mi měla narodit dcera a do toho jsem najednou měl vydanou hru, kde tlačili hráči abych to dodělal. No a zhruba v únoru 2018 uzrálo rozhodnutí, že sice cítím loajalitu k těm lidem v Bohemce, ale zároveň mám za sebou třeba 40 tis. hráčů v té době, kteří chtějí mít tu hru dokončenou a měl bych cítit loajalitu i k nim. Jen protože je nevidím, tak to neznamená, že to není silné pouto.  Takže jsem si řekl: „Dluží jim to, dám výpověď, stejně jsem to tak celou dobu chtěl, že jednou budu dělat třeba na vlastní triko.“ No a v květnu 2018, nebo tak nějak, jsem z Bohemky odešel a od té doby dělám full time, někdy víc než full time (smích) na Mashinkách.

Ale je to super. Jsou věci, které mi chybí. Ať už je to ten kolektiv, nebo třeba ta obrovská specializace. Třeba v 2K to bylo úplně extrémní. Tam se řešila několik měsíců jen kůže na postavách třeba a fyzikální jevy. Subdermal, Epidermal a různý textury, průsvity a podobně. Bylo to strašně zajímavý být na tý hraně technologie a posouvat to dál. Na druhou stranu u toho indie vývoje mnohem víc vidíš svou práci a cokoliv za ten den uděláš, je velká změna do té hry. Do toho je to obrovsky pestrý, protože neděláš několik měsíců na jedný věci, ale stejně ti hoří design, překlady, engine, podpora módů, nebo i grafika, protože jsem sám tvořil i velkou část grafiky. Takže kdykoliv mě nebaví programovat, probudím se a mám k tomu totální kopr, tak si otevřu photoshop, 3DMAX a začnu dělat grafiku.

Je to taky hodně nabíjející, když si můžeš sám jednu věc udělat od A do Z. Co je ale úplně nejlepší, je blízkost ke komunitě. Tím myslím vysloveně to, že lidi píšou přímo mě, já jim odpovídám. Byť to někdy trvá dlouho. Za to se omlouvám. (smích) Dělám co můžu. Ale na Discordu a Steamu jsou často i lidi, kteří dokážou odpovědět tak, jak bych odpověděl já, protože třeba už spolupracujeme delší dobu a už ten projekt znají perfektně. Takže se kolem mě vytváří taková první vlna té komunity, která zároveň komunikuje s tím zbytkem. A od komunity vzešlo spousta dobrých nápadů. Obrovsky dobrý feedback, konstruktivní a někdy až klukovsky zasněný. Do té míry, že ji někdy vybásní věci, který já třeba už trochu pragmaticky uvažující bych ani nezmínil. Ale ve fázi, kdy to řekne komunita si řeknu: „Jo, to je vlastně super nápad.“ A nakonec to tam fakt je.

Michael: Když to vezmeš úplně od začátku, tak proč ses rozhodl dělat právě takový Tycoon?

Honza: To je dobrá otázka. V roce 1997 vyšel Transport Tycoon od Chrise Sawyera a v té době si mě ještě nenašel. Ale řekněme, o tři roky později jsem už první Transport Tycoon hrál a hrával jsem jej i s taťkou. Takže si pamatuji několik takových okamžiků, kdy jsme se vyloženě kochali tím, jak autobusy a vlaky navazují a hrozně mě to bavilo. Od té doby, jsem vždycky, i když jsem byl na výšce, nebo dělal v nějakém studiu, tak jsem vždy doma měl nainstalovaný Open Transport Tycoon Deluxe. To je jedna z prvních věcí, které instaluji, když mám nový počítač.

Baví mě to hodně a pořád jsem si říkal, že by bylo super, kdyby něco podobného bylo v současnosti, kdyby to bylo ve 3D, kdyby tam byly nějaké efekty, mohl bych se třeba podívat pohledem toho mašinfíry. Nic takového ale dlouho nebylo, teď bys třeba sám doplnil nějaké hry, ale v té době, kdy jsem se do toho pouštěl, tak nebyly ani enginy, ani takové hry na trhu. Takže zase z mé takové naivity, něco mi chybí, tak si to udělám, tak jsem si začal hrát s tou představou a vytvářet nějaké prototypy, jak by to zhruba vypadalo. Postupně to přešlo do 3D, původně to totiž bylo jen 2D a spousta věcí se začala měnit.

Mashinky

Zjistil jsem třeba, že v tom 3D nefungují věci jako jeden pohled, ve kterém se ti něco schová za kopec a ty musíš mít možnost se koukat a naklánět se tak, abys ten kopec viděl. Jsou věci, které mě na 3D hrách štvaly, že to není přínos oproti 2D, ale spíše komplikace. Třeba jako lomení kolejí o 45° už v tom 3D nevypadalo dobře, tak jsem si tam vymyslel nějaké oblouky a postupně se to dostalo do té fáze, že já mám rád deskovky, ještě kromě toho a dokonce jsem někde četl, to byl hrozně pěkný názor, že když by hra nebyla dobrá deskovka, tak to nebude ani dobrá počítačová hra a že se prý dá ten princip aplikovat i na 3D střílečky s nějakým craftěním, či grinděním. No a tak jsem si říkal, možná takové ty čísla, že máš 3.875.000 $ a nový vlak tě stojí 1.231.512 ‎$ a teď jako vyděláš 45.600 ‎$, ale když pojedeš trochu pomaleji, tak to bude už jen 42.315 ‎$, no a teď kolikrát musíš jet, aby sis ten vlak mohl dovolit. A tak mi to vždy přišlo jako taková designerská, ne lenost, ale taková úlitba. Já tam dám prostě ty větší čísla a ono se to bude samo škálovat a pak to nějak půjde snáze vyvážit, pak tam ještě přibydou desetiny a tak podobně. A tak si říkám, mělo by to prostě být jako deskovka, měly by tam být nějaké žetonky a měl bys mít možnost, si to spočítat v hlavě. Prostě za jednu jízdu dostanu 8 žetonků, potřebuji jich 30 a tak pojedu čtyřikrát. Proto je ta hra i na čtverečkách, abys kdykoliv se podíváš na situaci, tak abys nemusel zkoušet, aby ses mohl jen zamyslet. Mě vlastně, když se začaly objevovat 3D hry s tou železniční budovatelskou tématikou, tak mě to pořád neuspokojilo, protože jsem říkal, tohle je nádherná hra, je graficky vymazlená, krásný oblý terén a vegetace. Ale ve chvíli, kdy tam začneš stavět trať, tak se najednou přistihneš, jak s tou myškou lavíruješ kolem toho místa a čekáš, až ti ta hra zezelená, protože tam pořád něco zavazí a ty se tou křivkou pořád nějak nemůžeš trefit do všeho. Tak jsem si říkal, že je to strašně na škodu, protože zase to toho hráče nebaví, zase je to ta nemoc prvních 3D her, kde jsi musel narážet do zdí a zkoušet, jestli tudy už projdu, nebo jestli ne. Jako přišlo mně to na škodu, takže taková ta představa, že to bude deskovka, která bude na čtverečkách, ale zároveň bude těžit z toho 3D prostoru, se všemi svými „fíčurama“, ať už jde o možnost se přepnout do pohledu mašinfíry, nebo si otáčet mapou plynule, nebo třeba vidět změny v počasí na tom terénu. Takže tohle všechno mně sedí do kupy a že by to stálo za pokus, takže jsem na tom začal dělat a trvalo to déle, než jsem čekal. Nevím, jestli bych do toho šel znova, kdyby mi někdo řekl, že budu mít produkt až za devět let, ale asi jo. Možná bych šel dneska cestou nějakých enginů, které v té době nebyly, ale i v tom je obrovská výhoda, že je to engine, protože si v něm můžu dělat naprosto cokoliv svobodně a tím, že jsem to psal celé sám, tak je snadné někam sáhnout a vědět, co se tam děje a následně to změnit, nebo si v hlavě domyslet všechny souvislosti, které s tou změnou přijdou. Takže třeba i bugy se tam snáze řeší, protože nikdy nenarazím na kód, který bych už nebyl můj a musel bych to nějak jít vysvětlit tomu člověku, aby to nějak přebral. Takže asi jo, asi bych to udělal i stejně. Věc, kterou bych chtěl zmínit. Vlastně tím, že jsem to v dětství hrál s taťkou, nebo většinou sám, ale párkrát i s taťkou, mám na to velice hezké vzpomínky, tak ve chvíli, kdy už to přerostlo, bylo to už na nějakých konferencích, už jsem to měl jako hratelnou verzi, měl jsem to i na nějaké výstavě v Londýně, Berlíně a podobně. Tak za mnou chodili lidi a zkoušeli si to hrát a často to byli dospělí lidi, chlapi, kteří si pamatovali Tycoon, ze svých dětštějších let, ale pak najednou přišel jeden tatínek, od jakého věku je ta hra vůbec přístupná. Mám šestiletého syna, chtěl bych to hrát s ním, je to vůbec možné? A teď, já se úplně zarazil a říkal jsem si, no safra, já se vlastně snažím rekonstruovat ty mé vzpomínky, ale z pohledu toho dítěte. Ale co když ve skutečnosti bych to měl rekonstruovat z pohledu toho mého taťky, protože teď jsem už v té fázi, už mám dítě, jednou budeme takovéto věci hrát spolu. Měl bych se zamyslet, jestli to ten 6letý teďka může hrát. No a vlastě jsem začal i trochu ten design přizpůsobovat tomu, že když to bude hrát dítě, tak aby vysloveně nenarážel na nějaké technikálie, aby to nebylo překombinované a aby ho to bavilo. V té souvislosti tam nejen přibývaly nějaké pomocné nástroje, které si může hardcore hráč vypnout, ale přibyly tam i nějaké vlastnosti na víc. Jedna je od jednoho z komunity, teď už vlastně kamaráda Zdeňka, fíčura, kdy každá mašina má vlastní zvuk sirény, houkačky nebo zvonce podle toho, co zrovna používala a můžeš to kdykoliv aktivovat. Ty vlastně když sedíš v té mašině, tak je tam přímo tlačítko. Ve chvíli, kdy jsi za ten vlak jen zaháknutý, koukáš z vnitřku, tak je to myslím na Háčku, jako Horn, takže můžeš kdykoliv tou mašinou houkat. Ta fíčura, její implementace nevyžadovala v podstatě nic, protože už tam ty zvuky byly a ty mašiny automaticky houkaly, když jely do tunelu. Takže já jsem vlastně jen udělal tlačítko, které té mašině nastavilo, hele vjíždím do tunelu, interně je to jedno, prostě ta mašina zahouká a je spokojená. No a najednou, mi začaly chodit ze světa videa, kde tatínek hraje s malým synem na klíně. Tatínek hraje a ten syn na to kouká a co pět vteřin zmáčkne tlačítko, mašina zahouká, on se začne řehtat, on tam postaví další kousek tratě, teď syn se přestane řehtat, zase to začne sledovat, zahouká a ten se zase směje. Mně to přišlo strašně super, jakoby se trošku vrací takový ten možná dluh, který jsem měl. Jakoby nehrát jenom na tu notu lidí, kteří jsou jako já a pamatují si to, ale nějakým způsobem ovlivňovat dětství dalších klučinů. Protože se jedná o nenásilnou hru a myslím si, že je daleko lepší v tomhle věku hrát tohle, než nějaké násilné hry. Takže se třeba na tohle více zaměřím, je to strašně supr.

Mashinky auta

Michael: Kdy ses vlastě rozhodl tam přidat autíčka? Nebo bylo to v plánu už od začátku?

Honza: No, já jsem to už někde vyprávěl. To je taky super historka, protože jak jsem zmiňoval, od ženy jsem měl vždy podporu a ona byla taky takový můj první kritik, když jsem něco udělal, tak jsem se jí pochlubil, ukázal jí to a ona mi k tomu něco řekla. Ona sama hry hrávala, takže k tomu měla dobrý konstruktivní feedback. No a tak se stalo, že jsem jednou dělal poštu. Takhle, udělal jsem budovu pošty a teďka ji ukazuji manželce a říkám: „Hele mám poštu“ a Hanka říká: „Jo hezký, ale to není pošta“ říkám: „Jak to, vždyť to tam má napsaný Pošta, prostě má tam symbol obálky a nápis pošta“, ona: „No, ale to není Pošta, vždyť před každou poštou je stojan na kola“. Tak jsem otevřel 3DMax, dodělal tam stojan na kola, zapojil to do hry. Říkám: „Koukni, mám tam stojan na kole, už je to pošta“ Ona: „Jo, už je to hezká pošta… No ale ještě mi řekni jednu věc, proč tam nejezdí auta?“ Teď já z toho jako, dobrý, přidat stojan na kola bylo deset minut práce, ale auta, to si děláš srandu, to je prostě obrovská práce. No a nějak jsem si říkal, hecnul jsem se, byl pátek, v té době jsem ještě chodil do práce. Protože ten prototyp a prototypy všech věcí, které do Mashinek slibuji, tak jsou mnohem starší, abych je byl schopný slíbit a abych si jako ověřil, že fungují a pak je v budoucnu někdy dodělám. Tak jsem chodil do práce a právě byl pátek, bylo odpoledne po práci, sedím doma, ukazuji tohle ženě a ona mi teda říká, proč tam nejezdí auta. Tak si říkám, tak víš co, dám tomu čas do neděle večer a pokud tam prostě budou jezdit auta, nějak v prototypu obskurně, tak je dodělám. No a makal jsem pátek, sobota, neděle a v neděli večer, ono v podstatě, když to řeknu hloupě, auta jsou vlaky, které jezdí po silnici. Pro Mashinky to takhle nějak interně funguje, jsou tam nějaké změny, jako že se offsetnou od středu, protože jedou po svém pruhu a nestřetnou se, když každý projedou v jiném směru, po jedné silnici, podobně jako po jedné koleji. Je tam pár změn, ale de facto je to speciální typ trati a speciální typ „vlaků“ nebo železničních vozidel. Takže v pátek večer jezdily, dokonce se pouštěly na křižovatkách, vybíraly si cestu, měl jsem tam už i nějakou zastávku, která byla schopna nakládat a vykládat, takže to už začalo vozit suroviny. Tak si říkám: „no, tak to bylo jednoduché“. Tak jsem to zase jako uložil a ve chvíli, kdy přišel čas, tak jsem ty autíčka do toho zapojil. K tomu se váže ještě jeden takový zajímavý poznatek. Ve chvíli, kdy jsem vymyslel ten název Mashinky, tak aby se psal stejně v anglicky mluvících, tak místo Š je tam SH a takhle jsem to pojmenoval a najednou jsem zjistil, to bylo až na nějaké ruské konferenci White Nights. Přišel za mnou člověk z Ruska a říká mi, „To je hezký, že se to jmenuje Mashinky, to je ruské slovo, že jo?“ A já „ruské slovo? A co to znamená?“, on že „To jsou malé autíčka“. Tak jsem si říkal, že tohle mě nenapadlo. Tak jsem si uvědomil, že ty autíčka, jsou tam vlastně už od začátku v tom názvu. No a díky tomu třeba je i obrovská ruská komunita, protože ve chvíli, kdy ta hra vyšla v Early Accesu, tak v Rusku, se množily hlasy typu, pojďme mu pomoct, je to náš člověk, pojďme rozšířit informaci o tom, že ta hra vyšla. Stalo se mi, že mě i rusky mluvící fanoušek oslovil a půl minuty jsem se dostával ke slovu, než jsem mu řekl, že rusky neumím. Jako tady jsem jim nemohl pomoct, já sotva s tou angličtinou. Takže rusky neumím a ani jsem to slovíčko dopředu neznal, takže ve výsledku to byla vtipná shoda okolností a hrozně fajn, ale nebylo to v plánu.

Michael: Už jsi tam podruhé přidával druhou vlnu a máš tedy v plánu ještě nějak dále rozšiřovat ty autíčka?

Honza: Určitě jo, ta druhá vlna, ona je hodně v závěsu, za tou železniční dopravou, protože jsem s ní začal později a velkou část té grafiky, korby, náklad, prostě upravuji i ty auta. Takže je tam hodně mé práce, samozřejmě základ je vždy u nějakého grafika, třeba ta korba s interiérem, ale ta moje práce je na tom dost limitující, protože se na to musím zaměřit. Ta druhá vlna je nějakým způsobem pořád zpožděná oproti té železnici, ale v plánu jsou ještě další autíčka. Taky z toho důvodu, nejenom aby doplnily ty epochy, které teďka chybí. Jak jsem zmiňoval, že autíčka vznikly z železničních souprav, tak mají schopnost se řetězit. Teď by měly schopnost se řetězit asi i ty samotné kamiony, ale myslím to tak, že se dá za to zapojit návěs třeba a stejně tak udělat kamion, který má vysloveně tahač a za sebou má na tom kloubu, což je už zajímavější nastavit v těch zatáčkách a podobně. Tohle všechno je tam už podporovaný a v dalších epochách přibude i tohle. Takže autíčka začnou najednou být zajímavé v tom, že se budou skládat z více částí, které jsou na sebe napojené.  Zvažuji i možnost, toho jednoho vleku připojit, odpojit, ale nechci slibovat, protože určitě tam neplánuji věci, jako v Austrálii ty road trains, kde kamion má za sebou třeba 6 návěsů. To v Mashinkách neplánuji. Každopádně mám v autíčkách ještě nějaké mezery, které chci vyplnit. No a zároveň s tím, plánuji leteckou dopravu v budoucnu a zase to tu dokážu slíbit, jenom protože v tom fungoval už nějaký prototyp. Na něm bylo hrozně zajímavé to, že letadlo má jiné AIčko, jinou navigaci ve vzduchu a jinou na zemi. On vlastně na zemi, jelikož si budeš sám kreslit ty letiště, natahovat ranveje, pojezdové plochy, stojánky, tak je tam vlastně nějaká umělá inteligence, která třeba najde vhodnou ranvej, dorolluje na ni a pak prostě akceleruje a vzlítne. Ten vzlet je poměrně jednoduchý úkon, ale ve chvíli, kdy se dostane do fáze, kdy by už měl začít točit, tak už je tam jiné AIčko, které zase naviguje přes mapu k přibližovacím bodům jiného letiště. Tohle všechno tam už nějakým způsobem fungovalo, teď to stojí hlavně na modelech. Takže leteckou dopravu tam plánuji. A lodní doprava, tu jsem zkoušel a tu jsem ani neslíbil, protože mně tam právě zatím nefungovalo dostatečně výkonně to AIčko. Byl to problém i v Transport Tycoonu, ale v podstatě ve chvíli, kdy různě vykopáváš řeky, rozšiřuješ jezera, spojuješ nějaké průplavy, nebo je naopak zasypeš, tak ta navigace v obrovském otevřeném moři, versus v řečištích, aby byla dostatečně univerzální a hlavně rychlá, tak je docela oříšek. Zkoušel jsem tam několik jednoduchých heuristik až po nějaké sofistikovanější grafy, ale zatím nejsem ve fázi, kdy bych dokázal slíbit, že to tam bude a že to bude fungovat. Takže jenom letecká, automobilová a železniční, tyhle slíbit dokážu.

Michael: Aktuálně jsi teda v šesté éře a v tom původním plánu jsi jich měl sedm.

Honza: Původně jsem měl sedm, což se může zdát, že Early Acces se chýlí ke konci. Na druhou stranu, já mám obrovsky dlouhý True list, není to úplně Feature creep, ale už se to k tomu blíží a v podstatě mě pořád čekají velké témata, jako je multiplayer, lepší podpora módů, kde některé nástroje tam používám celou dobu, ale nejsou ve fázi, kdy bych je mohl dát komunitě a bylo by je jednoduché použít, většinou je to strašně obskurní. Takovéhle témata mě teda ještě čekají a ta letecká doprava bude sama o sobě taky ještě velká. Nebude asi hned u první epochy, na rozdíl od aut, ale určitě tam nějaký historický vývoj těch letadel bude, takže to si ještě vezme čas.

Michael: A ta sedmá epocha by měla být pořád jako konec?

Honza: Sedmá epocha by měla být konec a bude složitější v tom, že do ní už plánuji věci jako, magneticky levitující vlaky a monoraily.  To zase bude spousta nových feature od přejezdů po grafiku na výhybkách a podobně. Zároveň s tím by měl v sedmé epoše přijít quest generator, na kterém Pavel už pracuje, do jisté míry jej už ladí. A to bude vlastně end game generátor na questy. Kde ve chvíli, kdy se dostaneš do sedmé epochy, tak abys nedostal poslední tři questy a pak už bude ticho, tak se ti vlastně budou questy obměňovat pořád poměrně originální a pořád budou přinášet nějaké odměny. Takže člověk, který chce výzvu a zároveň tu hru dohrál na konec toho obsahu, tak bude moct pokračovat na stejné mapě do aleluja. Takže těch věcí spojených se sedmou epochou bude určitě více a ještě si to vezme spoustu práce.

Michael: Máš tam docela živou moderskou skupinu, vlastně třeba ty autíčka, těch je tam spousta, že si člověk může dostahovat i na suroviny, které ty tvoje oficiální ještě nepodporují.

Honza: To je pravda. V podstatě jo, máš pravdu. Je tam živá moderská komunita. Na to jak špatné nástroje tam zatím jsou, jak špatné jsou možnosti vůbec toho módování. Ta hra je modovatelná skoro celá, ale není k tomu dokumentace, je to takové reversním inženýrským přístupem zjišťované, ale těch moderů je tam už více a jeden, zmíním Hračičku, je takový dominantní v tom množství obsahu, ale už se objevují další. Vím to pro to, protože jsme třeba v kontaktu, řešíme nějaké věci, snažím se jim v tom pomoct, no ale pořád to není nic tak jednoduchého. Takže jsem chtěl před vydáním nějakým způsobem naplnit wiki stránku, kde by byla referenční příručka ke skriptovým funkcím + nějaký best practises pro vytváření modelů, nějaký rozpis co vlastně dělají barvy ve vertixech, jak se ve hře kódují a podobně. No a zároveň s tím zvažuji nějaké jednoduší návody, jak ty módy tvořit. Jedna část tam už začíná vznikat a na to je přímo ve hře generátor na módy, kde si zaškrtneš, co v tom módu má být, jestli tam má být vlak, jestli tam má být nový typ krajiny, jestli to má mít zvuk, nebo hudba a prostě cokoliv. Nějak to pojmenuješ, napíšeš tam nějaký popis a ono ti to vygeneruje adresářovou strukturu, kterou už jen v podstatě vyplníš těmi věcmi a pak přímo z té hry můžeš ten kód nechat zkontrolovat a poslat třeba do Steam Workshopu. Takže to rozhraní vzniká z obou stran. Z jedné strany nějaké informace, tam jsem hodně ve skluzu a z druhé strany nějakýma automatickýma nástrojema přímo ve hře. Teď je třeba strašně snadné dostat do Steam Workshopu svoji mapu. Ty můžeš otevřít editor, tam mám třeba štětce, s kterými se různě maluje mapa, vodní eroze, a můžeš si s tím různě vyhrát. Když jsi s tou mapou, s umístěním průmyslu, cest, měst, pojmenováním, spokojený, tak si to uložíš, skočíš do hlavního menu a tam můžeš vysloveně zaškrtnout, že tyhle mapy, které jsi vytvořil, takhle pojmenovaný mód s takovýmto popisem, a jedním tlačítkem to nahrát a mají to všichni. Stejně tak se třeba pracuje s razítkama ve hře, což jsou takové šablony. Vytvoříš zajímavou křižovatku, označíš ji, vytvoří se ti razítko, pak ho můžeš kdekoliv používat, tu křižovatku můžeš ve svých dalších hrách používat a zároveň to můžeš nahrát jako Steam Workshop. Kdokoliv jiný si pak to razítko vezme a může si ve své mapě plácnout tvou křižovatku. Takže těchto věcí bude přibývat.

Michael: Jak často musíš ty módy kontrolovat? Aby tam někdo třeba nevytvořil vagón, který uveze stonásobek toho, co je běžné v té hře.

Honza: Já v tomhle věřím své komunitě, de facto Steam Workshop má i možnost hodnocení i diskuzí a podobně pod každým módem. Já jsem v tomhle obrovsky liberální, ale vznikaly módy, že někdo vytvořil směnárnu na žetony. Bylo to nějak improvizovaně, třeba přes koupi nějakého vagónku, ale že jsi v podstatě nakoupil za 100 žetonů a prodal za jiných 100 žetonů. Nějakým způsobem tam vždycky našli cestu, ale mně to nevadí. Já chci, aby Vanilla fungovala bez módů, tak jak já si představuji a to, že tam někdo z toho třeba udělá módem a takové pokusy jsem taky viděl, třeba karetní sběratelskou hru, že za questy dostáváš kartičky a ty je pak utratíš třeba za růst města. Mně je to úplně jedno. Klidně by tam mohl, a řekl bych velice jednoduše, vzniknout mód, kde se zbavíš veškerých žetonků a bude to prostě jen za peníze. Ten mód stačí udělat jen tak, že v tom XHTLM souboru máš ID toho vagónku, který je ve Vanille a napíšeš mu jen novou cenu, to je všechno, nic jiného do toho tagu nedáš. Tímhle tím se dá všechno překlopit na nějakou finanční částku a ať to tak klidně dělají, já jsem jedině rád, že ta komunita nějak žije a já se jim snažím pomáhat. Když mě někdo kontaktuje, tak to třeba otestovat, zjistit, kde tam má chybu, poradit, nebo i přidat a stalo se to mnohokrát, přidat do hry novou fíčuru. Viz. třeba pro Hračičku otevírání dveří v zastávce a podobně, jako těch fíčur tam vzniklo více. Často jsem měl v Transport Tycoonu takový roleplay, že jsem si třeba postavil ostrov a tam jsem si postavil vilu, udělal cestičku jen k molu a tam jsem třeba zastavil jachtu, že jsem tam poslal loď a tam jsem ji stopnul u mola a měl jsem jakože svůj ostrov a hrozně mě to bavilo. Já bych vlastně tohle to chtěl co nejvíce podporovat i v Mashinkách, viz třeba nádraží, kde si ho můžeš různě dekorovat. Když se vrátím k tomu, tak právě tohle hýření je super, ale na druhou stranu, když ty peníze vyděláš jedním typem průmyslu a za celou hru už žádný jiný nepotřebuješ, tak z té hry jsi toho moc nepoznal. Právě mi přijde takové to vytížení té tvé dopravní sítě různými průmyslovými řetězci, který každý potřebuje jinou trasu, tak to je na tom to nejzajímavější. Ty můžeš pro každý vlak vytvořit samostatnou trať a ta hra tě neomezuje, můžeš to tak klidně dělat. Ale ve chvíli, kdy začneš ty tratě sdílet, tak teprve pak ta hra exploduje v té složitosti, co se tam dá dělat a jak se to dá optimalizovat.

Michael: Já jsem si potom sám pro sebe tak přišel, že od doby, kdy jsi tam přidal autíčka, tak je jednodušší začít vydělávat auty, protože ty cesty jsou levnější, tím že můžeš využít silnice, které již existují, a když tím trošku vyděláš, tak tam pak můžeš postavit trať a tím vlakem převážet víc.

Honza: No, já mám jednu unikátní fíčuru, kterou už můžu zmínit, nikde jsem o ní ještě nemluvil a pak ti řeknu, protože se v příštích týdnech dozvím, jestli ji nevystřihnu, ale souvisí to s těmi auty. Ty vlastně když začneš třeba MHDčkem ve městě, pokud je to město dost velké, abys tam postavil dvě vzdálené zastávky a ty autobusy ti už vydělávaly, tak pak, když přejdeš na ty vlaky, když už si něco vyděláš, tak ti tam ty autobusy spíše škodí, protože ve chvíli, kdy je autobusová zastávka a vlakové nádraží, tak ti ten autobus pokaždé pobere těch třeba 8 lidí a vlastně ti ubývají z vlaku, který jel přes půl mapy a měl teprve vydělat ten balík peněz. Tak tohle se dost možná změní, teď jsme v takové fázi testování, jestli to bude fungovat. V podstatě se jedná o passenger destination, že v tu chvíli, kdy každý cestující ví, kam chce, tak ti naopak to MHDčko obrovsky pomáhá a vysloveně ti z města sváží do toho nádraží cestující. Aby se nestalo, že tím, jak ty spoje pořád měníš, tak aby ten cestující uprostřed cesty nezjistil, že se nedostane do cíle. Tak každý cestující, který někde vystoupí, tak zaplatí za to, co ujel. To je jako by ses vydal do Plzně a musel nejdříve po Praze MHDčkem, tak už ale zaplatíš za to MHDčko, neplatíš za celou tu trasu. On vystoupí, ale neodejde a zůstane na tom místě a chce dál, pokud ten spoj existuje, tak si na něj počká, pokud ten spoj od toho místa, kde vystoupil, pokračuje tam, kam potřebuje. Pokud spoj zanikne, tak tam ten cestující chvíli stojí, nakonec to vzdá a odejde, takže o něj přijdeš. Ten systém se zatím jeví poměrně, z mého pohledu, robustní, ale zatím tomu jiný pohled chybí, takže jsem zvědavý, co na to další lidi řeknou. Že jsi to zmínil, tohle by třeba tomu MHDčku pomohlo.

Michael: Tohle zní super, to by třeba fungovalo i tak, že když vlak jede s cestujícími přes více stanic, tak ne všichni vystoupí na té první, na které zastaví?

Honza: Je to tak.

Michael: To byl jeden z mých největších problémů v Transport Tycoonu, že vždycky když už jsem měl strašně moc peněz, tak jsem postavil vlak, který jel přes celou mapu, ale vždy vyložil cestující na první stanici, takže pak jel prázdný.

Honza: Přesně… Jako tady se bude dlouho ladit distribuce toho, když se ti vygeneruje panáček na zastávce, tak kam on vlastně chce. Ve chvíli, kdyby vždycky chtěl na to nejvzdálenější místo, na začátku hry by to byl strašný problém, protože ho tam nemůžeš dostat a zároveň na konci hry, když by jich chtělo hodně jen po městě, protože i v rámci toho MHDčka se ti může stát, že on chce jen na zastávku, kde jezdí vlaky, ale on tam končí, protože opravdu chtěl jenom sem. Tak ta distribuce je ještě věc, kterou ladím. Je třeba daná i velikostí destinace, jakože do většího města budou více lidé chtít, ale zároveň z malého města se jich vygeneruje méně, kteří tam chtějí. Naproti tomu z toho velkého města se generuje více lidí, ale míň z nich chce do toho malého města, takže ten poměr je takový zhruba stejný na obou stranách, ale daný jiným principem. Ale je to hezké, mně se hrozně líbí pak sledovat, samozřejmě tam nevidíš jednotlivého panáčka, protože tam se nesnažím jít až do takových detailů, ale vlastně by sis ho tam mohl snadno představit, protože každý z nich tu informaci má. Třeba nastupují a vystupují, většinou po nějaké skupině podle toho, kolik jich chce zrovna vystoupit, kolik jich chce pokračovat dále, kolik jich chce nastoupit. Spolu s tím přibyde i nějaká vizualizace vytíženosti těch tras, abys dokázal optimalizovat třeba, že ti lidi chtějí na ten vlak, ale nejezdí jim autobus dost často, aby se na ten vlak dostali. Tohle tam pak půjde snadno řešit.

Michael: To byl takový můj ultimátní sen, postavit trať, která objede všechny nádraží, co jsou na mapě, ale vlastně všechny je vyklopil v tom prvním.

Honza: Tady by to šlo, ale záleží, jak je to optimální, protože měli by se lidi rozhodovat i podle počtu zastávek, který ten vlak ujede a funguje to do té míry, že vlastně, když jede nějaký courák po všech, jak ty zmiňuješ, a pak je tam nějaký rychlík, který tady nezastavuje, ale zastavil o zastávku dříve a jede pak už rovnou do cíle, tak si i ten cestující jednu zastávku couvne, tam vystoupí a tam počká na rychlík, který ho tam hodí rychle. Takže i tohle si tam spočítají a využijí toho, že nejedou tím courákem, ale udělají maximum, aby přeskočili na ten rychlejší spoj. Takže uvidíme. Jako ono tenhle systém jsem de facto zvažoval. Byl tam nějaký základ na to, ale pořád jsem passenger destination nemohl implementovat, protože jsem nevěděl, jak to v uživatelským rozhraní zobrazit, když máš zastávku a čeká tam 500 lidí a čekají na 60 různých stanic/destinací a to se držím ještě hodně zpátky, tak jak vlastně v té zastávce vypsat těch šedesát stanic. To je fakt hrozné, já bych tam opravdu nechtěl dělat takovýhle tabulkový procesor. No a nakonec jsem v jednu chvíli došel k osvícení a to je přesně to, že každá fíčura musí nějak uzrát, často s pomocí komunity, že ve chvíli, kdy označím tu stanici a tam čeká těch 500 lidí, tak ti to nevypíše kam kdo čeká, ale na mapě to zobrazí počty přímo na těch destinacích, takže nad každou stanicí se objeví sem chce 100 lidí a sem chce jenom 20 a támhle chce čtyřicet. Podle mě je to nejintuitivnější, pokud chceš tyhle informace, tak způsob jak je získat. Pokud je nechceš, tak spojuješ všechno se vším a pak jenom sleduješ, kde ta trasa je přetížená a kde je nevyužitá a podle toho teda jeden autobus nebo vlak přesměruješ, nebo koupíš nový.  Takže uvidím, ale hlavně se těším na feedback hráčů, jestli to třeba má cenu, určitě to bude volitelné. V současné verzi to dokonce lze vypínat a zapínat při hře, tak uvidíme, jestli se to setká s oblibou.

Michael: Tak já ti teda děkuji, že jsme se mohli potkat a doufám, že se ti vydaří ta sedmá etapa.

Honza: Jo, moc děkuji, taky doufám. Hlavně ať splním to, co jsem nasliboval, protože to by mohla být dobrá hra, ale práce je tam teda hromada.

Michael: Tak děkuji.

Honza: Taky děkuji.

Mashinky

Michael Petr

Otec dvou dětí přes den a hráč přes noc.

Komentáře

Sdělte nám svůj názor

Zatím žádný komentář.

Související články