Zpravodajský portál pro moderní generaci, která se zajímá o aktuální dění.
Zajímá tě aktuální dění? Zprávy z domova i ze světa najdeš na zpravodajském webu. Čti reportáže, rozhovory i komentáře z různých oblastí. Sleduj Refresher News, pokud chceš být v obraze.
Kliknutím na tlačítko tě přesměrujeme na news.refresher.cz
Vyzkoušej klub REFRESHER+ už od 25 Kč během prvních tří měsíců 😱
2. října 2021 v 9:30
Čas čtení 15:43
Dominik Vetrák

Programátor z Bethesdy Adam nám vysvětlil, jak vznikají moderní hry a proč se objevují bugy a propady fps (Rozhovor)

TECH
Uložit Uložené

Zkušený programátor Adam Konrád pracoval 4 roky pro Bethesdu a Zenimax. V rozhovoru nám vyprávěl všechno, co potřebuješ vědět o herním vývoji.

Adam Konrád je zručný programátor, který pracoval v herních společnostech jako Bethesda či Escalation Studios. Pracoval i jako nezávislý programátor, kdy vyvinul vlastní hru FPSCORE, a zkusil si i moderování Game Page, přičemž rovněž psal recenze na hry.

Poslední roky strávil v Bethesdě, kde pracoval na Wolfenstein 2, Starfield či TES. V Praze vystudoval SSŠVT a PEF ČZU. Více se o něm dozvíš na jeho vlastní webové stránce.

V tomto článku si přečteš:
  • Jak vypadá práce programátora v Microsoftu a Bethesdě na titulech jako Wolfenstein, Fallout či Starfield.
  • Jak rychle se dá naučit herní programování, pokud již člověk má zkušenosti s programováním.
  • O jakých náročných věcech z hlediska programování her nemají hráči a fanoušci pojetí a proč se v hrách nachází tolik bugů a technických chyb.
  • Proč se občas dějí frameraty, když padá počet snímků zobrazených na obrazovce za jednu sekundu (fps).
  • Co je to herní engine.

Programování jsi také vystudoval. Věděl jsi už tehdy, že chceš programovat videohry?

Rozhodoval jsem se o tom už na střední. Byl jsem velký fanoušek Doom a Quake. S kámošem jsme udělali i fan stránku pro Doom, přičemž tehdy byla akorát ve vývoji trojka. Na základě toho s námi Česká televize udělala i rozhovor.

V té době jsem si přečetl knihu Masters of Doom a o začátcích id Software a vývoji Doom, díky čemuž jsem se chtěl dostat do videoherního prostředí. Pomalu jsem tedy začal pracovat na FPSCORE s Janem Modrákem. Do tohoto průmyslu se spíše dostaneš, když máš za sebou nějaké demo či hratelný projekt.

Kolik vás na FPSCORE dělalo?

Většinu z toho jsem vymyslel a udělal já. Měl jsem nastudován engine z Quake, tak jsme to s Honzou dali dohromady.

Pokud se programátor chce naučit hry, tak do roku by měl zvládnout pohovor v AAA studiu.

Sám jsi to programoval i animoval?

Ze začátku jsem to dělal sám, ale ukázalo se, že prostě nemáš čas či talent naučit se vše o herním vývoji. Díky Honzovi a jeho organizaci jsme však byli schopni dokončit to i s pomocí dalších lidí.

Na Linkedinu uvádíš, že jsi přes dva roky pracoval v České televizi jako moderátor. Co jsi tam dělal?

V ČT jsem však ještě psal recenze a moderoval Game Page.

Adam Konrád
Zdroj: Adam Konrád

FPSCORE jsi v té době programoval přes nějaký engine?

Quake 3 vyšel ve dvou vlnách. Nejprve id Software uvolnil na internet celý zdrojový kód hry, takže jsem FPSCORE začal stavět na tom. Šest let po vydání Quake 3 vydal id Software zdrojáky celého enginu, takže jsem se do něj jako programátor ponořil.

Dokázal bys nějakým jednoduchým způsobem vysvětlit, co je to ten herní engine?

Když člověk chce pracovat s počítačem, v úplném základě potřebuje na práci operační systém (například Windows). Herní engine je tomu velmi podobný. Umožňuje nám dělat věci v herním prostředí. Jednoduše dokáže zachytit ten programátorský vstup a měnit jej na výstup, tedy to, co se děje na obrazovce. Dokáže spočítat fyziku či posílat data přes síť.

Můžeme to parafrázovat tak, že když je jakýkoliv herní vývojář zedník, tak engine jsou vlastně jeho nástroje, díky kterým tu práci z technického hlediska může provést?

Ano. Pointa enginu je, že dokáže rychle vytvořit hru.

Když jsi jako programátor ten engine otevřel, bylo to pro tebe známé prostředí, nebo jsi se v něm všechno musel učit nanovo?

Já jsem v té době ani nebyl nějak velmi zručný a šikovný programátor. Všechno jsem se učil za pochodu. Nejvíce jsem se o programování naučil až během své profesionální kariéry. Ten samotný engine byl napsán v klasickém programátorském jazyce C, takže pokud v něm člověk chce něco vykouzlit, ať už to je C, C++ nebo něco jiného, musí ovládat základy toho jazyka.

V čem jsou jednotlivé herní enginy rozdílné? Umíš vysvětlit, jaký je rozdíl mezi Unreal Engine, Unity či Cry Engine?

Mám zkušenosti s Unity, Unreal Engine a různými soukromými enginy od různých firem. Velmi se liší ve stylu, jak jsou napsány, a v úrovni nástrojů. Z Unreal Engine se stal průmyslový standard, který se dá skriptovat v Blueprintu a kód můžeš napsat v C++. Unity je menší a věci se v něm dají dělat rychleji. V Unity píšeš v kódu C# a je třeba v něm dost věcí dopisovat a řešit.

Jak rychle se dá naučit pracovat v herním enginu na úrovni, že můžeš jít dělat do nějakého AAA studia? Řeč je o programátorovi, který předtím neměl s vývojem her zkušenosti.

Myslím, že velmi náročné by to nebylo, když už umí programovat. Bariéra pro vstup do her je pro zkušené programátory nízká. Pokud se programátor chce naučit hry, do roku by měl zvládnout pohovor v AAA studiu.

Čili naučit se dělat hry v případě, že už ovládám programování, je jednodušší než zvládnout samotné programování, ano? Dalo by se říci, že jde o nějakou nadstavbu?

Nadstavba je vhodné pojmenování. V herním vývoji je spousta triků a věcí, které jsou specifické pro herní vývoj, a při jiném softwaru tě to nezajímá.

Hráč může udělat ve hře něco, s čím jsme nepočítali, nebylo to odzkoušené a může mu proto spadnout i hra.

Řekněme, že máš herní engine, který je stavěn na tvorbu stříleček – FPS (First Person Shooter) a chceš vytvořit jiný typ hry, respektive vytvořit v rámci toho FPS něco, co ten engine neumožňuje, protože se specializuje na úplně jiný žánr. Co je náročnější a déle to trvá: upravit ten engine, aby tuto možnost poskytoval nebo je náročnější následně ten herní mechanismus v upraveném enginu vytvořit?

Myslím, že tvorba toho nového mechanismu v upraveném enginu bude náročnější než samotná úprava enginu. Ten mechanismus se musí dokončit a musí být funkční, aby člověk vlastně zjistil, jestli se to do hry vůbec hodí a zda to funguje tak, jak si představoval. Nejjednodušší by to bylo „nafejkovat“. Tedy, že to, co chceš, v tom enginu sice vytvoříš, ale vůbec na to nemáš ideální podmínky.

Přidej se do klubu REFRESHER+
Základní
125 Kč
Účtuje se jednou za 4 týdny
31,25 Kč / Týden
Přístup k prémiovým článkům
Přístup k benefitům
Méně reklam
150 kreditů každé 4 týdny na nákup benefitů
Roční - 17 %
1 500 Kč 1 250 Kč
Účtuje se jednou za rok
24,04 Kč / Týden
Přístup k prémiovým článkům
Přístup k benefitům
Úplně bez reklam
2 000 kreditů ihned na nákup benefitů
Sdílení článků kámošům a kámoškám
Všechny možnosti předplatnéhoMám slevový kód
Dokončením souhlasím s pravidly a podmínkami portálu Refresher.
Přidej se do klubu Refresher+ již od 125 Kč 25 Kč

Co se dozvíš po odemknutí?

  • Jak v hrách „fejkují“ jistou situaci a mechanismy.
  • Proč vznikají bugy, přičemž často se tomu prostě při vydání hry nedá zabránit.
  • Proč občas nečekaně spadne hra nebo framerate, i když máš nejsilnější možnou konzoli a počítač.
  • Co přesně dělá programátor při vývoji hry a jak spolupracuje s animátorem.
  • Jak řeší konflikty s ostatními programátory, kteří mu chtějí upravit kód podle vlastních představ.
  • Jak funguje portování hry na jinou platformu, například z mobilů na Nintendo Switch.
  • Zda se mu snadněji vyvíjely hry pro Playstation nebo Xbox a proč.
Dočti článek již od 125 Kč 25 Kč
Máš již předplatné?
Přihlásit se
Dočíst článek
Poslat sms
Pošli SMS na 90211 s textem CLANEK 103525 a dočti tento článek.
Cena SMS za otevření článků je 89 Kč s DPH. Jak to funguje?
Odemknutí přes SMS
Tenhle článek
Poslat sms Jak to funguje?
Všechny články za měsíc
🤩 Pouze 36 Kč navíc
POSLAT SMS Jak to funguje?
Po odemčení získáš
Přístup k prémiovým článkům
Přístup k benefitům
Např.: 30 % zľava na ročné predplatné Rejoy , 20 % sleva na nákup v The Streets nebo Sleva 500 Kč při nákupu nad 1 250 Kč na lolipop.cz
Zobrazit všechny (9)
Domů
Sdílet
Diskuse