Sem vložte zadání Vaší práce.
České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství
Bakalářská práce
Terra Incognita I - Analýza technologií Martin Brázdil
Vedoucí práce: Hunka Jiří Ing.
18. května 2012
Prohlášení Prohlašuji, že jsem předloženou práci vypracoval samostatně a že jsem uvedl veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona, ve znění pozdějších předpisů, zejména skutečnost, že České vysoké učení technické v Praze má právo na uzavření licenční smlouvy o užití této práce jako školního díla podle § 60 odst. 1 autorského zákona.
V Praze dne 18. května 2012
..................... 5
České vysoké učení technické v Praze Fakulta informačních technologií c 2012 Martin Brázdil. Všechna práva vyhrazena.
Tato práce vznikla jako školní dílo na Českém vysokém učení technickém v Praze, Fakultě informačních technologií. Práce je chráněna právními předpisy a mezinárodními úmluvami o právu autorském a právech souvisejících s právem autorským. K jejímu užití, s výjimkou bezúplatných zákonných licencí, je nezbytný souhlas autora.
Odkaz na tuto práci Martin Brázdil. Terra Incognita I - Analýza technologií: Bakalářská práce. Praha: ČVUT v Praze, Fakulta informačních technologií, 2012.
Abstract Terra Incognita I is a team project dealing with development of game with educational features. Goals of the project, marked as I, is to solve a set of tasks related to design of complex software, which the game without doubt is. This bachelor’s thesis is focused on analysis of available technologies suitable for a subsequent implementation phase. Firstly, it contains an attempt to describe the current landscape of games education, secondly, major historical context, thirdly, it offers racional approach and finally, evaluation of solutions. Keywords Terra Incognita, IGDA, game study, game development, history of game industry, game technology analysis
Abstrakt Terra Incognita I je týmový projekt zabývající se vývojem hry kombinované se vzdělávacími prvky. Cíle tohoto projektu, nesoucího označení I, je řešení množiny problémů spojených s návrhem komplexního softwaru, kterým hra bezesporu je. Tato bakalářská práce je zaměřena na analýzu dostupných technologií využitelných v následující fázi implementace. Nabízí náhled na významné historické souvislosti, na současný stav studia a vývoje her, dále navrhuje racionální postup výběru a konečně hodnocení stávajících řešení. Klíčová slova Terra Incognita, IGDA, studium her, vývoj her, historie herního průmyslu, analýza herních technologií
7
Obsah Odkaz na tuto práci . . . . . . . . . . . . . . . . . . . . . . . .
6
Úvod Projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tým . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Obsah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15 15 15 15
1 Analýza 1.1 Studium a vývoj her dle IGDA . . . . . . . . 1.1.1 Dělení studia a vývoje her na obory . 1.1.2 Dělení studia a vývoje her na základní 1.2 Historický vývoj her a technologií . . . . . . . 1.2.1 První krůčky - Tennis for Two . . . . 1.2.2 Vznik a expanze herních konzolí . . . 1.2.3 Král je mrtev, ať žije král . . . . . . . 1.2.4 Zlatý věk Nintenda . . . . . . . . . . . 1.2.5 Hry, které vás donutí plakat . . . . . . 1.2.6 Honba za grafikou . . . . . . . . . . . 1.2.7 MMO šílenství . . . . . . . . . . . . . 1.2.8 Hry a umění . . . . . . . . . . . . . . 1.2.9 Internetové oddechové hry . . . . . . . 1.2.10 Konzole sedmé generace . . . . . . . . 1.2.11 Budoucnost herních technologií . . . . 1.3 Hlediska ovlivňující výběr technologií . . . . . 1.3.1 Účel hry je bavit . . . . . . . . . . . . 1.3.2 Cílová skupina . . . . . . . . . . . . . 1.3.3 Inovace, kreativita, originalita . . . . . 1.3.4 Správné načasování . . . . . . . . . . . 1.4 Kategorizace technologií a volba kritérií . . . 1.4.1 Základní dělení množiny technologií . 1.4.2 Proces výběru technologií . . . . . . . 1.5 Závěr analýzy . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
17 17 17 18 18 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 27 28 29
2 Návrh 2.1 Volba procesu výběru . . . . . . . . . . . . . . . . . . . . . . . 2.2 Aplikace procesu workflow . . . . . . . . . . . . . . . . . . . . .
31 31 31
9
. . . . . . . . . . témata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 2.2.2 2.2.3
Sestavení podrobného dělení a hodnotících kritérií . . . Sestavení topologického uspořádání . . . . . . . . . . . . Souhrn a hodnocení dostupných technologií . . . . . . .
3 Implementace prototypu 3.1 Cíle implementace . . . 3.2 Výběr technologií . . . . 3.3 Průběh implementace . 3.4 Poznámka k obsahu CD
32 37 38
. . . .
53 53 53 53 54
Závěr Navržené procesy výběru . . . . . . . . . . . . . . . . . . . . . . . . Analýza, hodnocení a výběr . . . . . . . . . . . . . . . . . . . . . . . Budoucnost projektu Terra Incognita . . . . . . . . . . . . . . . . . .
55 55 55 55
Literatura
57
A Seznam použitých zkratek
59
B Obsah přiloženého CD
61
. . . .
. . . .
. . . .
. . . .
10
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
Seznam obrázků 0.1
Diagram komunikace a delegování v týmu(4) . . . . . . . . . . . .
16
1.1
Chronologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
11
Seznam tabulek 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12
Výsledky Výsledky Výsledky Výsledky Výsledky Výsledky Výsledky Výsledky Výsledky Výsledky Výsledky Výsledky
ankety ankety ankety ankety ankety ankety ankety ankety ankety ankety ankety ankety
-
hráčův věk . . . doba hraní . . . soustředění . . . účel hraní . . . soutěživost . . . soupeřivost . . . žánr . . . . . . . multiplayer . . . platformy . . . . implementace . hráčovy priority způsob získávání
13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . her
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
40 40 40 41 41 41 41 42 42 42 43 43
Úvod Projekt Motivací pro vznik projektu Terra Incognita je spojení zábavy a vzdělání do unikátní, dosud nevídané kombinace. K rozvinutí studentova zájmu o projekt slouží herní část, která vychází z klasických osvědčených herních titulů dostupných na trhu. Vzdělávací část vychází ze systému odměn, které vedou k posílení hráčova statutu v části herní, čímž dochází k motivaci angažovat se v části vzdělávací.
Tým Týmový projekt Terra Incognita I je složený z několika samostatných prací, pokrývajících základní témata z oboru stuida a vývoje her. Společným vyústěním je návrh, který je založen a podporuje racionální akademický přístup ve spojení s poznatky z praxe, které vzhledem k mládí oboru tvoří většinu znalostní báze. Přestože je každá práce samostatným výzkumem, tvoří týmová komunikace a pravidelné schůzky nedílnou součást projektu. Jedním z důvodů se scházet je společný brainstorming, návrh některých obecných rysů a určování směru projektu jako celku. Tvarování hry však neprobíhá výlučně na základě týmových schůzek – esenciální je v tomto ohledu průzkum trhu, respektive cílové skupiny. Dalším pádným důvodem je vzájemná závislost prací z technologických důvodů.
Obsah Prvním tématem, je průzkum současného stavu na poli studia a vývoje her. Důvodem je sjednocení práce s odbornou terminologií, průzkum současných přístupů k analýze technologií a vymezení oblasti bádání. Dalším tématem je přehled historických souvislostí týkajících se vývoje technologií s ohledem na okolnosti a stav herního průmyslu. Předmětem zájmu jsou i důvody jenž vedly k úspěchu či neúspěchu různých řešení. Vyvrcholením je samotný návrh způsobu analýzy a výběru technologií, který se zakládá na informacích získaných z předchozích témat. Tato část je kritická a vyžaduje kooperaci s týmem. 15
Úvod
Obrázek 0.1: Diagram komunikace a delegování v týmu(4)
Poslední téma je implementace prototypu ověřením možnosti koexistence vybraných technologií při zachování funkčnosti tak, aby došlo k naplnění hlavních požadavků kladených na výběr. Kompletní implementace hry je mimo rozsah týmu.
16
Kapitola
Analýza 1.1
Studium a vývoj her dle IGDA
Předně je nutno konstatovat, že studium a vývoj her je velmi mladá disciplína, která oborově hraničí nebo se dokonce překrývá s několika obory nejen z informatiky. Touha po sjednocení akademického přístupu s praxí herních vývojářů se začala formovat teprve nedávno. Výsledkem snah je nezisková organizace IGDA. „SIG on Game Education“1 ve spolupráci s akademickou sférou a herními vývojáři publikovali roku 2003 první verzi dokumentu IGDA Curriculum Framework(10), který nabízí zamyšlení nad rozdělením oborů týkajících se studia a vývoje her, včetně návrhu takového konkrétního rozdělení. Toto rozdělení, potažmo celý dokument, má záměrně zůstat nedokončený a postupnými novelizacemi odrážet současnou situaci dynamicky se rozvíjejícího oboru, kterým studium a vývoj her, což názorně ukazuje historický vývoj, je.
1.1.1
Dělení studia a vývoje her na obory
IGDA dělí studium a vývoj her na několik základních, částečně se překrývajících oborů, přičemž každý z těchto oborů sdružuje či kombinuje několik oborů již existujících. Game Design zaměřeno především na interakci a uživatelské rozhraní. Game design je proces utváření herního systému, tzn. systému akcí a jejich významu v herním světě. Důvodem studia je poskytnout vysoce kvalitní a vyvážený herní systém, který bude implementovatelný v rozumném čase. Game Development zaměřeno především na vývoj her a použité technologie. Zahrnuje mezioborovou spolupráci od softwarového inženýrství, přes umění až po média. Často inkrementálně implementuje a formou úspěchu či neúspěchu testuje nové herní prvky. Úspěšně dokončený vývoj v rozumném čase vyžaduje znalosti managementu. Game Studies zaměřeno především na výzkum z pohledu kulturního přínosu, nového média a samotného hraní. Formuje odbornou slovní zásobu používanou při studiu a analýze her. 1 SIG či skupiny se speciálním zaměřením, jsou součástí IGDA, jejich cílem je výzkum v rámci konkrétních oblastí zájmů vymezených IGDA
17
1
1. Analýza Téma této práce se soustředí v první řadě na Game Development, z něhož primárně vyčleňuje část zaměřenou na technologie. Vzhledem k povaze tématu lze za relevantní zdroj považovat v první řadě současné výsledky z praxe. Teoretická díla ze zbylých dvou oborů vymezují neméně důležité souvislosti a směr, kterým se bude bádání ubírat.
1.1.2
Dělení studia a vývoje her na základní témata
IGDA dále dělí studium a vývoj her na několik základních témat neboli „core topics“, odvozených z existujících disciplín, jejich kombinací nebo případně i nových disciplín. Každé téma je navrženo za účelem oborové profilace v rámci studia her, čímž odpovídá na jednu ze zásadních kritik začínajících herních vývojářů, kteří prý mají povrchní znalosti v početné množině oborů. 1. Critical Game Studies 2. Games and Society 3. Game Design 4. Game Programming 5. Visual Design 6. Audio Design 7. Interactive Storytelling 8. Game Production 9. Business of Gaming Téma Games and Society Téma Games and Society se dále člení na vývoj her a herní technologie neboli „The Construction of Games and Game Technologies“, které se zabývá vývojem technologií a historií dominantních herních společností formujících herní průmysl. Právě toto téma je předmětem další kapitoly (viz sekce 1.2/s18). Téma Critical Game Studies Téma Critical Game Studies se dále člení na studium médií neboli „Media Studies“, které se zabývá průzkumem technologií, konkrétně jejich studiem, porovnáváním výkonnosti či zkoumáním potenciálu, ale taky vytvářením nových experimentálních technologií (viz sekce 1.3/s25, 1.4/s27 a 2/s31).
1.2
Historický vývoj her a technologií
Proč je vhodné se historickým vývojem zabývat? A jakým způsobem historii analyzovat z pohledu analýzy a výběru herních technologií? Existuje spousta důvodů proč se historií zabývat a proto je důležité pečlivě vymezit zkoumaná hlediska, aby bylo její studium plodné, přínosné a pomohlo určit významné faktory ovlivňující výběr. Tato historická sonda bude mít za 18
1.2. Historický vývoj her a technologií
Tennis for Two
Tržby herního průmyslu 450 milionů dolarů
Channel F
World of Warcraft
Game and Watch Prototyp konzole
3,5" disketa Atari 2600 CD
1958
1963
1968
1973
1978
Neverwinter Nights
Tetris
1983
Ultima Online
1988 NES
Donkey Kong
1993 Game Boy
Konzolový Pong Magnavox Odyssey
1998
2003
2008
IGDA
Vznik 3DO
5,25" disketa
Krize v USA
Bioshock
Electronic Arts
Zánik 3DO
Mega Drive IGDA Curriculum Framework John Madden Football
Obrázek 1.1: Chronologie uvedených datumů (viz sekce 1.2/s18)
úkol poukázat nejen na technologické zvraty ke kterým v průběhu vývoje her došlo, ale i na okolnosti, za kterých k nim došlo. Cílem práce totiž není ani tvorba převratného hardwaru či sofistikovaných softwarových technologií a už vůbec ne historie samotná, ale analýza a výběr za účelem maximalizace úspěchu a proto ani tato stručná analýza historického vývoje nebude mapovat každou změnu hardwaru, spíše způsob jakým nové technologie podpořily úspěch her. Na závěr nabídne i výhled do budoucnosti. The visuals were rudimentary, merely a green dot on the screen and a small block in the middle to represent a net. There was a welded stainless steel box to take into my hands, upon which was a single button to press and from which heavy wires led to the signal box. The primitive thing appeared otherworldly on the fifty-inch Samsung screen. That was when my nerd heart started beating, my mouth grew dry, and I found it somewhat difficult to take air. It was as if Tennis for Two were a living, breathing celebrity, an old-time star slightly Botoxed up to make it appear new again. And that green color was seductive. Green symbolizes everything videogames are made of, the life-and-death struggle, the yin and yang of heroism and evil, for green in various cultures means hope, rebirth, death, and envy. The color meant immortality in ancient Egypt (Osiris, the god of the afterlife, had skin tinged with green). It is the suit color of Shigeru Miyamoto’s Link from The Legend of Zelda, the color of the camouflage gear of Metal Gear’s ultra-macho Solid Snake. Green is perfect for games.(7)
1.2.1
První krůčky - Tennis for Two
První pokusy o využití výpočetní technologie, jehož primárním účelem bylo bezesporu hraní her, lze datovat do 50. let 20. století. Jedním z prvních a zároveň ukázkovým příkladem je Tennis for Two z roku 1958, tenis pro dva 19
1. Analýza hráče ovládaný párem analogových ovladačů, jehož autorem je americký fyzik William A. Higginbotham. Šlo o dobu (technologie) z velké části definovanou probíhající studenou válkou, což ovlivnilo i Tennis for Two, který běžel na jednom z výzkumných počítačů určených k simulaci balistických střel, jelikož sám Higginbotham byl členem projektu Manhattan. Z dnešního pohledu může poněkud bizarně působit grafický výstup realizovaný osciloskopem. Nicméně díky Higginbothamově výstřednímu smyslu pro zábavu a popularitě došlo k převratné události, kdy tento prapředek moderních her dokázal lidi spojit a bavit činností doposud neznámou.
1.2.2
Vznik a expanze herních konzolí
O vytvoření filosofie a prvních prototypů herních konzolí se roku 1966 zasadil Ralph Baer, původem Němec, který emigroval do USA. Právě tohoto roku získal coby inženýr zaměstnaný ministerstvem obrany rozpočet 2500 $ na vytvoření herních konzolí, od nichž si vedení částečně slibovalo pozdější využití v armádě. Původním názvem Channel Let’s Play! dále Brown Box byla ve finále licencována a vydána roku 1972 společností Magnavox pod názvem Odyssey. Množstvím prodaných kusů tak Baer dokázal zájem veřejnosti o konzole. K zobrazení grafického výstupu využívala televizi, ke které se připojila přes vstup pro anténu. Základním kamenem nebyla technologická vyspělost konzolí, ale přesun zábavy generované hraním arkádových her2 do domácností. Mezi další geniální Baerovy nápady, jenž spatřily světlo světa až o desetiletí později, patří například distribuce her za použití technologie kabelových televizí nebo vize multiplayerových online her. Další přelom byla popularizace a masové rozšíření herních konzolí společností Atari, kterou založil Nolan Bushnell a Ted Dabney. Mezi první hity patřila zprvu arkádová hra Pong inspirovaná Higginbothamovým Tennis for Two, která v konzolové verzi vznikla v roce 1974. Všechny konzole této doby měli herní logiku řešenou přímo v obvodech. Až roku 1976 přichází konzole Channel F společnost Fairchild s technologií výměnných herních modulů3 .Obdobně jako s konceptem konzolí, se modulům dostalo slávy až po uvedení Atari 2600 v roce 1977. Atari 2600 se těšila veliké slávě což ve spojení s otevřeností systému (neexistovalo žádné kódování modulů, takže tvořit hry mohl kdokoliv) vedlo ke vzniku nespočetného množství her.
1.2.3
Král je mrtev, ať žije král
V roce 1976 se v USA pozvolna začala projevovat hospodářská krize, nezaměstanost v této době sahala k 8 %, rostoucí inflace neznala hranic. Tehdy se Bushnell rozhodl Atari prodat za 28 milionů dolarů společnosti Warner Communications. Ještě několik let setrvá Atari na výsluní, než vlivem vrcholící krize a soudního sporu s Activision její sláva upadne na úroveň, ze které se už nikdy zcela nevzpamatuje. Ve stejné době v Japonsku vstupuje na trh s hrami společnost Nintendo pod přísným vedením Hiroshi Yamauchi, jenž zřel v Baerových konzolích neopakující se příležitost. Mezi první počiny Nintenda patří kapesní herní konzole 2 Arkádová 3 Herní
20
hra je původně herní automat na mince umístěný na veřejných prostranstvích modul o velikosti dlaně, anglicky cartrige
1.2. Historický vývoj her a technologií Game and Watch, podporovaná v letech 1980 až 1987. Ke skutečnému zlomu došlo teprve prostřednictvím geniálního umělce Shigeru Miyamoto. Svůj talent Miyamoto předvedl roku 1981 vydáním hry, která nahradila neúspěšný arkádový počin Radar Scope, hry, jenž byla později pojmenována Donkey Kong a stala se celosvětovým hitem. Miyamoto svým originálním přístupem, kdy vyzdvihl do popředí příběh, emoce a atmosféru her směrem, o kterém od útlého věku snil, nejen revolucionalizoval hry samotné, jedním dechem tak i potvrdil dominantní postavení Nintenda.
1.2.4
Zlatý věk Nintenda
V 80. letech 20. století nastává zlatý věk Nintenda. Nintendo modernizovalo a výsledkem byl roku 1985 NES, který dominoval 8 bitovou grafikou a 2 KByte RAM, na svou dobu nevídaným množstvím operační paměti. NES se ruku v ruce s novým herním titulem Mario, vycházejícího s předchůdce jménem Jumpman, stává hitem. Mario je s počtem 50 milionů prodaných kopií nejprodávanějším herním titulem. Po boku s ostatními hity, jako například mistrovské dílo The Legend of Zelda atd, dosahují roku 1986 tržby na trhu s hrami v úhrnu 450 milionů dolarů a to i přes novou nepříliš zdařilou technologii přepisovatelných modulů Disk System pro NES, která umožnila ilegální šíření ilegálním kopírováním obsahu nosičů. Dosud ovšem neexistovala jediná masově úspěšná kapesní herní konzole. Prvenství měl roku 1989 obsadit revoluční Game Boy s poměrně vysokou pořizovací cenou necelých 90 dolarů. Kompenzací ceny měl být modul zdarma, který měl původně obsahovat Maria. Nintendo nakonec veškeré své naděje upnulo na Tetris. Tetris vyvinul roku 1984 Alexej Pažitnov ze Sovětského svazu na počítači Elektronika 60. Inspirací mu byla hra Pentomino a stejně jako ona neměl první Tetris kromě skládání bloků do ucelených řad žádná jiná konkrétní pravidla. Tetris se stal fenoménem a dobyl srdce hráčů všech generací, což vedlo k masové popularizaci Game Boye. Největší devizou Tetrisu je uklidňující pocit spojený s relaxací, který plynule padající bloky navozují. Některé vědecké práce poukazují na psychologický efekt doprovázející hraní Tetrisu a navrhují využití při léčbě posttraumatického stresu.(9)
1.2.5
Hry, které vás donutí plakat
William “Trip” Hawkins III, bývalý , zakladatel společnosti Amazin’ software v roce 1982, časem přejmenované na Electronic Arts, byl člověk s jasnou vizí. Tak jako hudba či film, chtěl Hawkins vyrábět hry které donutí člověka plakat. Electronic Arts od svého vzniku vyvíjela hry zaměřené na Amigu a Mac. Mezi přelomové tituly patří například Skyfox, ke kterému se Steve Wozniak4 , vyjádřil jako o něčem nemožném, přesahujícím možnosti Apple II. Velkým Hawkinsovým snem byl simulátor amerického fotbalu, který se mu po dlouhém boji podařilo roku 1988 vydat. Ve spojení s mediální kampaní prezentovanou fotbalovou hvězdou J. Maddenem vznikla série her Madden NFL, která pokračuje a slaví úspěch dodnes a Electronic Arts si tak upevňuje své místo na trhu. 4 Steve Wozniak je počítačový inženýr, společně se Stevem Jobsem založil firmu Apple, samostatně sestrojil počítač Apple II
21
1. Analýza Electronic Arts vyvíjelo hry pro počítače5 a to v 80. letech, v době vzestupu konzolí od Nintenda, které dominovaly trhu. Hawkins se snažil využít rostoucího vlivu Electronic Arts, vyzíval výrobce počítačů k inovaci (více barev, komplexní zvuky), ale bez úspěchu. Nakonec se rozhodne vyrábět hry i pro konzole, otázkou zůstává, jak prorazit, když si Nintendo nechává v rámci licenční dohody vyplácet poplatky v astronomické výši 10 $ z každé prodané hry. Odpověď nalezne v konzoli nové generace Mega Drive vydané společností Sega roku 1988 za cenu 189 $. Mega Drive měla procesor stejného typu jako Amiga a Mac. Hawkins nařídil analyzovat konzoli reverzním inženýrstvím, aby mohl vydávat hry bez licence, která stanovovala podobně astronomické poplatky jako Nintendo, čímž riskoval soudní spor. K soudnímu sporu došlo, výsledkem ale byly více než příznivé licenční podmínky, jenž stanovovali poplatek 35 centů z každé prodané hry. Electronic Arts se stává dominantním hráčem na trhu. Roku 1991 udělal Hawkins zásadní chybu. Přestože zůstal předsedou Electronic Arts rozhodl se založit vlastní společnost jménem 3DO se zaměřením na výrobu herních konzolí. Připravovaná konzole revolučních parametrů nabízející lepší licenční podmínky pro vydavatele her, než konkurence, byla bohužel několikrát pozdržena a celková cena se tak vyšplhala až na 700 $. Kvůli ceně, zdržením a nedostatku kvalitních her nebyl počet prodejů nikterak výrazný. Posledním hřebíkem do rakve byl triumf konzole PlayStation prodávané výrazně pod cenou 3DO. 3DO se ještě několik let zmítá na trhu, než roku 2003 zcela zanikne.
1.2.6
Honba za grafikou
Na přelomu 80. a 90. let byla grafika vzhledem k dnešním standardům velmi primitivní a nerealistická. Zlom nastal využitím dosud téměř neznámých a drahých CD. Do této chvíle se hry distribuovaly pouze přes diskety, což vzhledem k malé kapacitě6 bohužel značně omezovalo možnosti hry. CD svou kapacitou7 posunulo hranice o dva řády výše. První, kdo zřel potenciál CD byli zakladatelé společnosti Trilobyte, mladý génius Graeme Devine a mág mezi grafiky Rob Landeros. Společně ve svém mistrovském díle The 7th Guest vsadili na využití kombinace tehdejší počítačové grafiky a hraných scén s cílem posunout vizuální zkušenost směrem k realitě. Technologie přehrávání digitálního videa v počítači byla ještě v plenkách a samotné aranžmá videosekvencí se tak stalo největším problémem, jemuž čelili. Zprvu nenápadný projekt společnosti čítající čtyři zaměstnance, který zápasil s financemi a milníky, se podařilo dokončit s nečekaným úspěchem miliónů prodaných kopií. Trilobyte bohužel náhlou slávu neustála, přátelství se rozpadá na dlouhé roky a firma samotná zaniká, nikoliv však miliony prodaných počítačů s CDROM mechanikami či nová touha po realistické grafice.
1.2.7
MMO šílenství
V poslední dekádě 20. století dochází k rozmachu internetu, který se pomalu stává součástí téměř všech domácností. Myšlenka spojení více hráčů v rámci 5 Počítače
této doby: Apple II, Mac, Amiga, Atari ST, Commodore 64, ZX Spectrum - 5,25"- 160 KB až 1,2 MB a 1984 - 3,5"- 400/800 kB až 1,44/2,88 MB 7 1979 - 74 minut audio/656 MB, později 80 minut audio/700 MB 6 1976
22
1.2. Historický vývoj her a technologií jedné hry již také existuje řadu let, její živitelé byli lidé jako Ralph Baer či Ken a Roberta Williamsovi nebo Ken Kutaragi a další. Tyto okolnosti ve spojení s rostoucí kvalitou grafiky nevyhnutelně vedly k tvorbě prvních přelomových titulů, které posunuli podstatu hraní na zcela novou úroveň. Zároveň vzniká i nová forma měsíčních plateb za možnost připojení k hernímu serveru, což společně s hodinovou sazbou za internetové připojení činilo nemalý finanční obnos. Vznik nového žánru s sebou přináší i nové technologické problémy, větší složitost softwaru i velké množství serverů znamená vznik nonstop telefonické podpory. Průkopníkem žánru MMORPG s grafickým rozhraním byl Neverwinter Nights z roku 1991 od společnosti Stormfront Studios, řídící se pravidly Advanced Dungeons & Dragons. Mezi první masově úspěšná díla patří Ultima Online z roku 1997 od společnosti Origin Systems, dosahující v době největší slávy počtu přes 100 000 platících hráčů, předznamenávající vzestup žánru. Symbolem MMORPG revoluce se nakonec stává EverQuest z roku 1999 od společnosti Sony, za kterým stál John Smedley. Projektu nikdo nedával velkou naději, finální náklady mnohokrát překročily původní rozpočet, očekávání končila u 30 000 aktivních hráčů a víry v zaplacení nákladů spojených s vývojem. Očekávání byla překonána obrovským úspěchem, více než desetinásobkem aktivních hráčů než bylo předpovězeno. Vrcholu v žánru MMORPG dosahuje společnost Blizzard Entertainment se svým titulem World of Warcraft. Inovativní přístup k herním principům a příběh odehrávající se v epickém prostředí osvědčeného světa známého z RTS titulu Warcraft dodnes drží od roku 2005 před monitorem miliony hráčů.
1.2.8
Hry a umění
Je možné považovat hry za druh umění? Ještě donedávna (90. léta) odborná veřejnost hry mezi umělecké klenoty neřadila. Kde hledat uměleckou stánku her? Aaron Smuts(15) navrhuje na hry jako umění nahlížet z pohledu několika různých definic umění. Zajímavý je pohled dělení na umění jako aktivitu z pohledu hráče, srovnání s šachy ve smyslu krásy různých řešení, která hráč volí. Dále hry s příběhem, grafickým designem, charaktery a podobně staví z uměleckého hlediska nad hry, tvořené pouze pravidly, jako je poker nebo fotbal, kde hodnocení plyne z pravidel, čímž se umění ztrácí a mění ve výkon. Zajímavější je prohlášení her za první „concreative mass art“ neboli druh umění, kdy je publikum zahrnuto do jeho tvorby což připisuje rozvoji herních technologií. Hry, jako moderní médium, obchází omezení spjatá s filmem, hudbou nebo knihou, čímž projevují vysoký potenciál do budoucna. Ne všechny hry jsou uměleckým dílem. Jedním z uměleckých klenotů herního průmyslu je například titul Bioshock z roku 2007 od společnosti 2K vynikající hlubokým hororovým příběhem podtrženým detailně vyvedenou grafikou navozující děsivou atmosféru.
1.2.9
Internetové oddechové hry
Na konci 90. let začíná s rozšířením internetového připojení na trh pronikat nové herní odvětví, jsou jím oddechové hry či „oddechovky“, anglicky „casual 23
1. Analýza games“. Základem oddechových her je přístup přes internetový portál, jednoduchá hratelnost a časová nenáročnost. Oddechovky se zaměřují převážně na ženy ve středním věku, nikoliv na hardcore hráče, čímž získávají dosud nevyužitou část trhu. Do roku 2001 se tak zrodí nový miliardový průmysl, který se během následujících 10 let ještě zhruba ztrojnásobí. Za úspěchem stojí jednak zacílení nevyužité části trhu, ale i nové technologie. Oddechovky jsou svojí jednoduchostí jistou retrospektivou do dob arkádových her. Jednoduchost ve spojení s moderními technologiemi znamenají nízké náklady spojené s vývojem oddechovek, které se pohybuje zhruba od 50 000 $ do 500 000 $(1). Vznikla tak i nová příležitost experimentovat s novými herními prvky nebo pro jednotlivce či malé skupiny proniknout na trh.
1.2.10
Konzole sedmé generace
Konzole sedmé generace neboli současná generace konzolí, přinesla kromě výkonnějšího hardware mnohá vylepšení, za zajímavé shledávám především ovladače. První takový přinesla společnost Nintendo spolu s konzolí Wii. Ovladač je nově připojen bezdrátově ale klíčový byl především způsob ovládání pomocí snímačů pohybu, kdy hráč manipuluje celým ovladačem, což při hraní především sportovních her přináší naprosto nový herní prožitek. Wii se svým novým přístupem k hraní a nízkou cenou tak dominuje trhu. Konkurenční společnosti se snaží odpovědět vývojem svých vlastních ovladačů. Za zmínku stojí hlavně Kinect, což je snímač pohybu pro Xbox 360 od společnosti Microsoft. Velké popularitě se těší převážně díky „hackům“(2) ze strany komunity, dokáže pak totiž nabídnout například technologii snímaní kosterních animací8 využitelnou při animaci 3D modelů, která je jinak finančně náročná.
1.2.11
Budoucnost herních technologií
Současný trend poukazuje na neustálý vývoj nových technologií. Výpočetní rychlost procesorů, grafických karet, zvětšování kapacity operační paměti, optických disků, HDD a SSD disků doznala zvýšení o několik řádů a vše stále roste. Přesto složitost některých algoritmů nebude nikdy pokořena výpočetní silou počítačů na bázi tranzistorů. I zde však částečnou odpověď nabízí kvantový počítač9 . It will be the first technology that allows useful tasks to be performed in collaboration between parallel universes.(11) Velké popularitě se těší i nové platformy, předně smartphony a tablety, osazené dotykovým displejem. Právě mobilita a ovládání prsty vyžaduje zcela nový přístup k tvorbě uživatelského rozhraní. Kromě dotykového displeje je dalším faktorem ovlivňujícím hratelnost výdrž baterie, výpočetní výkon a také přenositelnost zařízení. Tyto aspekty posouvají styl her směrem k jednodušší hratelnosti podobné oddechovkám. 8 Snímání
je omezené na dvě postavy a nezvládá rychlé komplexní pohyby zde Booleovská ale Kvantová logika, umožňuje např. faktorizovat číslo pomocí algoritmu s kvadratickou složitostí 9 Neplatí
24
1.3. Hlediska ovlivňující výběr technologií Jiným příkladem je technologie Heliodisplay(13), která by nastolila revoluci zobrazovacích zařízení v podobě holografického zobrazení na bázi laserů a kondenzace vzduchu. Jediný problém holografického zobrazení je jeho výpočetní náročnost. V současných 3D hrách při vykreslování k řadě optimalizací, které by z vyplývající nutnosti zobrazení celé 3D scény nebylo možné implementovat. Neméně zajímavé jsou i pokusy vyrobit zařízení zacílené na měření a vyhodnocování hráčových emocí kontinuálně v reálném čase. Měření zahrnuje například EEG a další biologické senzory. Ačkoliv společnost EmSense(5), průkopník na poli měření těchto metrik, zanikla, očekává se rychlé zaplnění jejího místa na trhu. Zakomponování výsledků z těchto měření do herního systému nabízí naprosto nové herní zážitky. Například efekt zpomalení toku času hry v reakci na vysokou tepovou frekvenci hráče vyvolanou stresovou situací. Umím si představit i využití emocí, například strachu či sebevědomí, formou zvýhodňování či postihů ve hře, kde by zápasy probíhaly formou duelů v gladiátorských arénách. Vidím velký prostor pro novou herní revoluci. Otázkou zůstává, jaký bude dopad takových her na hráčovu psychiku.
1.3
Hlediska ovlivňující výběr technologií
Hry a herní technologie od svého počátku urazily již více než půl století. Počátky byly doprovázeny nedůvěrou v úspěch, naštěstí však lidská zvědavost a hravost nám vlastní zvítězila hnána prací, ale především sny geniálních vizionářů. Nicméně i některé velké vize skončily v propadlišti dějin, jiné naopak formují životy miliónů lidí ve všech koutech světa. Tato kapitola si dává za úkol nabídnout několik pohledů na způsob výběru technologie, od kterých bude očekávat uspokojení hráčových očekávání. Vzhledem k mládí a velmi malému podílu této problematiky v rámci oboru studia a vývoje her, lze nalézt pouze kusé informace roztříštěné po různých médiích. Proto se při formování hledisek pokusím vyjít z analýzy některých relevantních momentů z historie herního průmyslu (viz sekce 1.2/s18). Shrňme si tedy nyní historický vývoj herních technologií a pokusme se vyvodit užitečné závěry využitelné při kategorizaci, volbě kritérií (viz sekce 1.4/s27) a výběru optimálních technologií (viz sekce 2/s31) použitelných pro projekt Terra Incognita, potažmo pro moderní hru obecně. Neopakujme chyby našich předchůdců. Učme se z úspěchů.
1.3.1
Účel hry je bavit
Svět dneška je natolik rychlý a komplexní, že ve společnosti vzniká spousta různých úhlů pohledu na stejnou činnost nebo věc a je nad lidské síly zůstat nezávislým pozorovatelem, vstřebávajícím všechny dostupné informace, formujícím vlastním kritickým myšlenkovým procesem jakékoliv názory. To není překážkou, každý člověk jest autonomní bytost, jen je potřeba si uvědomit, že náhled na účel čehokoliv je striktně subjektivní. Proto považuji za důležité nahlížet na účel hry takovým způsobem, který povede k požadovaným výsledkům. Často se lze setkat s hodnocením her založeným na kvalitě grafiky, na komplexnosti světa nebo uživatelského rozhraní, na sociálním aspektu a na dalších různých parametrech. 25
1. Analýza Co je však abstrakcí10 her? Jsou hry formou komplexity? Jsou hry konkretizací pomyslného grafického nebe? Jsou hry o vztazích mezi lidmi? Kterou z nich však vybrat, přesněji, která dokáže maximalizovat úspěch? Podobnými otázkami mohu pokračovat do té doby než bych narazil na otázku, zda jsou hry formou zábavy. Tuto jedinou odpověď shledávám za správnou a nadřazenou všem ostatním. Takový postoj byl vidět například u konzole Wii, kde si inovace dala za cíl přinést nový herní zážitek, díky čemuž Nintendo znovu získalo dominantní podíl trhu (viz sekce 1.2.10/s24). Výběr by tedy neměl být zúžen mylnou abstrakcí. Žádná technologie by neměla přebírat úlohu hry, není nic víc, nic míň, než nástroj k dosažení cíle, varováním může být zbytečně technologicky zaměřený vývoj konzole 3DO (viz sekce 1.2.5/s22). Zábavy lze dosáhnout použitím jakýchkoliv technologií, přičemž konkrétní vnímání zábavy, jak jsem nastínil výše, je subjektivní, z čehož plyne i fakt, že nelze uspokojit všechny hráče najednou bez dosažení dokonalosti ve všech aspektech, což je utopie, která se při hlubším zamyšlení sama vylučuje.
1.3.2
Cílová skupina
Určení cílové skupiny nám dovolí konkretizovat abstraktní pojem zábavy definovaný výše. Je cílem uspokojení požadavků všech hráčů světa? Zeptejme se více realisticky, jde nám o uspokojení hlavního proudu? Chceme bavit příležitostné hráče středního věku nebo dospívající hardcore hráče(8)? Definice cílové skupiny a její pečlivá analýza je pro úspěch hry kritická. V nekonečném utopickém množství pohledů vytyčí konkrétní definici zábavy z pohledu cílové skupiny. Pomůže tak utřídit priority při výběru technologií a tím maximalizovat úspěch hry. Význam určení cílové skupiny nám dokládá například vzestup oddechovek, kdy došlo k zaměření na dosud opomíjenou skupinu příležitostných hráčů, především hráček, žen ve středních letech (viz sekce 1.2.9/s23).
1.3.3
Inovace, kreativita, originalita
Z historie jasně plyne, že inovace, kreativita a originalita jsou nedílnou součástí vývoje her. Zde je však nutné pečlivě rozlišovat hru od technologií. K inovacím a tvoření nových technologií by mělo docházet pouze pokud jsou nutnou podmínkou k tvorbě hry samotné, pokud mají opodstatnění. Pestrá nabídka současných technologií nabízí vyzkoušená, testy podepřená funkční řešení, která nabízí úsporu času, úsilí a tím i peněz. Mohlo by se zdát, že postupem času došlo k akumulaci nepřeberného množství řešení všech představitelných herních technologií. Nabízí se několik možných závěrů, které lze vyvodit, několik přínosných bych si dovolil rozvést. Například, pokud existuje nepřeberné množství kvalitních řešení, jak vybrat optimální, podle jakých hodnotících kritérií? Touto podstatnou otázkou se budeme podrobně zaobírat v další sekci(viz sekce 1.4/s27), pečlivá analýza překračuje rámec tohoto odstavce. Nebo jiný příklad, za předpokladu, že je trh takto nasycen, lze vůbec nalézt nějaké výhody ve vývoji vlastních technologií? Je nutné si uvědomit, že roste 10 Abstrakce
26
je logický proces poznání, kdy oddělujeme podstatné znaky od nepodstatných
1.4. Kategorizace technologií a volba kritérií nejen množství hotových řešení, ale i množství nových problémů. Stačí se podívat na chytré mobilní telefony s dotykovým displejem, jenž s sebou přinesli nepřeberné množství dalších možností využití. Za neméně zásadní důvod považuji unikátní herní zážitek z různých her, kde použití stejných technologií tyto rozdíly stírá.
1.3.4
Správné načasování
Při procesu vývoje hry nás žene kupředu spousta motivů, na které se dá nahlížet z hlediska správného načasování. Hra může kupříkladu vyžadovat dosud neexistující technologie. Vyplatí se nám investice do vývoje nových technologií, která je zpravidla riskantní? Jiný problém může vyvolat využití nové technologie, na kterou nemusí být trh připraven. Například morální stránka snímání a vyhodnocování hráčových emocí 25. Ani poslední technologické vymoženosti nemusí být přínosem, dojde-li ke zvýšení hardwarových nároků na maximum dostupného výkonu, pročež si hru po vydání koupí a zahraje pouze mizivé procento hráčů. Dobrým příkladem je například vývoj žánru MMORPG, kdy byl počet hráčů zprvu limitován cenou a dostupností připojení k internetu a následné vynikající načasování hry World of Warcraft (viz sekce 1.2.7/s22).
1.4
Kategorizace technologií a volba kritérií
Zde se budu zabývat kategorizací, přičemž rozdělím množinu všech použitelných technologií tak, aby ji bylo možné pokrýt beze zbytku. Navrhnu nejprve základní dělení následované podrobným dělením. Výsledkem této sekce by měl být racionální postup výběru na základě hodnotících kritérií, což následně umožní výběr optimálních zástupců každé skupiny za pomoci nastíněných hledisek (viz sekce 1.3/s25).
1.4.1
Základní dělení množiny technologií
Základní dělení mi pomůže vymezit množinu všech použitelných technologií. Dvěma zde navrhovanými děleními, každé na dvě množiny, vzniknou jejich kombinací celkem čtyři skupiny. Nezáleží totiž na pořadí, zda dělíme množinu všech technologií nejprve na hardwarové, softwarové a až potom teprve na vývoj hry, hru nebo obráceně.
Vývoj hry a hra samotná Výběr technologií se nevztahuje pouze na ty, které jsou použité ve hře, ale i na technologie použité vývojářským týmem při procesu vývoje této hry. Úspěch hry značně závisí na nástrojích herních vývojářů, kterými jsou nejen specifický software na modelování grafiky či animací a podobně, ale i celá škála nástrojů ze softwarového inženýrství. Je to základní dělení, jenž z hlediska obsáhlosti tuto množinu dělí beze zbytku na dvě disjunktní podmnožiny. 27
1. Analýza Hardware a software Další dělení technologií určených pro vývoj her i hru samotnou je ze softwarového a hardwarového hlediska. Při vývoji je potřeba například server sdílený se všemi vývojáři, obsahující verzovací systém včetně posledního zdrojového kódu hry. Z hlediska hry je potom třeba rozhodnout o cílové hardwarové konfiguraci hráče, je to například obrovské množství dostupných platforem. Vzniklo tak další dělení na dvě disjunktní množiny, které opět rozdělí množinu všech použitelných technologií vedví, na hardwarové a softwarové technologie.
1.4.2
Proces výběru technologií
Některé technologie jsou závislé na jiných. Použiji tedy dělení hodnotících kritérií na klíčová kritéria a kvalitativní kritéria. Klíčová kritéria budou měnit množinu všech dostupných technologií, klíčové kritérium je například závislost na platformě. Klíče si lze představit jako orientované hrany mezi uzly tvořenými podrobným dělením. Kvalitativní kritéria jsou taková, která množinu všech dostupných technologií nemění, je jich velmi mnoho, například cena, paleta nástrojů, výpočetní výkon atd. Celý tento systém podmnožin a jejich hodnotících kritérií je nutno před samotným výběrem topologicky uspořádat, čímž vznikne tzv. „potrubí“ neboli anglicky „pipeline“. Aby bylo možné topologické uspořádání provést, je nutné volit klíče tak, aby nevznikl cyklus. Existuje několik možností jak na takto definovaný proces výběru nahlížet. Centralizovaný Centrálně definovat nad základním dělením vlastní podrobné dělení technologií, jejich klíčová a kvalitativní kritéria, což vede k vybudování databáze dostupných technologií včetně hodnotících kritérií a topologického uspořádání. Vznikne hotové řešení nabízející racionální způsob výběru technologií vyžadující pouze stanovení priorit kvalitativních kritérií. Nevýhoda tohoto řešení spočívá předně v pevně daném podrobném dělení a v množství možných hodnotících kritérií – obojí je z pohledu konkrétních projektů nejednoznačné. Výhodou je pestrý výběr definovaný škálou kvalitativních kritérií a jednotné topologické uspořádání výběru, což celý proces výběru výrazně zjednodušuje. Postup při výběru technologií: 1. výběr podrobného dělení podle potřeb projektu pomocí centralizované aplikace; 2. výběr kvalitativních kritérií a stanovení jejich priorit; 3. vyhodnocení technologií centralizovanou aplikací na základě kvalitativních kritérií a jejich priorit. Workflow Sjednocený, racionální postup výběru technologií. Každý konkrétní projekt si stanoví nad základním dělením vlastní podrobné dělení technologií, hodnotící kritéria a sestaví topologické uspořádání. Vybere dostupné technologie, ohodnotí podle vybraných hodnotících kritérií a na základě priorit vyhodnotí. Nevýhoda řešení je pracnost stanovení podrobného dělení, hodnotících kritérií a shromažďování dostupných technologií včetně následného ohodnocení. Výhodou je flexibilita a možnost soustředění se na hodnotící kritéria kritická pro konkrétní projekt. 28
1.5. Závěr analýzy Postup při výběru technologií: 1. sestavení podrobného dělení včetně klíčových i kvalitativních kritérií podle potřeb projektu; 2. sestavení topologického uspořádání na základě závislostí klíčových kritérií; 3. shromáždění rozumného množství dostupných technologií pro každou podmnožinu podrobného dělení, přičemž pořadí volíme dle topologického uspořádání ; 4. ohodnocení shromážděných technologií na základě stanovených kvalitativních kritérií ; 5. stanovení priorit kvalitativních kritérií ; 6. vyhodnocení na základě kvalitativních kritérií a jejich priorit. Kombinovaný Centralizované workflow. Výběr z hlediska konkrétního týmu bude založen na přístupu workflow. Oproti workflow však k možnosti definice vlastních podmnožin podrobného dělení a hodnotících kritérií přibude výběr z hotových řešení z centrální databáze. Vznikne možnost kombinovat výběr z hotových řešení s vlastním, čímž vznikne originální topologické uspořádání výběru. Nevýhodou oproti centralizovanému procesu jsou různá topologická uspořádání. Jejich výpočet lze však plně zautomatizovat. Výhodou je kombinace flexibility a minimalistického přístupu procesu workflow s množstvím ověřených hotových řešení, která šetří práci. Postup při výběru technologií: 1. výběr podrobného dělení podle potřeb projektu pomocí centralizované aplikace; 2. doplnění výběru o vlastní podrobná dělení včetně volby hodnotících kritérií podle potřeb projektu; 3. automatizované sestavení topologického uspořádání na základě závislostí klíčových kritérií ; 4. stanovení priorit kvalitativních kritérií ; 5. vyhodnocení technologií centralizovanou aplikací na základě kvalitativních kritérií a jejich priorit.
1.5
Závěr analýzy
Studium teorie na poli studia a vývoje her je převážně zaměřeno na design hry samotné, případně na další aspekty, přičemž způsob výběru vhodných technologií je ponechán neprobádaný (viz sekce 1.1/s17). V praxi probíhá zcela spontánně (viz sekce 1.2/s18 a 1.3/s25). V mnou navrhovaném řešení je výběr možné realizovat buďto jako proces workflow či formou aplikace jako proces centralizovaný nebo kombinovaný (viz sekce 1.4/s27). V době psaní této práce existují pouze tabulky hodnotící některé jednotlivé technologie, přístup k technologiím a jejich výběr jako celku neexistuje. Přičteme-li velké množství technologií v každé kategorii, stává se 29
1. Analýza výběr nepřehledný až chaotický, mnou navrhované řešení by mohlo výběr, porovnávání a vyhodnocování velmi usnadnit a celkově zavést racionální přístup k výběru vhodných technologií. Domnívám se, že systematické členění, porovnávání, vyhodnocování a výběr je zvukem budoucnosti a přidanou hodnotou této práce.
30
Kapitola
Návrh 2.1
Volba procesu výběru
Obsahem této kapitoly je aplikace výsledků analýzy s cílem dosáhnout pokrytí všech potřebných technologií projektu Terra Incognita a zároveň volbu provést tak, aby se co nejvíce blížila té optimální. Předně je nutno rozhodnout o způsobu výběru technologií. Zvolím ze tří procesů výběru popsaných v předešlé kapitole (viz sekce 1.4.2/s28). Vzhledem k jejich povaze, kdy centralizovaný a kombinovaný proces předpokládají existenci aplikace včetně databáze, jsou jejich absencí možnosti redukovány na workflow. Vzhledem k tomu, že jsou známy cíle projektu a průběžně dochází k přesné specifikaci, ale není znám způsob a rozsah implementace, nebude možné sestavit priority kvalitativních kritérií a tak dokončit vyhodnocení a výběr.
2.2
Aplikace procesu workflow
Proces výběru workflow sestává z šesti celků, jsou jimi: 1. sestavení podrobného dělení včetně klíčových i kvalitativních kritérií podle potřeb projektu (viz sekce 2.2.1/s32); 2. sestavení topologického uspořádání na základě závislostí klíčových kritérií (viz sekce 2.2.2/s37); 3. souhrn rozumného množství dostupných technologií pro každou podmnožinu podrobného dělení, přičemž pořadí volíme dle topologického uspořádání (viz sekce 2.2.3/s38); 4. ohodnocení shromážděných technologií na základě stanovených kvalitativních kritérií (viz sekce 2.2.3/s38); 5. stanovení priorit kvalitativních kritérií ; 6. vyhodnocení na základě kvalitativních kritérií a jejich priorit. 31
2
2. Návrh
2.2.1
Sestavení podrobného dělení a hodnotících kritérií
Efektivní sestavení podrobného dělení vychází z konkrétních potřeb projektu. Musí být natolik podrobné aby bylo možné rozlišit všechny technologie, jenž je potřeba vybrat a zároveň natolik stručné, aby nedošlo k promrhání nadbytečně velkého množství času. Vývoj hry – hardware Server Sdílení informací mezi všemi, kdo se podílí na vývoji, je nesmírně důležité pro každý projekt. Nejsou to jen média jako grafika, hudba, zvuky ale především zdrojový kód, který potřebuje mít každý programátor aktuální. Dále na serveru běží některé další služby, kterými jsou automatický „nightly build“, regresní testy atp. V této sekci je na server nahlíženo z hardwarového hlediska. Klíčová kritéria: • bez omezení. Kvalitativní kritéria: • cena, • výpočetní výkon, • kapacita diskového pole, • umístění serveru (cloud), • rychlost připojení. Snímače pohybu Animování je jednou z nejdůležitějších částí vývoje moderní hry. Od svých počátků doznalo velmi výrazných pokroků, přes prvopočátky animování, dopřednou kinematiku, inverzní kinematiku až po klíčování, kosterní animace a skinning. Vrcholem současné doby nejen v herním, ale i filmovém průmyslu je technika snímání pohybu, anglicky motion capture, jenž se dá u menších projektů efektivně implementovat pomocí kinectu (viz sekce 1.2.10/s24). Klíčová kritéria: • bez omezení. Kvalitativní kritéria: • cena, • kvalita snímání. Konfigurace vývojářských stanic Vývojáři mnohdy potřebují k práci kromě výkonného počítače navíc specializovaný hardware. Grafik upřednostní high-end grafickou kartu, kvalitní monitor s věrným podáním barev, přesnou ergonomickou myš nebo elektronické pero. Programátor zas ocení rychlé CPU a RAM. Klíčová kritéria: • bez omezení. 32
2.2. Aplikace procesu workflow Kvalitativní kritéria: • cena, • výkon, • specializovaný hardware pro vstup, • specializovaný hardware pro výstup. Vývoj hry – software OS vývojářů Výběr operačního systému a jeho sjednocení v rámci celého týmu nám umožní snazší komunikaci členů týmu i snazší zálohování, dokumentaci či sdílení dat. Předně nevznikne problém s dostupností používaných nástrojů nebo problémy s kompatibilitou. Klíčová kritéria: • konfigurace vývojářských stanic. Kvalitativní kritéria: • dostupný software. OS serveru Na výběru operačního systému serveru závisí všechny služby na něm běžící, stejně tak jako stabilita, výkon, zabezpečení a v neposlední řadě i cena. Klíčová kritéria: • server. Kvalitativní kritéria: • dostupný software. Programovací jazyk Programovací jazyk je komunikační prostředek mezi programátorem a počítačem, umožňuje spouštět na počítači algoritmy. Jazyky jsou závislé na cílové platformě a OS. Klíčová kritéria: • cílová platforma, • konfigurace vývojářských stanic. Kvalitativní kritéria: • dostupné technologie, • paradigma. Hudební produkční software Zvuky a hudba jsou stejně neoddělitelnou součástí hr,y jakou je grafika. Uši jsou jedním z pěti smyslů člověka, které můžeme využít a byla by škoda tak neučinit. Klíčová kritéria: • bez omezení. 33
2. Návrh Kvalitativní kritéria: • nástroje. 2D grafický a animační software Potřeba 2D grafického a animačního softwaru nemusí nutně znamenat, že se celá hra bude vykreslovat ve 2D prostředí. Potřeba po takových nástrojích vyvstane při tvorbě textur, uživatelského rozhraní a podobně. 2D grafika se dělí na rastrovou a vektorovou. V herním průmyslu se zpravidla používá rastrová grafika z důvodu rychlosti výpočtu a hardwarových optimalizací. Vektorová grafika bývá označována za „svatý grál“ nekonečného rozlišení, v praxi herního vývoje však tato vlastnost zatím nenachází uplatnění(6). Důležitá je i podpora, komunita a dostupná dokumentace. Klíčová kritéria: • konfigurace vývojářských stanic, • OS vývojářů. Kvalitativní kritériad: • podporované formáty,nástroje, • podpora, komunita, dokumentace. 3D grafický a animační software Hráč očekává od moderní hry realistickou nebo nějak umělecky vyvedenou grafiku včetně animací, jenž je doslova oživují. Řešení se od sebe liší kupříkladu paletou nástrojů, podporovanými formáty, algoritmy, uživatelským prostředím, komunitou, podporou a dostupnou dokumentací. Klíčová kritéria: • konfigurace vývojářských stanic, • OS vývojářů. Kvalitativní kritéria: • podporované formáty, nástroje, • podpora, komunita, dokumentace. Programátorské IDE Sjednocení programátorského prostředí, zde myšleno nejen ve smyslu editoru ale i kompilátoru a dalších nástrojů, tzv. IDE. Nedílnou součástí IDE jsou pokročilé nástroje editování textu užitečné při refaktoringu, zvýraznění syntaxe a „autocomplete“ neboli automatické doplňování kódu během psaní. Jednotná adresářová struktura nám umožní vyhnout se některým problémům spojeným s údržbou projektu a usnadní konfiguraci. Zjednodušuje se verzování i zálohování. Bonusem je možnost pomoci mezi programátory a tvorba společné dokuemntace. Klíčová kritéria: • OS vývojářů, • programovací jazyk. Kvalitativní kritéria: 34
2.2. Aplikace procesu workflow • nástroje editování textu, • zvýraznění a struktura syntaxe, • automatické dokončování, • další nástroje. Automatická kompilace Automatické kompilace neboli tzv. „nightly build“, jsou v kombinaci s verzovacím nástrojem a „smoke testy“ dobrou praktikou jak se vyhnout problémům při integraci. Navíc lze tento proces velmi dobře automatizovat (12). Automatizace kompilace cílového jazyka neboli „build language“ se provádí pomocí popisu jiným jazykem, tzv. „description language“. Klíčová kritéria: • OS serveru • programovací jazyk. Kvalitativní kritéria: • úroveň automatizace. Verzovací nástroje Udržování zdrojového kódu pomocí verzovacích nástrojů rozsáhlého projektu, jakým je třeba hra, je dnes již standard. Používají se především dva typy repozitářů, centralizovaný (klient-server) a distribuovaný. Existují různá uživatelská rozhraní sahající přes webová, konzolová rozhraní až po desktopové aplikace. Velmi pestrá je nabídka nástrojů. Klíčová kritéria: • OS serveru. Kvalitativní kritéria: • platforma, • typ repositáře, • uživatelská rozhraní, • nástroje. Aplikace pro správu projektu Anglicky „project management application“. Jsou to aplikace určené pro kontrolu a správu stavu celého projektu. Jsou sestaveny z různých nástrojů jako jsou verzovací nástroje, správa členů, týmů a rolí, zadávání úkolů, různé pohledy na stav zadaných úkolů, Ganttův graf, kalendář, Wiki. Existují ve formě desktopových i webových aplikací. Klíčová kritéria: • verzovací nástroje. Kvalitativní kritéria: • architektura, • nástroje. 35
2. Návrh Testování Testování z hlediska softwarového inženýrství šetří čas i peníze. Vyšší pracnost vložená zpočátku se zpravidla vyplácí v pokročilé fázi projektu. Existuje spousta testovacích frameworků, které se liší zaměřením testů. Klíčová kritéria: • OS vývojářů, • programovací jazyk. Kvalitativní kritéria: • zaměření testů. Hra – hardware Platforma Výběr platformy či platforem je jedna z prvních věcí, kterou je třeba při vývoji rozhodnout. Na výběru je závislá spousta dalších rozhodnutí. Existuje množství platforem, nejpopulárnější je podle PCGA(3) v současné době PC, které má zhruba stejný podíl jako konzole Wii, Xbox 360, PS2 a PS3 dohromady. Opomíjeny nesmí zůstat ani smartphony, tablety, kapesní konzole a jiné. Hlavní proměnnou je různé uživatelské prostředí, což u některých platforem omezuje výběr některých žánrů. Na smartphonu si lze jen těžko zahrát online FPS. Klíčová kritéria: • žánr vyvíjené hry, • cílová skupina. Kvalitativní kritéria: • podpora technologií. Herní server Multiplayerová hra založená na technologii klient-server vyžaduje ze strany serveru vysoký výkon a schopnost přenášet velké objemy dat. Klíčová kritéria: • žádné omezení. Kvalitativní kritéria: • výkon serverů, • rychlost připojení k internetu. Ovladače K platformám se dá připojit celá rozmanitá škála ovladačů. Například PC má tradičně klávesnici a myš, ale i gamepad, kytaru, kinect, volant se zpětnou vazbou, snímače pohybu a jiné. Rozhodnutí zda podporovat i některé nestandardní ovladače závisí nejvíce na žánru, platformě a cílové skupině. Klíčová kritéria: • platforma, 36
2.2. Aplikace procesu workflow • cílová skupina, • žánr vyvíjené hry. Kvalitativní kritéria: • syntéza s UI. Hra – software Grafické API Grafické uživatelské rozhraní je jedním z nejsložitějších subsystémů hry a právě jeho implementace je ovlivněna výběrem grafického API, které je závislé na platformě. Výběr grafického API je omezený platformou a zužuje výběr z technologií jako je grafický či herní engine. Klíčová kritéria: • platforma. Kvalitativní kritéria: • grafický engine. Herní engine Herní engine ideálně integruje všechny herní softwarové technologie. Má tedy několik definovatelných součástí. Jeho součásti jsou například renderovací engine, fyzikální engine, zuk, skriptování, síťování, management scény, zpracování audia, GUI atd. Klíčová kritéria: • cílová platforma, • grafické API. Kvalitativní kritéria: • renderovací engine, • fyzikální engine, • zvuk, • skriptování, • síťování, • management scény.
2.2.2
Sestavení topologického uspořádání
Podstatou topologického uspořádání 11 je stanovení pořadí výběru. Potřeba řadit výběr pramení z provázání množin podrobného dělení klíčovými kritérii, kdy výběr technologie X změní výběr technologie Y, čili Y má X mezi klíčovými kritérii. 1. Snímače pohybu, 11 Uspořádání jsem sestavil použitím aplikace tsort, která je součástí GNU Core Utilities - coreutils
37
2. Návrh 2. hudební produkční software, 3. cílová skupina, 4. žánr vyvíjené hry, 5. cílová platforma, 6. server, 7. konfigurace vývojářských stanic, 8. programovací jazyk, 9. OS serveru, 10. 3D grafický a animační software, 11. 2D grafický a animační software, 12. OS vývojářů, 13. grafické API, 14. ovladače, 15. verzovací nástroje, 16. aplikace pro správu projektu, 17. automatická kompilace, 18. testování, 19. programátorské IDE, 20. herní engine.
2.2.3
Souhrn a hodnocení dostupných technologií
Nyní, když máme pokryté všechny potřebné množiny technologií a pořadí, ve kterém je volit tak, aby jsme se vyhnuli problémům se závislostmi a zároveň jimi výběr chytře zužovali, můžeme začít s výběrem vhodných zástupců. Výhodou kombinovaného a centralizovaného řešení by v této chvíli byla obšírná databáze technologií, nemuseli bychom v tomto kroku omezovat množství kandidátů. Hudební produkční software Závislosti: Profesionální hudební produkční software má za sebou mnohaletý vývoj. Kdysi jednoduchý software, který značně spoléhal na hardware je nyní schopen jak vytváření skladeb od základu, tak i úpravy nahraných zvuků. Klíčové při porovnání jsou paleta nástrojů na tvorbu a editaci hudby, jednoduchost, uživatelská přívětivost, podpora a komunita. Hudební a produkční software není jedinou možností jak získat hudbu a zvuky do hry. Často používanou metodou je v tomto případě outsourcing. Na 38
2.2. Aplikace procesu workflow internetu lze pořídit předem nahrané zvuky a hudbu zdarma i za peníze, placené stránky nabízejí zpravidla kvalitnější a větší výběr. Další populární možnost je najmutí profesionála nebo celé společnosti. Ableton Live 8 Flexibilní software, umožňující rozmanité úpravy grafického prostředí. Je to profesionální software používaný mnohými známými umělci po celém světě. Podporuje skoro všechny dostupné nástroje na úpravu hudby. Interface je intuitivní ve stylu filosofie „easy to learn but hard to master“. FL Studio Producer Edition 8 Varianta s výborným poměrem ceny a výkonu. Nabízí celou škálu nástrojů. Dokumentace je propracovaná, ale za příplatek. Výhodou jsou doživotní updaty zdarma. Je uživatelsky přívětivý. Reason Profesionální špičkové řešení za přijatelnou cenu. Nástroje na tvoření a editaci jsou asi na nejvyšší úrovni jakou lze sehnat. Prostředí je navrhováno pro použití profesionály, což znamená vyšší náročnost pro nováčky. Snímače pohybu Závislosti: Rozvoj systémů snímání pohybu je trendem zejména posledních let, k jeho rozvoji však dochází již od 70. až 80. let 20. století coby součást fotogrammetrické analýzy. Účelem je nasnímat pohyb trojrozměrného objektu v prostoru pomocí tzv. „markerů“ neboli značek, jenž mohou být snímány použitím různých technologií. Zvláštní zájem je pak o snímání lidí – i většího počtu najednou. Nebudu zacházet do technologických detailů, jejichž rozsah by mnohokrát překročil rozsah celé této práce a shrnu pouze některé důležité faktory ovlivňující správný výběr. Technologie snímání se dělí do dvou základních kategorií, optické a ostatní. Optické systémy využívají optické markery a systém kamer. Donedávna bylo jejich největším omezením nutnost kontrolovaných světelných podmínek, nebylo tak možné natáčet v exteriérech, pouze v rozměrných halách, které celý proces prodražovaly - toto omezení již patří mezi překonané. Špičkové optické systémy mají v současnosti dominantní postavení na trhu a jsou považovány za nejpřesnější. Společná vlastnost většiny ostatních systémů je absence kamer. Markery nemusí být snímány - generují signál. Ať už jde o exoskeleton, systém gyroskopů nebo systém cívek, jsou tyto markery upevněny na tělo. Z toho plyne i nevýhoda některých těchto systémů, tou je snímaní absolutní pozice v prostoru, koordináty jsou totiž generovány v souřadnicovém systému snímané postavy. Tato nevýhoda může být překonána například doplněním o systém kamer. Obecně jsou tyto systémy méně přesné, ale snadno použitelné a méně nákladné než optické systémy. Z řady vyčnívá snímač Kinect, který může přijít vhod zejména vývojářům indie her či jednotlivcům (viz sekce 1.2.10/s24). 39
2. Návrh Tabulka 2.1: Hráčův věk Dotaz: „Do a) 15-19 b) 20-26 c) 27-40 d) 40+
jaké věkové skupiny patříte?“ 28 5% 499 91% 21 4% 1 0%
Tabulka 2.2: Doba hraní Dotaz: „Hraju hry stylem:“ a) přijdu - kliknu - odejdu (cca 15min) b) přijdu – zahraju si - odejdu (45min - 1,5hod) c) přijdu - hraji tak dlouho, jak mě to baví - odejdu
63 159 327
11% 29% 60%
Tabulka 2.3: Soustředění Dotaz: „Při hře:“ a) se věnuji pouze hře samotné b) stíhám psát na facebook a icq (občas i psát sms a volat) c) stíhám jíst i hrát zároveň d) si stíham dávát pauzu :)
230 86 147 86
42% 16% 27% 16%
Společný všem systémům je manuální postprocessing nasnímaných dat, se kterým se musí počítat. Náročnost postprocessingu roste úměrně s komplexností scény a choreografie. Cílová skupina Závislosti: Terra Incognita je projekt zaměřený na unikátní kombinaci vzdělání a zábavy. Cílovou skupinou jsou především studenti, se zaměřením na technické školy. Specifika pro tuto skupinu vyplývají z výsledků ankety12 , jejíž analýza následuje. Postupně tak vznikne profil průměrného cílového uživatele. Použité termíny hardcore a casual hráč jsou převzaté a podrobně rozebrané v knize Copy paste culture v článku „What Makes a Gamer Hardcore?“(8). Průměrný cílový uživatel se dá popsat jako student ve věku 20-26 let(viz anketa 2.1/s40). Spíše inklinuje k delším časovým intervalům (viz anketa 2.2/s40) a při hře se nenechá rušit (viz anketa 2.3/s40), obojí je charakteristické pro tzv. hardcore hráče. Takový hráč často preferuje hry před jinými zájmy. Je třeba si uvědomit, že priority nejsou jediným hlediskem a stanovit přesnou dělící čáru mezi hardcore a casual hráčem není možné, naštěstí to ani není potřeba. Z článku „What Makes a Gamer Hardcore?“(8) je patrná existence několika různých profilů hardcore hráčů. Soutěživost a možnost soupeření je ve zkoumané cílové skupině podporována (viz anketa 2.5/s41) až vyžadována (viz anketa 2.6/s41), nicméně se zdá, že motivace hráčů je trochu jinde (viz anketa 2.4/s41). Relaxace a zábava je typická pro casual hráče. 12 Je
40
zachováno originální znění otázek
2.2. Aplikace procesu workflow Tabulka 2.4: Účel hraní Dotaz: „Hry hrajete za účelem:“ a) být v nich nejlepší b) abych si na chvíli oddechnul c) prostě mě to baví d) hraju jen když se nudím e) hraju ze zvědavosti f) počítačové hry moc nehraju
26 169 232 35 19 68
5% 31% 42% 6% 3% 12%
Tabulka 2.5: Soutěživost Dotaz: „Myslíte, že je důležité učinit hru soutěživou? (např. existence herního žebříčku)“ a) Ano 368 67% b) Ne 181 33% Tabulka 2.6: Soupeřivost Dotaz: „Rádi byste soupeřili s jinými školami, fakultami či obory?“ a) Ano 393 72% b) Ne 156 28%
Zastoupení obou skupin jak casual, tak hardcore potvrzují preferované herní platformy (viz anketa 2.9/s42). Žánr vyvíjené hry Závislosti: cílová skupina. Herních žánrů je celá řada, populární jsou i jejich kombinace. Žánr je vymezen specifikací na základě výsledků ankety – specifikací přímo od cílové skupiny. Z výsledků vychází coby nejoblíbenější žánr RPG. V relativně těsném závěsu je strategie a oblibě se těší i hry akční. Logické nejsou preferovány, což lze vysvětlit touhou po relaxaci a zábavě, nikoliv po výzvách a problémech (viz anketa 2.4/s41). V kontextu s profilem průměrného cílového hráče (viz sekce 2.2.3/s40) se jako optimální jeví kombinace akční realtime13 strategie a RPG. V takové kombinaci žánrů lze snadno skloubit komunitu, rychlé odměňování i dlouhodobé cíle a uspokojit tak většinu cílových hráčů. 13 realtime strategie – ve hře čas plyne konstantní rychlostí, vnímáno jako protiklad strategií tahových, kde se hraje na kola (tahy)
Tabulka 2.7: Žánr Dotaz: „Jaký žánr máte nejraději?“ a) Akční hry (olovo, střelba a zlomený kosti, to je moje) b) Logické hry (důležitý je si procvičit mozkové závity) c) RPG (prostě mě baví zachraňovat svět před zkázou) d) Strategie (hra bez budov a jednotek je jako kola bez cukru)
114 52 212 171
21% 9% 39% 31% 41
2. Návrh Tabulka 2.8: Multiplayer Dotaz: „Máte radší singleplayerové hry nebo hry multiplayerové?“ a) Singleplayer, ostatní hráči se mi pletou pod nohy 146 27% b) Multiplayer, hrát sám je nuda 141 26% 262 48% c) Kombinace, baví mě totiž obě Tabulka 2.9: Platformy Dotaz: „Na jakém operačním systému byste si přáli hrát tuto hru:“ a) Windows 403 73% 120 22% b) Linux c) Mac OS 21 4% 5 1% d) Jiný OS Tabulka 2.10: Implementace Dotaz: „Byli byste radší kdyby hra byla implementována formou:“ a) Webové aplikace 184 34% b) Desktopové aplikace 352 64% c) Jinak 13 2%
Multiplayer, který zažívá obrovský boom samozřejmě jak dokazují výsledky (viz anketa 2.8/s42) nesmí chybět. Z výsledků je také jasně vidět podobný zájem o singleplayer. Nejlepší je samozřejmě kombinace obojího, což se dalo předpokládat. Cílová platforma Závislosti: cílová skupina, žánr vyvíjené hry. Zde pod platformou rozumíme specifikaci stroje, na kterém hra poběží. Může to být PC, u kterého dále rozlišujeme OS, dále to může být hrací konzole, které rozlišujeme podle výrobce a typu, různé druhy mobilních zařízení, od mobilních telefonů, až po kapesní konzole, tablety. Každá platforma přináší svá specifika a ne každá se hodí pro všechny žánry – to je v případě projektu Terra Incognita zásadní, protože žánr vychází z výsledků ankety a kvůli omezením spjatým s ovladači u většiny zařízení limituje výběr na PC. Při tvorbě ankety však bylo na tento případ myšleno a tak byl dotaz na cílové OS zahrnut mezi ostatní. Jako vítěz se ukázal OS Windows, což lze od hráčů díky přetrvávající silné herní tradici spojené s tímto systémem očekávat. Nezanedbatelné zastoupení má i OS Linux14 , který je zřejmě mezi studenty ČVUT oblíbený. Požadavek na multiplatformnost sice fluktuuje, ale bude dle rozhodnutí týmu zahrnut. Pokud by hra byla implementována čistě přes webové rozhraní, bylo by jí možné hrát z OS Windows i Linux. Přestože výsledky ukazují na aplikaci desktopovou (viz anketa 2.10/s42), tak má webové řešení své příznivce. Hra tak bude mít webové rozhraní, kde bude přehled o stavu hry, ale bez možnosti zásahu. 14 Zde
42
jsou pod názvem OS Linux myšleny všechny OS zaležené na Linuxu.
2.2. Aplikace procesu workflow Tabulka 2.11: Hráčovy priority Dotaz: „Vyberte Grafika 1 71 13% 2 213 39% 3 113 21% 4 104 19% 5 48 9%
jak jsou pro Vás následující aspekty důležité (1 velmi, 3 nevím, 5 vůbec):“ Multiplatformnost Kvalita zpracování Pestrost 1 91 17% 1 318 58% 1 170 31% 2 99 18% 2 122 22% 2 189 34% 3 110 20% 3 23 4% 3 109 20% 4 101 18% 4 24 4% 4 45 8% 5 148 27% 5 62 11% 5 36 7% Tabulka 2.12: Způsob získávání her
Dotaz: „Hry získávam přes:“ a) Online obchod (např. Steam) b) Herní portály (např xzone.cz) c) Výměnné sítě d) Půjčením
200 68 182 99
36% 12% 33% 18%
Server Závislosti: Server je dnes nedílnou součástí vývojového prostředí, nabízí všestranné využití. Aby bylo možné jeho výhod naplno využít, je nutné zvážit hardwarovou konfiguraci. První otázkou je, zda koupit vlastní server nebo využít cloud. Rozdíly v řešení jsou nutnost vlastních prostor, ochrana dat, spolehlivost. Další je výkon a způsob uložení dat. Výkon a kapacitu disků je třeba škálovat podle rozsahu týmu. Co by nemělo chybět, je kompletní záloha všech disků, nejlépe pomocí technologie RAID – ať už RAID 1 nabízející ochranu dat pro menší projekty nebo RAID 60 pro velké projekty, který kromě ochrany nabízí i vyšší výkon. Vyloučeny nejsou ani ostatní typy technologie RAID s podporou ochrany dat. Vzhledem k faktu, že multiplayer projektu Terra Incognita je navržen architekturou klient-server, tak se dá očekávat vysoké zatížení serverů. Nejen z tohoto důvodu, ale i z důvodu ochrany dat, by bylo vhodné oddělit herní server od implementačního. Na základě výsledků ankety spatřuji zajímavou možnost využít server k distribuci hry samotné (viz anketa 2.12/s43) (za předpokladu, že bude nabízena zdarma).
Konfigurace vývojářských stanic Závislosti: Konfigurací vývojářských stanic je myšlena nejen konfigurace PC, ale i všechna používaná periferní zařízení. Taková se týkají primárně grafiků, ať už jde o vstupní nebo výstupní periferní zařízení a plně závisí na vývojářském týmu, jehož složení není k dispozici. 43
2. Návrh Programovací jazyk Závislosti: cílová platforma. Programovacích jazyků existuje celá škála. Výběr je obrovský, ale ne každý je dostatečně výkonný, aby dokázal při rozumném úsilí splnit očekávání a cíle. Navíc je výběr jazyka závislý na použité platformě. Programovací jazyky se dělí na „low-level“ neboli nižší programovací jazyky a „high-level“ neboli vyšší programovací jazyky. Nižší programovací jazyky jsou obecně rychlejší, ale je náročnější je zvládnout na profesionální úrovni a vybudovat na nich tak komplexní aplikace, jako jsou hry. Příkladem nižších programovacích jazyků je jazyk symbolických instrukcí neboli assembler, jsou závislé na platformě a na programování her nevhodné. Vyšší programovací jazyky podporují vyšší míru abstrakce za cenu výkonu. Hodí se na rapidní vývoj komplexních aplikací – hry se řadí mezí nejkomplexnější aplikace vůbec. Jsou nezávislé na platformě. Dělí se na kompilované, interpretované a případně kombinované. Interpretované jazyky ztrácejí na výkonu kvůli nutnosti interpretace za běhu, ať už jde o přímou interpretaci, překlad do mezikódu nebo do strojového kódu. U kompilovaných jazyků nutnost interpretace odpadá díky kompilaci, což vede k nárůstu výkonu oproti jazykům interpretovaným. Oblíbenými jazyky pro platformu PC s operačními systémy Windows a Linux pro vývoj her jsou C, C++, C#, Java, Python. Většina dostupných herních enginů je vytvořena především na těchto jazycích. Největší oblibě se z této nabídky těší C++, který je vhodnou kombinací nižšího a vyššího programovacího jazyka. „Very high-level“ jazyky s velkou mírou abstrakce se využívají tam, kde je potřeba vysoká produktivita a ztráty na výkonu nejsou překážkou. Své uplatnění tak najdou jako skriptovací jazyky, kdy je možné zasahovat do hry a měnit způsob chování herních objektů bez nutnosti náročné kompilace. Oblíbené skriptovací jazyky jsou LUA, Python, JavaScript, XML. OS serveru Závislosti: server. Pod pojmem server obecně rozumíme počítač připojený vysokorychlostním připojením do sítě, na kterém běží počítačové programy – služby. Parametry, které musí server splňovat, se liší od osobních počítačů. Servery typicky nepotřebují podporu velkého množství různých aplikací, nemusí mít ani GUI. Běží na nich aplikace specifické aplikace – databázový server, herní server, emailový server atd. Podstatným parametrem je stabilita, která podmiňuje dostupnost těchto služeb. Výkon serveru je další kritický parametr, podhodnocení opět vede k zahlcení serveru a nedostupnosti služeb. OS běžící na serveru je zpravidla Linux nebo Windows. Výhodou Linuxového serveru je větší stabilita. Windows servery při změně v konfiguraci často vyžadují restart, oproti čemuž je Linuxový server možné konfigurovat přímo za běhu. Cena je často dalším významným faktorem. Licence OS založených na Linuxu jsou zdarma, za licence pro Windows se platí. Linux je flexibilnější, 44
2.2. Aplikace procesu workflow lze ho oproti Windows modifikovat, to ale nemusí být vždy výhoda, na některé úpravy je pak třeba vyšší specializace a z hlediska podpory je na tom pak Linux hůř než Windows, který má Microsoft TechNet. Co se zabezpečení týče, mají převahu Linuxové servery, které jsou ve výchozím nastavení velmi restriktivní. 3D grafický a animační software Závislosti: Detailní realistická nebo jinak specifická grafika, včetně věrohodných animací, je dnes již standardem, který hráč očekává. Dosahováno jí je pomocí různých aplikací, které se liší hlavně paletou nástrojů, pomocí kterých výsledné dílo vzniká. Výběru správného nástroje předchází diskuse o stylu a atmosféře, jenž má výsledek navodit – správně volené nástroje umožní podtrhnout a nechat vyniknout herní atmosféru. Anim8or Populární zástupce jednoduchých aplikací na 3D modelování a animování. Díky absenci pokročilých technik se velmi snadno používá, je intuitivní a je zdarma. Nabízí základní nástroje na editaci 3D modelů, jako jsou subdivision, splines, extrusion, lathing, modifiers, bevel a warps. Vektorové 2D i 3D TrueType fonty. Podpora importu 3DS, LWO a OBJ. Export do 3DS. Kosterní animace, morph targets, textury (BMP, GIF a JPG), bump mapy, stíny, spotlights, mlhu. Výhodou je i velké množství dokumentace a tutoriálů. Blender Blender je multiplatformní open source aplikace zaměřená na vytváření 3D modelů, animací, rendering, postprodukční činnost a v neposlední řadě interaktivních aplikací. V současnosti je asi nejlepší volbou zdarma, dokáže konkurovat profesionálním placeným aplikacím. Obsahuje také GameEngine, ve kterém je možné vytvářet interaktivní prezentace nebo dokonce počítačové hry. Skriptování za pomoci jazyka Python. Nabízí Nurbs plochy, bezier a B-spline křivky, metabally, vektorové fonty, editování polygonálního meshe s volitelnou selekcí vertexů, hran nebo faců, Catmull-Clark povrchy, booleanské operace pro mesh, spoustu editovacích funkcí jako extrude, bevel, cut, spin, screw, warp, subdivide, noise, smooth atd. Deformační armatury s dopřednou i inverzní kinematikou, skinning s interaktivním nastavováním vah, rigging, pose editor, editor nelineární animace, walkcycle, animace vertex keys a relative vertex keys, SoftBodies, animovatelná deformace lattice, motion curve i tradiční keyframe, podpora prakticky všech hlavních formátů s možností doplnit nové pomocí pythonovských skriptů. Blender se pyšní obrovskou komunitou, kvalitní dokumentací a množstvím tutoriálů. Maya Populární aplikace s dílny Autodesku. Jedná se o profesionální řešení a řadí se mezi nejlepší software na trhu, čemuž odpovídá i velmi drahá licence. Obsahuje prakticky všechny dostupné nástroje na modelování a animování, určuje tempo a směr vývoje grafických nástrojů. Mezi nejnovější technologie patří: nHair, nCloth, nParticles, alembic caching, bullet physics, heat map skinning, trax clip matching, fur, fluid effects a mnoho dalších. Jedná se určitě o jedno z nejlepších, ne-li nejlepší řešení. 45
2. Návrh 2D grafický a animační software Závislosti: Profesionální zpracování 2D obrázků je třeba kvůli jejich použití ku příkladu v prvcích uživatelského rozhraní a textur. Používají se obrázky rastrové, nikoliv vektorové, které však mohou být chápány jako hudba budoucnosti. The Gimp GIMP – GNU image manipulation program. Jak název napovídá, jde o svobodný software a je zdarma. Škála nástrojů je poměrně pestrá, najdeme v něm spoustu kreslících nástrojů, brush, pencil, airbrush, editor přechodů, blending, alfa kanál, transformace, vrstvy, manipulaci s barevnými kanály, editovatelné texty, nástroje pro obdélníkový, elipsoidní, volný, bazierovský a polygonální výběr, nástroj na extrahování pozadí, masky a mnoho dalších. Zvládá i animace a je snadno rozšiřitelný spoustou existujících modulů napsaných v jazycích Scheme, Python či Perl. Je multiplatformní, má podrobnou dokumentaci a žijící komunitu. Paint Shop Pro Aplikace s výborným poměrem ceny ku výkonu od společnosti Corel. Osobně považuji Paint Shop Pro za intuitivnější než The GIMP. Zvládne některé komplexnější operace než The GIMP, nabízí přívětivý user interface – dobrý nápad je třeba panel s nápovědou dle vybraného nástroje. Nabízí výbornou podporu, celou řadu tutoriálů i žijící komunitu. Photoshop Photoshop je profesionální řešení od společnosti Adobe. V dnešní době je považován de-facto za firemní standard. Lze v něm najít všechny základní i pokročilé nástroje. Stejně jako GIMP a Paint Shop Pro pracuje s vrstvami, navíc má spoustu dalších nástrojů. Je to asi nejlepší software v této kategorii, jenž určuje tempo dalšího vývoje. Jde o velmi komplexní software s velkou komunitou a kvalitní podporou, ale bohužel ještě větší pořizovací cenou. OS vývojářů Závislosti: konfigurace vývojářských stanic, 3D grafický a animační software, 2D grafický a animační software. Operační systém běžící na vývojářských stanicích je podmíněn konfigurací, čímž je myšlena podpora veškerého hardwaru včetně periferií a požadovaného softwaru, který je v plánu při vývoji nasadit. Sjednocení operačního systému má kladný vliv na kompatibilitu, bude možné nasadit stejné aplikace a lze se tak vyhnout různým nástrahám. Dostupné relevantní operační systémy pro Windows 7, OS X a Linux15 . Grafické API Závislosti: cílová platforma. 15 Myšleny
46
jsou všechny operační systémy založené na Linuxu
2.2. Aplikace procesu workflow Výběr grafického API je jedním z nejdiskutovanějších témat, kolem kterého panuje až „náboženská“ atmosféra. Výběru by mělo optimálně předcházet porozumění struktuře a filosofii návrhu. Výsledky ankety v tomto případě zužují výběr grafických API na PC platformu – na DirectX a OpenGL (viz anketa 2.9/s42). Obě grafická API jsou navržena jako prostředník mezi aplikací a hardwarem. Pokud hardware nezvládá některé z požadavků, potom jsou schopné požadovaný požadavek emulovat. To je samozřejmě mnohem pomalejší. Cílem tak bylo sjednotit API pro veškerý hardware s jejich podporou. Jedním z rozdílů mezi DirectX a OpenGL je použitý jazyk. OpenGL používá C, kdežto DirectX používá nový programovací jazyk COM. S použitím DirectX tak vzniká potřeba naučit se nový jazyk. S oběma je možné docílit hezky vypadající hry. Kvalita podpory OpenGL a DirectX se u grafických ovladačů se však liší. U „high-end“ grafických karet se dá spolehnout na kvalitní podporu obojího, ale „low-end“ karty často upřednostní DirectX a OpenGL vyjde buď se zpožděním nebo nekvalitní implementací. Další problém přináší podpora více platforem. DirectX je API z dílen Microsoftu a je nekompatibilní s Linuxem. Herní nebo grafické enginy často podporují obě grafická API a nebo je možné tento problém vyřešit omezením se na OpenGL, které je multiplatformní. Ovladače Závislosti: cílová platforma, cílová skupina, žánr vyvíjené hry. Ovladače mají spoustu závislostí, díky kterým se výčet kandidátů snižuje až na úplné minimum. Velkým omezením není v případě tohoto projektu platforma ani cílová skupina jako spíš žánr. Terra Incognita má být kombinace realtimové strategie a RPG. Po tomto zjištění nezbývá než volit klasickou PC kombinaci – klávesnice a myš. Verzovací nástroje Závislosti: OS serveru. Při výběru technologie verzovacího nástroje je nutno myslet na závislost na OS serveru. V našem případě není možné tento fakt brát v úvahu, jelikož tým a rozsah implementace jsou neznámé. Verzování znamená sledování a uchovávání veškerých změn verzovaných dat. Verzují se především zdrojové kódy a dokumentace, ale v podstatě lze verzovat jakákoliv data. Poptávka po těchto nástrojích pramení z týmové práce na projektu, kdy každý člen týmu vlastní díky úpravám odlišnou verzi dat. Každá změna má unikátní číslo revize. Často užívané techniky jsou branching, merging, tagging. Branching se používá v případě, kdy je potřeba udržovat více kopií verzovaných dat, na kterých probíhají různé práce zároveň. Tagging je označení specifických revizí smysluplným názvem, může jít například o betaverzi, verzi 1.0 atp. Merging je slévání větví (branches) zpět do hlavního kmenu (trunk), jedná se o integraci. Používají se především dva typy repozitářů. Centralizovaný (klient-server) má všechny revize uloženy na serveru, ke kterému se členové týmu mohou 47
2. Návrh připojit a pracovat s ním. Distribuovaný spoléhá na peer-to-peer16 spojení, kdy dochází k aktualizací revizí pomocí zasílání patchů mezi klienty, každý klient má kompletní historii revizí, čímž se tento přístup stává odolným vůči ztrátě dat. Subversion Neboli SVN, populární zástupce centralizovaných verzovacích systémů šířených pod bezplatnou open source Apache 2.0 licencí, lze ho vyžít i pro komerční účely. Je multiplatformní, dá se provozovat více způsoby, přes HTTP protokol a Apache server nebo jako samostatná serverová aplikace. Kopírování, mazání a změna názvu jsou verzovány a to jak u souborů, tak u adresářů. Commit je atomická17 operace. Branching (větvení) a tagging (verzování) jsou konstantní operace. Podporuje uzamykání na úrovni souborů. Interaktivní řešení konfliktů při mergingu (integraci). Změny jsou rozdílové čili jejich velikost odpovídá velikosti změněné části. Přístup k repozitáři je přes konzoli, webové rozhraní nebo například aplikaci TortoiseSVN. GIT Je oblíbeným zástupcem distribuovaných verzovacích systémů. Nabízí GPLv2 open source licenci, lze ho vyžít i pro komerční účely. Odlišný je hlavně branching (větvení) a merging (integrace). GIT vybízí k vytváření většího množství větví strategií jedna větev pro každou situaci, ať už jde o experiment, opravu, cokoliv. Při commitu do sdílení si pak můžeme vybírat, které větve commitnout. GIT, přestože oproti centralizovaným řešením ukládá spoustu redundantních dat, je rychlejší ve většině ohledech než SVN. Díky distribuci repozitáře mezi všechny členy týmu prakticky nehrozí ztráta dat, každý vlastní celý repositář. Zároveň nabízí celou řadu workflow, ať už princip sdíleného repositáře, kam může uživatel zapisovat pouze v případě, že vlastní poslední verzi, nebo pro větší projekty pomocí dělení rolí na diktátory, poručíky a vývojáře. Klíčování dat probíhá hashováním, což zaručuje integritu projektu. Existují webová i desktopová grafická rozhraní. Aplikace pro správu projektu Závislosti: verzovací nástroje. Aplikací pro správu projektu je obrovské množství a není možné je tu podrobně rozebrat. Software management je u větších týmů bezesporu nutnost, ale bez znalosti implementačního týmu a jeho rozsahu se nedá určit zda bude přínosem či nikoliv – malé týmy jsou schopné benefitovat z osobních setkání, naopak větší týmy rozprostřené po celém světě nebudou bez takových nástrojů schopny smysluplné organizace práce. Významná součást všech těchto nástrojů je verzovací systém a bug-tracking neboli správa, sledování a odstraňování chyb v programu. Další rozhodnutí, které povede k výběru je architektura daného řešení. Populární jsou webové aplikace, nevýhodou je však nutnost internetového připojení. Architektura desktopové klient-server aplikace takové omezení eliminuje ale mohou být závislé na platformě. Ostatní rozdíly nejsou tak podstatné. 16 Peer-to-peer je typ počítačové sítě, ve které komunikují klienti přímo mezi sebou, bez prostřednictví serveru 17 Atomická operace je taková, která se buďto provede celá nebo vůbec
48
2.2. Aplikace procesu workflow Automatická kompilace Závislosti: OS serveru. Automatická kompilace úzce souvisí s pojmem continuous build, což je způsob kontroly kvality softwaru po malých krocích aplikovaných v malých časových intervalech. Neomezuje se pouze na, jak už název napovídá, automatickou kompilaci kompilovaných jazyků. Požadavky na takový moderní systém jsou navíc distribuovaný build, automatické testování, řešení závislostí, generování dokumentace, správa ostatních automatických procesů a jiné. Automatický build může probíhat na příkaz, podle plánu (nightly build) nebo dokonce po každém commitu do repositáře verzovacího systému. AntHill Placené řešení, které nabízí všechny dostupné vymoženosti continuous integration. Za zmínku stojí distribuovaný, multiplatformní build, podpora jazyků Java, .NET, C/C++, „test build“, integraci testovacích nástrojů (QuickTest Pro, Selenium, xUnit), deployment automation (automatické nasazení různých aplikačních vrstev) a mnoho dalšího (pluginy), jedná se o vpravdě pokročilou aplikaci. Jenkins Původním jménem Hudson. Pyšní se jednoduchým nastavením, podporou testování, distribuovaným buildem, spoluprací s verzovacími nástroji (build při změně repositáře) a mnoha dalšími vymoženostmi prostřednictvím mnoha existujících pluginů. CruiseControl Nabízí kvalitní řešení automatizace buidů pro širokou nabídku jazyků, která je dále rozšiřitelná pomocí pluginů. Spolupracuje s mnohými verzovacími nástroji. Skládá se ze tří modulů. Build loop module, což je daemon18 , nabízí podporu různých buildů nastavitelných pomocí XML. JSP reporting module umožňuje přehledné zpracování výsledků a řešení problémů. Dashboard module je webová aplikace, je to přehled všech buildů a jejich stavů. Možnost distribuovaného buildu. Testování Závislosti: OS vývojářů, programovací jazyk. V počátcích herního průmyslu testování her prakticky neexistovalo, jenže s rapidním nárůstem komplexnosti her se stalo neoddělitelnou součástí všech větších i menších společností. Technologie a způsoby testování her využívají nejen standardních technik softwarového inženýrství, ale i dalších metodologií testování, jenž se často u různých společností liší. Jde předně o využití testerů, lidí školených v technikách různých testování. Techniky testování jsou: kombinatorické testování, test flow diagramy, cleanroom testy, testovací stromy, testování hraním (Ad-hoc).(14) Způsoby testování nejsou na rozdíl od většiny ostatních podmnožin podrobného dělení vzájemně výlučné, lze je kombinovat. 18 Proces vyčkávající v nečinnosti na nějakou aktivitu, kterou následně obslouží bez nutnosti zásahu uživatele
49
2. Návrh Programátorské IDE Závislosti: OS vývojářů, programovací jazyk. Škála programovacích jazyků se závislostmi na anketě zmenšila na následující, jsou jimi Java, C/C++, C# a Python. V případě C# je volbou Microsoft Visual Studio. Pro zbytek uvedených jazyků existuje celá řada výborných IDE. Microsoft Visual Studio Výborné IDE od Microsoftu, nabízí předně bezesporu nejlepší autocomplete ze všech, zvaný IntelliSense. Zvýraznění syntaxe a struktury, pokročilý refaktoring kódu, profiling, pokročilý debugging, podpora databází a služeb, podpora testování, automatické generování UML diagramů a spousta dalších vymožeností jsou samozřejmostí. Express edice, ve které některé vymoženosti chybí je zdarma. Nevýhoda je závislost na OS Windows. Nepodporuje Javu ani gcc. Rozšiřitelné pomocí pluginů. Možnost přidání pluginu IronPython, což je implementace jazyku Python zacílená na .NET. Code::Blocks Odlehčené a velmi výkonné multiplatformní open source řešení napsané v C++. Populární řešení multiplatformních projektů psaných v jazyce C++. Podporuje velké množství kompilátorů, debugger, pokročilé breakpointy, zvýraznění syntaxe a struktury, chytré formátování kódu, autocomplete a mnoho dalších. Rozšiřitelný pluginy, například o jazyk Python. NetBeans Poněkud těžkopádné open source IDE napsané v jazyce Java, díky čemuž je však multiplatformní. Jedno z nejlepších řešení pro vývoj projektů psaných v jazyce Java. Podporuje jazyk C/C++. Vyhledávání, refaktoring, zvýraznění syntaxe a struktury, podpora více monitorů, podpora databází a služeb, rozšiřitelný pluginy, integrovaný, integrace s některými nástroji pro automatický build (Jenkins). NetBeans je výborné komplexní open source řešení. Herní engine Závislosti: cílová platforma, grafické API. Z ankety vyplývají následující zásadní požadavky a rozhodnutí. Terra Incognita bude multiplatformní projekt, běžící minimálně na OS Windows a Linux (viz anketa 2.9/s42 a 2.11/s43), implementaný jako desktopová aplikace (viz anketa 2.10/s42), součástí je singleplayer i multiplayer (viz anketa 2.8/s42). Důležité je kvalitní zpracování, přičemž grafika je vnímána jako významný prvek (viz anketa 2.11/s43). Engine musí být dost flexibilní na to, aby zvládl žánr RTS kombinovaný s RPG (viz anketa 2.7/s41). Požadavek na podporu OS Linux ve spojení se závislostí na grafické API znamená, že vybraný herní engine musí podporovat renderování přes OpenGL. Ogre3D Ogre3D stojí někde mezi renderovacím a herním enginem. Je psaný v C++. V základu jde pouze o renderovací engine, ale vlivem komunity a jeho nasazením ve hrách kolem něj vznika spousta pluginů, které z něj herní engine vytvářejí. Některé tyto pluginy do sebe postupně integroval, 50
2.2. Aplikace procesu workflow jiné se dají snadno přidat. Ogre3D tak lze doplnit například o GUI, fyzikální engine, multiplatformní zpracování vstupu, audia a další. Zvládá moderní renderovacích techniky, podporuje DirectX i OpenGL. Podporuje jazyky pro programování shaderů, Cg, HLSL i GLSL. Operace jako multiple pass effect, změna LOD, volumetric textures, několik technik stínů, sofistikované kosterní animace (blending, skinning), morph a pose animace, komplexní hierarchickou scénu (BSP, Octree), billboardy, skybox, skydome, skyplane, particle system, spoustu technik postprocessingu a mnoho dalších. Je velmi flexibilní. jMonkey jMonkey je herní open source engine psaný v jazyce Java. Jeho renderovací engine využívá OpenGL API. Podporuje shader jazyk GLSL. Pokročilé efekty světla per-pixel, multi-pass, glow mapping, bump mapping, parallax mapping, reflection. Má integrovaný fyzikální engine Bullet Physics. Particle effect, post processing, skybox, skydome, geomipmapped hightmap terrain. Asset system, který nabízí možnost popsat UI, modely a další mimo programový kód v logických celcích a oddělit tak programování od načítání texutr, scén, materiálů, modelů, animací a dalších. Podpora síťování, UDP, TCP, komprese dat. Podpora GUI, text box, list box, drop box, slider, scrollpanel. Systém na práci s kamerou, vstupem, vláknování. Unigine Unigine je profesionální komerční řešení. Je to plnohodnotný flexibilní herní engine. Kromě nejnovějších renderovacích vymožeností, které zastiňují jMonkey i Ogre3D, nabízí vlastní fyzikální engine, skriptovací jazyk, GUI (2D i 3D), 3D audio, síťový modul a celou škálu nástrojů včetně propracovaného what-you-see-is-what-you-play editoru. Nevýhodou je velmi drahá licence.
51
Kapitola
Implementace prototypu 3.1
Cíle implementace
V této části se zaměřím na implementaci prototypu, abych dokázal správnost navrženého procesu výběru technologií. Bohužel z neznalosti dalšího směřování projektu nemohu provést finální výběr. Navíc i pokud bych takový výběr provést mohl, je třeba mít na paměti, že se neomezuji pouze na technologie, které mají licenci zdarma. V rámci této implementace se však omezím pouze na řešení zdarma, ostatně pro důkaz funkčnosti procesu výběru mohu zvolit jakoukoliv množinu nabízených technologií – díky zavedeným závislostem by to neměl být problém.
3.2
Výběr technologií
Pro implementaci jsem se rozhodl vybrat následující technologie. Vybrané technologie: • cílová platforma – Windows, Linux, • OS vývojářů – Windows, Linux, • programovací jazyk – C++ (kompilátor g++), • grafické API - OpenGL, • programátorské IDE – Code::Blocks 10.05, • herní engine – Ogre3D 1.7.3 (s několika pluginy). Součástí implementace je i VPS s OS Ubuntu 10.10, na kterém běží verzovací nástroj SVN, bohužel neexistuje způsob, jak tento fakt zohlednit jinak, než konstatováním, na přiloženém CD nebude a ani být nemůže.
3.3
Průběh implementace
IDE Code::Blocks a kompilátor g++ (součástí gcc) jsem vybral z důvodu multiplatformnosti. Díky tomu je možné používat stejný repositář při práci v OS Linux i Windows (využitím MinGW). 53
3
3. Implementace prototypu V průběhu implementace prototypu jsem nenarazil na žádné vážné problémy, navržené řešení je funkční a chová se tak jak má.
3.4
Poznámka k obsahu CD
Součástí CD je projekt se zdrojovými soubory realizovaný v IDE Code::Blocks a zkompilované spustitelné soubory pro OS Windows 7 a Ubuntu 10.10. Ke správné kompilaci je potřeba přítomnost enginu Ogre3D, který na přiloženém CD není.
54
Závěr Navržené procesy výběru Způsob, jakým jsem výběr navrhl se mi při realizaci osvědčil. Díky vloženému úsilí do stanovení podmnožin podrobného dělení a sestavení hodnotících kritérií mi umožnilo snadno pokrýt vše, co jsem považoval za důležité. Celý proces se dá sestavit mnohými způsoby a je tak na týmu, jaké dělení a hodnocení zvolí. Dalším vylepšením a pokračováním této práce by mohl být návrh (webové) aplikace, kterou popisuji v kombinovaném procesu (viz sekce 1.4.2/s28). Věřím, že by se stala pro mnohé přínosem, jelikož kvalitní analýza podobného typu chybí.
Analýza, hodnocení a výběr Vzhledem k množství technologií jsem z důvodu rozsahu práce nemohl pečlivě analyzovat všechna dostupná řešení. Přesto považuji analýzu i hodnocení za komplexní, snažil jsem se vypíchnout některé klíčové problémy a myšlenky, které jsou s danými technologiemi spjaty. Samotný finální výběr jsem bohužel z neznalosti rozsahu implementačního týmu a rozpočtu provést nemohl.
Budoucnost projektu Terra Incognita Projekt Terra Incognita má nyní po prvním roce pevné základy a jasnou vizi. Další postup při fázi implementace by mohl probíhat formou dobrovolné účasti studentů, semestrálních prací atd. Věřím, že se projekt stane populární, že práce na něm bude studenty naplňovat a že se stane jedním z lákadel fakulty. Jsem ochoten projekt dále podporovat a rozvíjet, protože má potenciál stát se příležitostí pro seberealizaci studentů všech oborů.
55
Literatura (1) Casual Games Association [ONLINE]. 2011 [cit. 2012-03-17]. Dostupné z WWW:
(2) Kinect Hacks [ONLINE]. 2012 [cit. 2012-03-24]. Dostupné z WWW: (3) PC Games Alliance [ONLINE]. 2012 [cit. 2012-04-02]. Dostupné z WWW: (4) Bohuňovský, T.: Terra Incognita I - Analýza herních systémů. Diplomová práce, České vysoké učení technické, Fakulta informačních technologií, 2012. (5) Dooley, R.: R.I.P. EmSense [ONLINE]. Computer, 9 2011 [cit. 2012-03-31]. Dostupné z WWW: (6) GameDev: Questions concerning vector graphics [ONLINE]. 12 2009 [cit. 2012-03-31]. Dostupné z WWW: (7) Goldberg, H.: All your base are belong to us. New York: Three Rivers Press, 2011, ISBN 978-0-307-46356-2. (8) Hämäläinen, R.; Salomaa, J.; Sivonen, J.: What Makes a Gamer Hardcore? In Copy paste culture. Dostupné z WWW: (9) Holmes, E. A.; James, E. L.; Kilford, E. J.; aj.: Key Steps in Developing a Cognitive Vaccine against Traumatic Flashbacks: Visuospatial Tetris versus Verbal Pub Quiz. PLoS ONE, ročník 5, č. 11, 11 2010: str. e13706, doi:10.1371/journal.pone.0013706]. (10) IGDA: IGDA Curriculum Framework. [cit. 2012-03-21]. Dostupné z WWW: (11) Knights, M.: Computing - The art of quantum computing - Can ’spooky action at a distance’ be harnessed to build a new class of computers? 57
Literatura Engineering Technology, ročník 2, č. 1, jan. 2007: s. 30 –34, ISSN 17509637. (12) McShaffry, M. M.: Game coding complete. Boston: Course Technology, 2009, ISBN 978-1-58450-680-5. (13) Paulson, L.: Displaying data in thin air. Computer, ročník 37, č. 3, mar 2004: str. 19, ISSN 0018-9162, doi:10.1109/MC.2004.1273997. (14) Schultz, C. P.; Bryant, R.; Langdell, T.: Game Testing All in One. Boston: Course Technology, 2005, ISBN 1-59200-373-7. (15) Smuts, A.: Are Video Games Art? Contemporary Aesthetics, 11 2005.
58
Příloha
Seznam použitých zkratek 3D Three Dimensional, trojrozměrný API Aplication Programming Interface, rozhraní pro programování aplikací Cg C Graphics, programovací shader jazyk CD Compact Disck, kompaktní disk CD-ROM Compact Disk Read Only Memory, kompaktní disk určený pouze ke čtení dat Famicom Nintendo Family Computer, též NES FPS First person shooter, „střílečka“ GLSL OpenGL Shading Language, programovací shader jazyk GUI Graphical User Interface, grafické uživatelské rozhraní HDD Hard Disk Drive, pevný disk HLSL High leve shader language, programovací shader jazyk HTTP Hypertext transfer protocol IDE Integrated Development Environment, integrované vývojové rozhraní IGDA International game developers association MMO Massively Multiplayer Online, internetová hra pro stovky až tisíce hráčů připojených v jednom světě MMORPG Massively Multiplayer Online Role Playing Game, MMO ve stylu RPG MinGW Minimalist GNU for Windows, sada GNU kompilátorů pro Windows NES Nintendo Enterprise System, též Famicom OS Operating System, operační systém PC Personal computer, osobní počítač 59
A
A. Seznam použitých zkratek RAM Random Access Memory, operační pamět RPG Role Playing Game, hra na hrdiny, hráč z pravidla rozvíjí svojí virtuální reprezentaci ve společném světě, kde plní různé úkoly RTS Real Time Strategy, strategická hra, ve které čas plyne pouze kupředu, nenulovou rychlostí SIG Special Interest Group, IGDA skupiny se speciálním zaměřením SSD Solid-State Drive SVN Subversion, verzovací systém UI User Interface, uživatelské rozhraní VPS Virtual private server, soukromý virtuální server
60
Příloha
Obsah přiloženého CD
readme.txt ................................... stručný popis obsahu CD impl ....... zdrojové a spustitelné soubory jako projekt IDE Code::Blocks ubuntu..................................................OS Ubuntu windows ............................................. OS Windows 7 thesis .......................... zdrojová forma práce ve formátu LATEX text ........................................................ text práce thesis.pdf..............................text práce ve formátu PDF 61
B