Hlavní stránka Multimédia Hry a zábava Ze zákulisí vývoje počítačových her 2.
Ze zákulisí vývoje počítačových her 2.
autor: Aleš Ulm , publikováno 2.8.2008
Seznam kapitol
1. Letem světem vývojářským týmem
2. Programování pro začátečníky
Ze zákulisí vývoje počítačových her 2.

Takže, kde jsme to minule skončili? Aha, jistě. Náš úžasný projekt má zelenou. Podařilo se nám zajistit finance, nějaká ta preprodukce už je hotová a tým nedočkavě čeká, aby všechny ty skvělé nápady začal přenášet do reality. Vidina vlastních tropických ostrovů a renomé hodného rockových hvězd je téměř hmatatelná. Tedy vzhůru do práce...


Prohlídku zakončíme u skriptařů, kteří, ať už to zní sebepřekvapivěji... skriptují. Část z nich budou nepochybně přímo designéři, protože schopnost rychle sám implementovat a otestovat vlastní řešení je pro ně nesmírně důležitá. Návštěva chce ale o skriptování vědět víc, takže jí samozřejmě vyhovíme.
Ze zákulisí vývoje počítačových her 2.Velká část kvalitních enginů má nějaký skriptovací jazyk a to buď vlastní nebo častěji některý rozšířený a volně využitelný (Lua, Python). Návštěva se podivuje. Před chvílí jsme si řekli, že vývoj enginu probíhá obvykle v C++. Proč tedy situaci komplikovat přidáním nějakého dalšího jazyka? Odpověď je snadná. Paradoxně právě proto, abychom vývoj hry zjednodušili. Programovací jazyk, ve kterém vzniká engine, je nesmírně silný a komplikovaný nástroj. Každou z funkčností je možné implementovat celou řadou různých méně či více vhodných způsobů (proto jsou některé enginy pomalé a některé rychlé). Zvolené řešení musí být kompatibilní se zbytkem enginu, který je vnitřně značně provázaný. Pro většinu problémů navíc neexistuje jednoznačně nejlepší řešení a i kód, který na první pohled dělá, to co má, může způsobovat chyby, které se často projevují na nečekaných místech.

Zdá se to komplikované? Ano, nepochybně. Proto je výhodné tohle všechno nechat řešit pouze programátory enginu a při nastavování toho, co se ve vlastní hře děje ("když zmáčknu tohle tlačítko, otevřou se támhlety dveře") mít k dispozici něco, v čem se dá udělat opravdu jen to, co k přípravě obsahu hry potřebujeme. Je to sice svým způsobem omezující, ale přináší to nesporné výhody. Výsledný kód - tedy skript - je výrazně přehlednější, protože místo volání složitých funkcí v něm mohou být jednoduché příkazy typu MoveCharacter(postava,cilova_pozice,cilova_rotace).

Ze zákulisí vývoje počítačových her 2.Skriptař prostě zavolá tuhle funkci a o věci typu animování postavy při chůzi, pathfinding či řešení kolizí se nestará – to vše už se řeší na podstatně rychlejší úrovni enginu. Zjednodušení syntaxe jazyka znamená menší množství chyb, které se navíc snáze odhalují. A díky jednoduchosti skriptovacích jazyků mohou obsah hry skriptovat beze strachu i designéři nebo grafici.

Návštěva je celkem spokojená. "Takže v tomhle složení děláte na hře v klidu ten rok a půl či dva, pak ji odevzdáte a už jen napjatě sledujete, kolik hvězdiček kde dostane?" No... ještě jsme návštěvě vlastně nevysvětlili princip milestonů...

 

 

Noční můra jménem Milestone

Protože vývoj hry stojí nemalé peníze, je poměrně logické, že si publisher svou investici hlídá. Chtěl by, aby hra byla hotová ve slíbeném termínu, obsahovala všechno, co jsme při jejím vychvalování naslibovali a ideálně ještě víc. Proto jsme se museli při podpisu smlouvy uvázat k plnění jistého harmonogramu. Jeho součástí jsou tzv. milestony - termíny (často s odstupem jednoho měsíce), ve kterých budeme muset odevzdat část hry, která je popsána ve smluvě. Z počátku to mohou být hrubá data, první verze ovládání, smluvený počet nových postav, lokací atp. Ze zákulisí vývoje počítačových her 2.Ke konci už to bude hlavně alfa a beta verze, ruzné verze release candidates a finální goldmaster - vymodlené DVD s finální verzí hry, která se posílá do lisovny a na kterou je obvykle vázána významná část finančních prostředků určených na vývoj. Každý milestone (resp. jemu odpovídající verze) se pošle publisherovi a pokud je jím schválena, je – resp. by měla být - vývojáři proplacena smluvená částka. Pokud není publisher spokojený, verze se předělá/dodělá a pošle znovu. A tak dokola.
Problémem je ovšem skutečnost, že je téměř nemožné nedostat se do menšího či většího časového skluzu, který se pak nabaluje a vyústí v pozdější vydání hry. Je opravdu jen minimum vývojářů, kteří se mohou pochlubit tím, že by vždy stihli všechny milestony a jejich hra vyšla v původně stanoveném termínu.

Jak je to možné, ptá se návštěva. Přece na začátku víme, co všechno musíme udělat, harmonogram jsme odsouhlasili a když nebudeme líní, nemůže výrazné zpoždění nastat...
Může a často taky nastane - z mnoha různých důvodů. Pracuje se s neustále se rozvíjející se technologií. To, co v době podepsání smlouvy představovalo technologickou špičku a objevovalo se v demech výrobců grafických karet, je při dokončování hry už často featurou, která se ve hře tak nějak očekává. Pokud jste kdysi v projektu počítali na vodní hladinu jen s primitivním odrazem falešné oblohy a mezitím se začaly masivně objevovat hladiny zobrazující reálné reflexe objektů ve Ze zákulisí vývoje počítačových her 2.scéně, budete je chtít ve hře taky - a co teprve váš publisher. Jasně určit, co je dobré ještě implementovat i za cenu jistého zdržení a co už zavání nekonečným vylepšováním a v důsledku tedy další hrou s přídomkem „Forever“, je jedno z těch těžších rozhodnutí.
Často se aktuální technologie ukáže být nedostatečná a zásah do enginu bude mnohem větší, než se čekalo. Řekněme, že jste počítali, že hlavního hrdinu budete sledovat z nadhledu pod jistý daným maximálním úhlem. Při testech se ukáže, že hra je mnohem zajímavější, když je kamera sklopená více za zády. Proč hráči neumožnit podívat se do dálky? Protože tahle na první pohled nevinná úprava může znamenat, že se vám do pohledu kamery najednou dostane řádově o desítky až stovky tisíc polygonů víc, než jste počítali a co to udělá s plynulostí hry je zřejmé. Pokud k takové výrazné změně v průběhu vývoje "dobrovolně" přistoupíte, strávíte na dodatečných optimalizacích a řešení průběžně se objevujících problémech enormní množství času.

Změňte tohle, tamto … a kde že je to video?

Často se do skluzu dostanete i díky přímým požadavkům publishera. Komunikace s ním může mít různé podoby a různé stupně porozumění, ale s velkou pravděpodobností po vás bude požadovat změny a úpravy, ze kterých nebudete příliš šťastní. Budete x-krát sahat do hotových animací, měnit textury a upravovat modely. Někdy nakonec uznáte, že výsledku to prospělo, jindy budete považovat provedené změny za ztrátu času. Publisher je ale ten, kdo platí, takže...
Ze zákulisí vývoje počítačových her 2.V průběhu vývoje po vás navíc bude vydavatel poměrně často požadovat nějaké nové PR materiály - od screenshotů (vždy musí být unikátní, protože tentokrát jsou přece pro web XY), přes teasery, trailery až po hratelné verze pro interní prezentace partnerům. Pokud je podobných požadavků více, což se děje především před velkými veletrhy typu E3 a GDC a vaše společnost je menší, může být vlastní vývoj hry přípravou zmíněných materiálů na jistou dobu výrazně zpomalen nebo i částečně paralyzován. Nabrat větší množství použitelných screenshotů totiž netrvá pár minut, k připravení hratelné ukázky hry nestačí říct "jasně, jen udělám exáč z aktuální verze a pošlem to" a k vytvoření traileru je třeba víc, než pustit videozáznam a dvě minuty hrát.

Návštěva soucitně přikyvuje. Za odměnu, že nám tak pozorně naslouchala, ji vezmeme jí do zasedačky na kafe (základní to atribut vývojářského studia). Je zřejmé, že by se ještě chtěla na pár věcí zeptat, takže jí ušetříme námahu, nadechneme se a řekneme jí rovnou deset věcí, které chtěla vědět o vývoji her, ale bála se zeptat. Ale až příště - musíme jí nechat trochu vydechnout :)

Obrázky zdroj www.igda.org



Tagy: Vyvoj  pocitacove hry  pruvodce  


 
Komentáře k článku
RSS
Pouze registrovaní uživatelé mohou přidat komentář!
2.8.2008 13:45:35   213.168.183.xxx 1713
Skvělej článeček...
2.8.2008 14:08:33   81.201.54.xxx 2711
Jj taky chvílím. Super článek. A vůbec se nedivím, že jakákoliv změna není vítána :-) Pracuju jako konstruktér a kdykoliv se má něco měnit v téměř hotový věci je opravdu k nas*ání. Nakonec to může být lepší, nebo naopak horší.
2.8.2008 17:38:24   85.207.241.xxx 1517
Delam prumyslovku v oboru strojirenstvi se zamerenim na graficke systemy a musim naprosto souhlasit, kdyz jsme tedko navrhovali prevodovku do nejakeho mlyna, meli jsme tam kuzelikova loziska. Jeden ucitel (ne zadavajici) nam rekl, ze se tam davaj jednim smerem a kdyz jsem mel relativne hotovo, konzultoval jsem se zadavajici profesorkou a ta mi rekla, ze se maj dat naopak, z cehoz vyplyvalo predelani komplet distancnich krouzku a trubek, upravit vicka, cast skrine, dosedy na hridelich, ... Proste k nasrani
2.8.2008 20:40:43   81.201.54.xxx 1212
Naprosto s tebou soucítím. Ve škole jsem to měl to samý :-) A teď v práci taky :-) A teď si představ předělávat něco jinýho než "jen" převodovku :-D
4.8.2008 05:48:34   194.213.35.xxx 913
Jo jo holoubci, strojařina to je řehole.
4.8.2008 13:43:19   194.213.42.xxx 119
:-D
2.8.2008 14:25:02   88.146.180.xxx 1313
Myslíte že by běžný smrtelník jako já, dokázal sám narogramovat (se správnými znalostmi) běhající 3D postavičku(jako bývá v RPG a aby se dala ovládat)?
2.8.2008 14:34:04   80.250.11.xxx 1411
Jistě. ne za dva dny, ale šlo by to. horší by bylo pracovat sám na fyzikálním modelu, umělé inteligenci nebo tisícovkách textur a modelů.
2.8.2008 14:51:13   88.146.180.xxx 1316
Jo sese spravnymi znalostmi se to da spachat za 14 dni mozna mene.
3.8.2008 10:12:11   78.102.54.xxx 1612
Kdyz se ptas, tak asi ne (:
3.8.2008 11:11:26   80.87.222.xxx 1212
Je vyvoj hier vobec rentabilny a mozno to povazovat za vysnivanu pracu? Ked tak citam tento text a ked vezmem do uvahy, ze napr. Flatout Ulimate Carnage este ani nevysiel a uz su ho plne torrenty a rapidy, vychadza mi ze nie.

O tropickom ostrove asi mozu snivat iba vyvojari AAA titulov.
3.8.2008 14:39:39   91.127.50.xxx 1311
"a mozno to povazovat za vysnivanu pracu?"

Tak za vysnívanú prácu určite, lebo napriek všetkým prekážkam a nízkemu ohodnoteniu je vždy lepšie ak robíš to čo ťa baví.
A o tropickom ostrove môžu snívať všetci vývojárí, napríklad autor hry audiosurf. Robil natom sám, tá hra sama o sebe nie je až taká zložitá, ale zarobila milióny. Ide o to, či sa hra podarí alebo nie. Torrenty tu už nejakú dobu sú a predtým napríklad fungovalo požičiavanie CD a diskiet, takže situácia je stále rovnaká. Ide len o to, mať aj trochu šťastia.
3.8.2008 19:57:54   85.71.0.xxx 1414
Chci rict jen to, ze chapu, ze je okurkova sezona ...ale je potreba psat dva clanky na tema jak to maji vyvojari tezke?
Jsem konstrukter takze vim co to jsou terminy..vim co jsou to priblble pozadavky manageru, kteri o problemu povetsinou vedi h...
Ale zda se mi, ze psat nekolik prazdnych odstavcu jak jsou na tom vyvojari spatne (nemluve o penezich..coz je a neni pravda - otazka k cemu to je vztazeno) je trochu mdle. Na druhou stranu sklanim poklonu autorovy clanku co vymackne ze strucneho kratkeho odstavce, ktery by rekl vse. Neurazim praci vyvojaru (programatoru atd..) jen se mi zda, ze takhle by se mohlo psat o kazde profesi. Bohuzel clanek je jinak velmi povrchni (takrikajic vycucan z prstu
3.8.2008 20:05:09   195.70.139.xxx 1111
Vikendove clanky maji byt pohodove cteni, u ktereho se clovek odreaguje. Tema o vyvoji her mi prislo zajimave, protoze velka cast ctenaru se zajima hlavne o graficke karty a vykon PC z pohledu hrace.
4.8.2008 06:31:17   82.150.185.xxx 1011
Jo to chapu jen nechapu proc tak povrchne....je to jak plac na spatnem hrobe. Kdyz si prectete posledni tri odstavce tak zjistite ze je to tlachani o nicem s par slovickama typu "COOL", aby se tomu dodalo grady..proto pisi, ze pro tenhle server je to trochu lacine(neco na urovni prvnich recenzi p.Obra). Ovsem jak jsem rekl sklanim poklonu..protoze ja bych takhle tlachat (jako manageri) neumel.
4.8.2008 13:41:43   194.213.42.xxx 1012
No, a kdyby v článku bylo to, jak se "doopravdy vyvíjí hry," resp. to co programátoři doopravdy dělají, tak si tento článek nepřečte tady na PCT skoro nikdo. Každý zkusí dva odstavce, zjistí že tomu nerozumí a zavře to. Ja říkáš: "jen se mi zda, ze takhle by se mohlo psat o kazde profesi" - tak kdyby se zaměřil na to, co je pto programátory specifické a co je hlavní náplň jejich práce, tak to mu nikdo nerozumí. A to, že publisher si navymýšlí spoustu věcí navíc a o jejich proveditelnost, resp. časovou náročnost se nestará, to je známá věc a nezmánit to tady, tak se může i lidem zdát, že to je skvělé "jen zábavné" a úžasné povolání...
4.8.2008 14:42:20   80.95.102.xxx 1012
"...protoze ja bych takhle tlachat (jako manageri) neumel." - tak mala napoveda :-)
BIZ200805_cernypetr.pdf
3.8.2008 20:05:42   89.24.255.xxx 1110
Jinak nevýte někdo jak u Asasin screed nastavyt vyhlazování a AFko? díky...
4.8.2008 05:57:19   194.213.35.xxx 1014
Můžete doporučit ?

Jinak jsme vyvíjel technologický engine pro zobrazování měřených dat v podobě 3D.
Umí komunikovat přes různé ovládače a nastavovat vnitřní proměnné, to má za následek změny proporcí objektu, barvy, vertexů apod., úspěšně byl nasazen.
Něco mám o tom tady:

http://www.visualprog.cz/RealityFactory/TechnoEngine.htm
http://www.visualprog.cz/RealityFactory/TechnoEngine1.htm
http://www.visualprog.cz/RealityFactory/TechnoEngine2.htm
http://www.visualprog.cz/Gallery/ArtGallery.htm

5.8.2008 14:36:08   89.124.8.xxx 912
To ste programoval vy? Propana, pane, co to je za kombinaci - OpenGL a C#? Nerikam, ze to je spatne reseni, jen me nenapadlo, jak nekdo muze programovat OpenGL - akcelerace ktera je obvykle pouzivana na Open Source (nebo aspon BSD) aplikace, treba pomoci freeglut/SDL atp. A do toho primichar C#? Takova hrozne proprietarni a microsofti zalezitost? Mylsim ze v normalnim cistem C++ by ste to mel mnohem lepsi...
7.8.2008 08:16:47   194.213.35.xxx 96
Techniky použité v C# pro OpenGl jsou výkonově srovnatelné s C++ , navíc infrastruktůra okolo, se příjemněji programuje.
Navíc se nebude až tak jednat o herní engin ale o prostudování možností.
5.8.2008 14:39:28   89.124.8.xxx 109
Dik za peknej clanek! Fakt supr!
Zatim jsem jen studentskej/hobby vyvojar, ale i tak musim rict ze to neni zadna prdel

Redakce si vyhrazuje právo odstranit neslušné a nevhodné příspěvky. Případné vyhrady na diskuze(zavináč)pctuning.cz

259 čtenářů navrhlo autorovi prémii: 127.9Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.