Hrej.cz Článek

Naši v zahraničí - Tomáš Blaho

marek-cerny
Marek Černý
4. 4. 2019 13:40 4 Sdílej:
Reklama
Reklama

Prvním hostem seriálu „Naši v zahraničí“ je programátor Tomáš Blaho. Začal v Illusion Softworks na Mafii a zůstal tam až do začátku vývoje Mafie 3. Následně odletěl na rok do Leamington Spa pracovat pro Playground Games, poté přiletěl do Warhorse, a dnes pracuje externě pro Moon Studios. Vyzpovídali jsme ho ohledně doby, kdy vyvíjel hry v Anglii.

Jak ses dostal k programování a hrám?
Hry na počítačích nebo arkádových automatech mě bavily už od malička. Ostatně jako všechny kolem mě. Nic moc jiného tenkrát nebylo. Když jsem asi v deseti dostal pod vánoční stromek ZX Spectrum+ z druhé ruky, byl k němu i původní anglický manuál s pár programy v jazyce Sinclair BASIC.
Textu jsem samozřejmě nerozuměl, ale podle doprovodného obrázku jsem věděl, jaký má být výsledek. Učil jsem se ty nejjednodušší z nich zpaměti, abych je ve škole přepsal do PMD 85 a oslnil spolužáky. Po nějaké době jsem začal vymýšlet vlastní. Byl jsem takový prototyp počítačového „geeka“. Obtloustlý, málo sportu nebo socializace v kolektivu, neustále u počítače. A protože nebylo co hrát, programoval jsem.

Jaké jsou tvé oblíbené hry?
Obecně nejradši hraju žánr RPG (série Gothic, Risen, Elder Scrolls, Mass Effect, Baldurs Gate apod.) Měl jsem taky období MMORPG, kdy jsem hrával nejdříve Ultimu Online a na dlouhé roky pak propadl World of Warcraft. Ale teď už sem několik let „čistej“ a věnuju se primárně práci nebo rodině.

Bylo to pro mě spousta „poprvé“. První koktavý pohovor po Skypu, kdy dávka alkoholu nepomohla od nervozity právě tak, jak jsem si představoval.

Proč jsi jel do zahraničí a proč zrovna do Playground Games?
Vývoj her pod hlavičkou Illusion Softworks a následně 2K Czech nebyl vůbec snadný. Za skoro 12 let jsme jich horko těžko vypotili jen pár. Podobně jako většina vývojářů bez zkušeností z více firem jsem měl pocit, že někde jinde to umí určitě mnohem líp. Původně jsem mířil na Crytek, ale dokončili zrovna Crysis 2 a nikdo mi na můj životopis ani neodpověděl. To jsem ještě netušil, že si jejich engine užiju za 6 let ve Warhorse do sytosti. Zkoušel jsem to pak přes „head huntera“ a ten by za mě v Cryteku, který už o mně věděl, nedostal tučnou odměnu několikanásobku měsíčního příjmu, a tak se mě snažil přesvědčit pro jiná studia. Absolvoval jsem tedy kolečko několika přijímacích pohovorů do různých studií v UK. Některá po Skypu, jiná osobně. Bylo to pro mě spousta „poprvé“. První koktavý pohovor po Skypu, kdy dávka alkoholu nepomohla od nervozity právě tak, jak jsem si představoval. První řízení půjčeného auta v UK, kdy jsem teprve cestou poznával, jak se jezdí na levé straně s volantem vpravo a jaká jsou místní pravidla kruhových objezdů. A např. i první vyjednávaní o platu, kdy jsem pochopil, že nesmím přiznat skutečnou výšku českého platu. Ačkoliv totiž nabídka na pozici zněla třeba 60 až 80 tisíc liber ročně a člověk by se rád spokojil „jen“ s 60ti, nikdo vám nechce přidat víc jak 20% proti stávajícímu platu a ptali se, proč si myslím, že si zasloužím alespoň těch 60 tisíc. Přišlo mi to tenkrát neuvěřitelné. Playground Games bylo vlastně začínající studio v té době s 25ti lidmi a nabízený plat výrazně nižší, ale tým byl plný velmi zkušených a milých vývojářů a pohovor byl proti ostatním docela příjemný. I krásné a čisté prostředí malého města Leamington Spa se mi líbilo daleko víc, než špinavý Londýn nebo Birmingham.

Na vývoji kterých her ses tam podílel?
Pracoval jsem tam rok, takže jsem stihl jen jejich prvotinu nazvanou Forza: Horizon.

Co konkrétního jsi na nich tvořil?
První úkol byl tzv. „Time of Day“ editor. Tedy nastavení vzhledu prostředí pro různou denní dobu (barva slunečního světla, mlhy, oblohy, sklon stínů a mnoho dalšího). Na rozdíl od „běžné“ Forzy, která měla čas zastavený a vše předpočítané pro maximální plynulost 60fps (stíny tratě, odlesky prostředí atd.), byl Horizon kompletně dynamický za cenu zpomalení na 30fps (Xbox 360). S tím následně souvisel můj další úkol, trvající až do konce projektu, a to realistické stíny. Dohled 7 km mi to právě neulehčoval.

V případě malého týmu už je asi vlastní engine spíš utopie, ale i s nějakým tzv. „hotovým“ se většinou narazí na hromadu chyb

Co běžně řeší programátor grafiky u malých i velkých her? Přeci jen máš zkušenost u obou.
Já bych to spíš rozdělil na vývoj v malém nebo velkém týmu a podle toho, jestli se dělá vlastní engine nebo se používá nějaký již existující. V PG nás bylo nakonec 6 grafických programátorů a leccos se převzalo z nástrojů a kódu Forzy, takže jsem se mohl věnovat jen pár problémům, zato se vším včetně nástrojů pro 3DS Max a kompletní uživatelskou dokumentací.
V případě malého týmu už je asi vlastní engine spíš utopie, ale i s nějakým tzv. „hotovým“ se většinou narazí na hromadu chyb, neoptimální implementaci pro specifické požadavky konkrétní hry nebo se tráví čas hledáním správného postupu aktivace nebo využití nějaké funkce/efektu. S tím jsem bojoval jak u CryEnginu ve Warhorse tak teď u Unity v Moon Studios. Dokumentace je vždy příliš strohá, jestli vůbec nějaká, a zkoumání zdrojového kódu takových enginů nebo jeho úpravy, jsou úplně běžné.

V čem byl odlišný vývoj her v Playground Games oproti jiným studiím?
Zásadní rozdíl proti studiím v ČR byl v tom, že byli všichni velmi zkušení. V Codemasters se prostě zvedlo asi 15 lidí, většinou programátorů, co měli za sebou mnoho automobilových her a založili si vlastní studio. Není asi divu, že nakonec dělali zase auta a že jim to celkem šlo. Během roku se rozrostli z 25ti na asi 70 lidi, opět většinou profíků z okolních studií. I tak to ale byla dřina. Paradoxně byl jejich největší problém najít grafiky. V ČR jsem byl zvyklí, že grafiků bylo dost a nedostatkovým zbožím byl vždy programátor.

Jsou někteří vývojáři z oboru, které považuješ za vzor?
John Carmack byla vždy taková moje programátorská modla, ale víc jsem se asi inspiroval od lidí, se kterými jsem na hrách roky pracoval.

Kterých zajímavých inovací v grafice bychom se mohli dočkat?
Raytracing je takový svatý grál všech grafických programátorů. Mnoho efektů, jako odrazy a stíny, se teď realizuje hrozně složitě, a ještě s pochybným výsledkem. Raytracing to ale vše elegantně řeší. Nedávno oznámený standard DirectX Raytracing (DXR) a první řada GPU od NVIDIA, jej konečně přináší hráčům a věřím, že bude za pár let ve hrách úplně běžně.

Co bys doporučil začínajícím programátorům?
Netrapte se optimálním algoritmem, perfektním formátováním zdrojového kódu nebo využitím nejmodernějšího standardu vašeho oblíbeného programovacího jazyka. To si nikdo nezahraje. Rozpracované aplikace nebo hry nikoho moc nezajímají. Dokončení je totiž to nejtěžší a často jsem slýchával, že posledních 20% trvá stejně jako těch prvních 80%. Programování potřebuje čas. Hodně času. Budete muset hodně experimentovat a hledat to, co pro hráče vypadá a hraje se nejlépe. Pokud náhodná čísla fungují alespoň podobně, jako složitá simulace, určitě je použijte. Ušetřený výkon najde uplatnění jinde. Na fantazie o tom, jak tu kterou třídu nebo algoritmus budete používat roky, rychle zapomeňte. Konkrétní hry potřebují konkrétní řešení a obecnost zpomalí jak vás při prací, tak samotný program. Vás většinou bude limitovat cílový hardware a ten bude za pár let výrazně rychlejší, a i očekávaní hráčů se stále posouvají. To vás přinutí dělat věci jinak, než to stačilo v minulosti.

Reklama
Reklama
Reklama
Reklama

Byl detekován AdBlock

Hrej.cz je komunitní web, jehož hlavním příjmem je reklama. Zvažte prosím vypnutí AdBlocku, ať můžeme všem čtenářům i nadále přinášet kvalitní herní zpravodajství, články a videa.

Děkujeme!

Váš tým Hrej.cz