Skriptér z Warhorse: Propojujeme všechna oddělení z herního vývoje

Feb 02, 2021

3 mins

Skriptér z Warhorse: Propojujeme všechna oddělení z herního vývoje

Na moderních videohrách dnes pracují velká studia a rozpočty na vývoj mnohdy přesahují ty filmové. Někdo se stará o animace či grafiku, jiní zase píší scénář a další programují technologie. Každý ve finále přispěje kouskem k finálnímu dílku, kterým je výsledná hra. Jedno oddělení ve studiu ovšem přijde do kontaktu téměř s každým – jsou to skriptéři. O specifikách této profese jsme si popovídali s Janem Smejkalem, který do Warhorse nastoupil krátce po založení firmy.

Když se řekne herní skriptér, co si pod tím lidé mohou představit?

Naším úkolem je naprogramovat obsah, tedy přímo samotnou hru. Musíme například rozhýbat postavy, přidělit k nim rozhovory, dostat do herního světa život i nad rámec questů a jednotlivé aspekty opodmínkovat. I kdyby hráč naši hru zapnul, ale s nikým a ničím neinteragoval, tak ten svět musí nějakým způsobem sám o sobě fungovat. Například, že obchodník půjde do svého obchodu, otevře, vyloží zboží, stráví tam celý den, večer zavře, jde do hospody, která nějak funguje, a pak jde spát. To je taky naše dílo.

To, co se bude dít ve hře, vymýšlíte také vy?

To mají na starost zejména designéři, se kterými jsme v úzkém kontaktu a navzájem se ovlivňujeme. Designéři vytvoří nějaký úkol či misi, dají dohromady příběh a dialogy a rozhodnou, co kde bude moct hráč dělat a jak na to má hra reagovat. Jiní designéři zase mají na starosti různé podsystémy, jako je třeba systém strážných nebo náhodné eventy. My poté jejich vizi přeneseme do hry. Samozřejmě do toho také vstupujeme, buď je technologicky limitujeme nebo naopak říkáme, že je možné ještě něco přidat. Zčásti se staráme i konzistenci designových přístupů napříč všemi misemi. Podle mě musí být dobrý skriptér také dobrý designér, protože musí poskytovat zpětnou vazbu a ve spolupráci s designérem vychytat nedostatky, případně přidat pověstnou jiskru v oku a třešničku na dort, pokud to technologie a čas umožňují.

Zmiňoval jste programování, na jaké úrovni je třeba ho umět?

Čím více člověk umí programovat, tím samozřejmě lépe. Ovšem myslím, že stačí umět nějaké to základní programátorské minimum, co se lze naučit i sám. Sice jsou programovací jazyky různé, ale ta jejich základní podstata je všude stejná. On herní vývoj je celkově specifický a s technologiemi, s jakými se tu pracuje, se člověk jinde málokdy setká. Tudíž programování hry se moc ani dopředu naučit nedá, ne formálně. To nejlepší vzdělání je stále takové to domácí kutilství v dostupných herních editorech nebo herní modding. Pracujeme například s jazykem Lua a behaviorálními stromy, což jsou zjednodušeně takové krabičky, které se navzájem propojují, čímž si předávají data nebo se navzájem spouštějí. Jelikož mám zázemí z ČVUT, tak jsem se s tím lehce setkal. Podobné nástroje se používají například v automatizačních systémech výrobních linek apod.

image

Takže neplatí to, že čím lepší programátor, tím lepší skriptér?

Bezpochyby bude efektivnější kodér, ale není nutně lepším skriptérem. Cílem je vždy vytvořit ne nutně nejefektivnější program, ale co nejzábavnější a z hlediska rozbitelnosti co nejrobustnější hru. Skriptér tak musí mít také nějaké herní cítění a questy a systémy v průběhu vylepšovat. Já jsem první dva roky ve Warhorse dělal právě v designovém oddělení, než jsem přešel ke skriptu, protože mě programování vždy táhlo. Práce skriptéra není moc o tom, že dostanu dokonalý design dokument, k němuž není výtky, pak se můžu sám zavřít v temné místnosti a dodat po dvou týdnech výsledek.

Je to hodně o komunikaci, iterativním vylepšování, korigování jiných týmů a společné práci. Mám třeba zkušenosti s technicky velmi zdatnými skriptéry, kteří zvládnou udělat quest dvakrát rychleji a technicky na výbornou, ale výsledek se pak mnohokrát přepracovává, protože designér nepromyslel návrh dostatečně a neměl ve skriptérovi kvalitní oponenturu. Více techničtí skriptéři se pak zase ideálně hodí na technické specializace, jako je programování crime systému, základní simulace světa a jeho osazování jednotlivými prvky, nebo ohromné množství podpůrných technologií pro soubojový systém.

A jaký je tedy rozdíl mezi skriptérem a programátorem?

Programátoři vytvářejí základní technologii (engine), díky které hra vůbec běží, a také nástroje pro vývoj. Programátoři řeší fyziku, renderer (to znamená, jak se vykreslují věci na obrazovce), animační systém, systémy umělé inteligence, user interface, navigační systém, zvukový systém, jak vůbec celá hra pracuje za běhu s tou ohromnou horou dat , dělají např. i dialogový systém atd. Obecně se dá říci, že až na výjimky nedělají hru jako takovou, ale „jen“ technologii. Ovšem jakmile je něco velmi výpočetně náročné, je lepší to napsat v jejich jazyce C++, který je tzv. „blíž železu“. Do Kingdom Come: Deliverance tak třeba vytvořili bojový systém, nebo alchymistickou minihru.

Co podle vás musí dobrý skriptér umět?

Tak nějak rozumět všemu, ale zase ne nutně tak moc. U nás se spojují dohromady výsledky práce ostatních oddělení z firmy – od programátorů, grafiků, animátorů, designérů nebo týmu dělajícího cutscény. Snad jen zvukaři od nás mají pokoj, povětšinou. Naše práce je tak hodně i o komunikaci a umí být psycho-sociálně náročná. Určitě je vhodné nebýt úplně solitérský konfliktní buldozer, ale ani ostýchavý antisociál, protože v této profesi je potřeba hodně dialogu napříč odděleními. Se všemi musíme vyjednávat a dodat do hry co nejlepší řešení. A právě to se mi na tom líbí, protože naše práce je ve výsledku to, co hráč hraje.

Máte zájem přidat se do týmu Warhorse Studios na pozici skriptéra? Zrovna nabírají!