7. Hry
Historie
Hry jako takové začali vznikat již před více jak 60 lety. Jedním z důležitých milníků je rok 1952, kdy Alexander S. Douglas (student na univerzitě v Cambridge) naprogramoval jednu z prvních skutečných počítačových her pojmenovanou „OXO“, jednalo se o zjednodušenou variantu piškvorek hranou na herní ploše s rozměry pole 3×3 a s grafickým výstupem.
O 6 let později nastal další milník, o který se postaral William Higinbotham. V roce 1958 vytvořil se svými spolupracovníky hru nazvanou Tennis for Two. Hra zobrazovala tenisový kurt z profilu, obsahovala „síť“ i „míček“ ovlivňovaný gravitací a ovládala se krabičkami s knoflíkem pro nastavení trajektorie míčku a tlačítkem pro odpal. Toto vše se odehrávalo na obrazovce osciloskopu o velikosti zhruba 5 palců.
Postupně se hry začali rozvíjet do větších rozměrů a začali se vytvářet týmy, spolupracující na rozvoji her. Jeden z takových týmů v roce 1962, byla skupina studentů Massachusettského technologického institutu (MIT), kteří po asi 200 hodinách dokončili svoji hru Spacewar!
Hra byla určena pro dva hráče ovládající každý svoji ozbrojenou vesmírnou loď. Uprostřed mapy byla hvězda, jež svojí gravitací ovlivňovala pohyb lodí, ale ne jejich střel – na to už výpočetní výkon bohužel nestačil. Dá se říci, že hra Spacewar byla první „střílečka“.
Nejnámější hra byla vytvořena až kolem roku 1972, kdy Nolan Bushnell a Ted Dabney založili společnost Atari a vydali svoji první masově rozšířenou hru Pong. Jednalo se o hru na styl tenisu pro 2 hráče. Hra byla natolik úspěšná, že se prodalo více jak 19000 herních zařízení s Pongem.
Další hrou od této společosti je hra Space Invanders z roku 1980, kde cílem hry je zničit mimozemšťany, kteří chtějí ovládnout Zemi. Hráč má 3 životy. Po každém zásahu mimozemským plavidlem přichází o jeden život.
Jednou z dalších nejvíce ikonických her minulého století je také hra Pac-Man z roku 1980, zde se hraje za žlutého Pac-Mana, který se pohybuje v bludišti plném bílých teček, které musí sníst a vyhýbat se protivníkům (duchům).Poté se dostává do dalších obtížnějších ševelů.
Herní platformy
Počátek herních konzolí odstartovala v roce 1972 společnost Atari s jejich první herní platformou Atari Pong. V roce 1977 přišla tato firma s další konzolí a to Atari 2600, která byla jedna z prvních, podporující výměnné moduly s hrami. Na této konzoli se nejvíce hrála hra Space Invanders.
Přelomová herní konzole přišla v roce 1985, od firmy Nintendo, s názvem Nintendo Entertainment System neboli NES, která se stala nejprodávanější 8bitovou konzolí na svetě. NES byla velmi cenově dostupnou konzolí pro celou rodinu, s různým příslušenstvím, jako například Power Glove nebo Zapper. Na této konzoli také započaly největší herní série Nintenda: Super Mario Bros., The Legend of Zelda, Metroid, Donkey Kong nebo třeba Final Fantasy a Metal Gear.
Nejvíce ikonickou konzolí pro celý herní průmysl se stala Nintendo Game Boy. Game Boy byla kapesní konzole s vyměnitelnými kartami, na kterých se nacházely různé hry. V originálním balení se konzole dodávala s logickou hrou Tetris, ale také na tuto konzoli vyšly i hry Pokemon Red a Blue, Super Mario Land a mnoho dalších.
Kolem roku 1993 se začínají dostávat na trh 32-64bitové systémy a tím začíná éra PlayStationu, kapesních konzolí od Nintenda a později Xboxu.
V roce 1994 vychází první PlayStation neboli PS1. Tato konzole již plně podporovala 3D grafické rozhraní a bylo na ní vydáno více jako 7900 her, poslední hrou prodávanou pro PS1 byla FIFA 2005.
V 6. generaci konzolí se objevuje první Xbox a počáteční konkurent PlayStationu.
Postupně se dostává na trh více a více konzolí a společnosti se předhání v kvalitě a výkonu.
Poslední, nejnovější a nejznámější konzole které jsou nebo budou v nejbližší době na trhu je PlayStation 5 a Xbox Series X.
Jako herní platformu samozřejmě musíme považovat i Windows. Zde najdeme skoro všechny nejnovější tituly her.
V dnešní době se začíná velmi uplatňovat jako herní platforma také VR.
Herní žánry
Akční hry
Jedná se především o 3D hry, kde je základním principem zneškodnit protivníka. Jsou jak verze singleplayer, kde protivníka ovládá počítač, tak i multiplayer, kde protivník je jiný lidský hráč. Tento typ her se často zkráceně označuje jako tzv. „střílečky“. Dále Vargová (2013) dělí akční hry na FPS(First person shooter1), kde se obraz skládá z pohledu vlastního hráče ve hře a viditelné jsou obvykle pouze končetiny a TPS (Third person shooter2), kde je obraz tvořen pohledem za zády virtuálního hráče.
RPG hry (Role–playing game)
Český ekvivalent je hra na hrdiny. Základním prvkem tohoto žánru je hrdina (postava určité hry), který se pohybuje v herním virtuálním světě. Za procházení a postup světem se postupně vylepšuje a získává nové schopnosti a bonusové body. Velmi populární je série Diablo od společnosti Blizzard. Řadí se sem také MMORPG (Massively multiplayer online role playing game), kdy se jedná o online RPG hry, ve kterých hrají hráči, z celého světa, prostřednictvím internetové sítě. Typickým zástupcem je World of Warcraft
Strategické hry
Základním požadavkem těchto her je strategické myšlení. Hráč disponuje určitým městem, základnou či územím, o které se musí ekonomicky starat a rozvíjet je. Často jsou na hrací mapě protivníci, vyhraje hráč, který má nejlepší strategii. Hrací plocha se nám zobrazuje z ptačí perspektivy. Strategie můžeme rozdělit na následující subžánry: Budovatelské strategie jsou určitým simulátorem pro budování města (SimCity, Civilization), železniční sítě či dokonce zoo (Zoo Tycoon). Tahové strategie se blíží deskovým hrám, kde každý hráč má libovolný čas na promyšlení svého tahu (X–Com, Spellcross). Dnes nejrozšířenějším typem jsou real – time strategie, kde taktizování probíhá v reálném čase souběžně u všech hráčů, je tedy méně času na rozmýšlení svých postupů (StarCraft, Dune, Warcraft).
Adventury
Hra kde je základním prvkem hry detektivní příběh, kde musí hráč řešit různé hádanky, rébusy a plnit úkoly, aby se mohl v příběhu posunout dál. Klasické adventury mají 2D zobrazení (Polda, Machinarium), kde svět tvoří jednotlivé statické obrázky, ve kterých se hrdina pohybuje. Rozvinulo se také 3D zobrazení, ale v těchto hrách již působí také akční žánr (Tomb Raider, Resident Evil).
Sportovní hry
Jedná se o simulace sportů. Často jsou hry konstruovány zjednodušeně, aby bylo možné pohodlné ovládání na úkor přesné simulace sportu (FIFA, NHL, NBA).
Simulace
Cílem simulátoru je co nejpřesnější napodobení určité činnosti nebo jevu. Do této kategorie zařazuje např. simulátor života The Sims či simulátor evoluce Spore. Známý je také simulátor řízení kamionu Euro truck simulator.
Závodní hry
Základním principem těchto her je dostat se do cíle první. Vetšinou má hráč na výběr dostupná různá vozidla, Nejznámější hry tohoto žánru jsou například Need for Speed, Forza a Crew.
Taneční/hudební hry
Jedná se o hry, které ovládáme pohybem či používáním speciálních ovladačů. Základní hudební hrou je Guitar Hero, jedná se o simulátor hry na kytaru. Součástí hry je speciální plastový ovladač ve tvaru kytary, kde jednotlivá tlačítka představují struny. Taneční hry se ovládají především pohybově, na základě snímání kamerou (Just Dance s pohybovým rozhraním Kinect), zastaralejším způsobem je podložka, která reaguje na dotyk chodidel (Dance Dance Revolution).
Bojové hry
Bojové hry jsou doménou videoherních konzolí, jelikož k dobrému ovládání je třeba gamepad. Základním principem je porazit protivníka v určitém bojovém umění. Obvykle se dva hráči pohybují v aréně a různými kombinacemi útoků se snaží zneškodnit protihráče, ať už lidského, nebo počítačem řízeného. Základním zástupcem je Mortal Kombat nebo Tekken.
Logické hry
Hry, které vyžadují logické myšlení hráče, skládají se z různých hádanek. Logické hry jsou obvykle jednoduše graficky zpracované. Hra se často skládá z úrovní, kterými hráč postupně prochází, přičemž se obtížnost pro dokončení úrovně zvyšuje. Jako typické zástupce můžeme uvést Tetris, Lemmings, Angry Birds, do této kategorie také řadí hry karetní, jako je např. Poker.
Vzdělávací hry
Jsou často určené pro děti, úkolem je např. spojit písmena takovým způsobem, aby vytvořily slovo, které vidí na obrázku, nebo lze využít digitální omalovánky, které rozvíjí jemnou motoriku. Typickým zástupcem je Předškolní brašnička. Jedná se také o jazykové hry, kde se člověk učí zábavnou formou cizímu jazyku. Můžeme si zdokonalit téměř jakoukoli oblast vzdělání.
Herní engine
Herní engine je software sloužící k vývoji her a někdy aplikací. Termín herní engine se poprvé začal objevovat v polovině devadesátých let ve spojitosti s FPS hrami. Dobrým příkladem byla hra Doom od Id Software. Tato hra měla rozumným způsobem oddělené jádro (vykreslování 3d grafiky, detekce kolizí, audio systém...) a vlastní náplň hry (prostředí, zvuky, pravidla hrym apod.) Toto rozdělení se ukázalo být velmi výhodné, když Id Software začal toto jádro licencovat dalším firmám. Ty se nemusely starat o nízkoúrovňové aspekty hry, a stačilo jim jenom vytvořit vlastní prostředí a vlastní pravidla hry. To velmi zrychlilo a zlevnilo vývoj her.
Unity
Nejznámější a nejdostupnější herní engine. Jedná se o univerzální nástroj pro tvorbu 2D a 3D her a umožňuje publikovat hry na všechny významné platformy. Unity Engine je uživatelsky přívětivý a je relativně snadné se jej naučit, pro programování využívá C# a částěčně Javascript. Unity komunita vytváří také množství tutoriálů a návodů a je velmi aktivní na fóru a issue trackeru.
Unreal Engine
Unreal Engine 4 je populární především pro vývojáře AAA titulů, kterým umožňuje mít plnou kontrolu nad svou tvorbou. V Unreal Enginu se programuje jazykem C++. Unreal Engine obsahuje Blueprint systém, díky kterému zle designovat prostředí bez složitějšího programování. Unreal Engine aktuálně vlastní a vyvíjí společnost Epic Games, která engine mimo jiné využívá i pro hru Fortnite. Mezi další známé hry v Unreal Enginu patří například Hellblade: Senua’s Sacrifice nebo populární hra Playerunknown’s Battlegrounds.
Godot
Godot je open-source engine, který je možné používat zcela zdarma pro osobní i komerční účely. Godot dokonce umožňuje editovat přímo samotný engine. Při práci s enginem je zde na výběr z množství programovacích jazyků jako například C++, C#, Rust a nebo GDScript což je skriptovací jazyk přmoí pro Godot Engine velmi podobný Pythonu. Godot umožňuje tvořit hry ve 2D i 3D prostředí, ale 3D není na tak dobré úrovni jako na které jsme zvyklí z Unity nebo UE4. Základní Godot Engine má pouze 20 MB a je možné jej spustit bez instalace.
VR
Komerčně nejznámější headsety pro VR jsou Oculus Rift a HTC Vive. Systémy ve vývoji, které zahrnují technologii Sony PlayStation VR, vyžadují spuštění na PlayStation místo na počítači, dále StarVR; FOVE; a Magic Leap.
Po rozsáhlém vydání komerčních headsetů VR v polovině roku 2010 bylo vydáno několik verzí VR a VR videoher. Vendetta Online společnosti Guild Software byla ohlášena jako první MMORPG s podporou Oculus Rift, což je potenciálně první trvalý online svět s nativní podporou uživatelů headset VR.
Od roku 2013 se objevilo několik zařízení virtuální reality, které se snaží vstoupit na trh, aby konkurovaly Oculus Rift a zlepšily herní zážitek. Jeden z nich, Virtuix Omni, je založen na schopnosti pohybovat se v trojrozměrném prostředí přes všesměrový běžecký pás.
27. dubna 2016 Mojang oznámil, že i oblíbená sandbox videohra Minecraft byla hratelná na Gear VR. Oddělená verze byla vydána do obchodu Oculus Store pro použití s Gear VR, podobně jako Pocket Edition Minecraft.
Oculus Rift
Oculus Rift je headset od společnosti Oculus VR, která spadá pod Facebook.
Brýle nabízejí Pentile OLED displej s rozlišením FullHD pro oko, frame rate 90 Hz a pole vidění o 110°. Taktéž mají v sobě zabudované sluchátka, která poskytují 3D zvuk. Celková váha headsetu je 470 gramů.
HTC Vive
HTC Vive je headset od společností HTC a Valve Corporation.
Na tuto platformu se vyvíjí stále více her, jedny z nejznámějších a nejhranějších jsou například: Beat Saber- od českého hudebního producenta a vývojáře, Fallout 4 či nejnovější titul Half-Life:Alyx od společnosti Valve.
Unity3D
První verze, původně vytvořená pro vývoj OS-X her, vydána v roce 2005 se rychle rozrostla do jednoho z nejlepších multiplatformních balíků nástrojů pro vývoj her. Dnes se již jedná o nejpoužívanější engine na světě. Jeho primárním polem působnosti je mobilní trh. Obrovské množství Android i iOS her je vytvořeno právě v Unity. Důvodů, proč je Unity tak populární, je mnoho, ale hlavním důvodem je všestrannost. Rozsah formátů, které Unity umožňuje importovat, nemá mezi herními enginy obdobu. I způsob, jakým se s jednotlivými assety v Unity pracuje, je velmi intuitivní. Proto je Unity velmi populární i mezi vývojáři více zaměřenými na grafiku.
Objekty, komponenty a prefaby
V Unity se k sestavení komplexnějších objektů používají tzv. game objecty. Ty využívají dědičnosti, proto je možné přidat jeden game object na druhý. Přidaný game object bude dědit některé parametry svého rodičovského objektu. Vlastnosti game objectu jsou definovány komponentami. Ty lze na game objecty libovolně přidávat. Objekt sestavený z jednoho nebo více game objectů a s přidanými různými komponentami lze pak uložit jako prefab.
Game object - V Unity je každý objekt obsažený v scéně game object. Chování jednotlivých game objectů určují tzv. komponenty. Nejnižší forma game objectu je tzv. empty object, neboli prázdný objekt. Ten obsahuje pouze základní komponentu transform, která udává jeho pozici, rotaci a velikost
Komponenty - Určují jednotlivé vlastnosti game objectů. Každý game object obsahuje neodstranitelnou komponentu transform, která udává jeho pozici, rotaci a velikost. Veškeré vlastnosti přidané na game object jsou tvořeny komponentami. Například objekt kamery je ve výsledku pouze prázdný game object s přidanou komponentou kamera. Mezi komponenty patří i skripty připojované na game objecty.
Prefab - Je jeden nebo více game objectů se specifickým nastavením spojených dohromady pro snadnější použití ve hˇre. Výborným příkladem je například automobil, který se skládá z 3D assetu auta, oddělených kol, wheel colliderů, colideru samotného auta, kamery, skriptu pro ovládání, atd. Nebylo by praktické tento složitý asset vytvářet pokaždé, když potřebujeme jeho instanci ve scéně. Proto se vytvoří jen jednou a uloží se jako prefab, který lze jednoduše přidat do scény. Výhodou prefabu je, že se dají globálně upravovat. Pokud upravíme jednu instanci, můžeme aplikovat úpravy na všechny ostatní. Zároveň ale můžeme mít několik instancí téhož prefabu a každé nastavit rozdílné parametry.
Assety
Důležitou části práce s grafikou je správný import assetů. Unity disponuje velmi jednoduchým způsobem importu, kdy stačí přetáhnout assety do projektu a ty se automaticky naimportují. To ovšem neznamená, že tím je proces importu hotov. U jednotlivých assetů je zapotřebí nastavit správné hodnoty. Například modely vyexportované z Blenderu jsou po importu do Unity s nesprávnou velikostí, proto je zapotřebí změnit při importu Scale z 0.01 na 1.
Fyzika
Physic Material umožňuje nastavit míru statického a dynamického tření a odskakování pro kolidující objekty. Statické tření je použito, pokud objekt leží v klidu. Brání mu v možnosti pohybovat se. Objekt se začne pohybovat až v okamžiku, kdy je na něj vyvíjena dostatečně velká síla, která překoná odpor statického tření. V ten okamžik se začne uplatňovat dynamické tření. Dynamické tření tedy zpomaluje pohybující se objekt, pokud se tře o nějaký jiný objekt. Míra odskakování (bounciness) určuje, jak objekt odskakuje od povrchu. Rozsah je 0 - 1, kde 0 znamená žádné odskakování, 1 je odskakování bez ztráty energie.
Kromě základních simulací fyziky jako je gravitace, setrvačnost, tření aj., umí Unity simulovat také látky a měkká tělesa. U látek lze definovat jejich tuhost, pružnost, sílu, jestli lze látku roztrhnout a jestli má látka kolidovat sama se sebou. Můžeme tak simulovat prakticky jakýkoliv druh látky, od hedvábí po těžkou průmyslovou tkaninu. Látka může být také zavěšena a představovat tak např. záclonu nebo závěs. Aby se látka chovala realisticky, musí mít její mesh poměrně velký počet polygonů. Měkká tělesa (Soft Bodies) jsou pak jen rozšířením simulace látek. Jde v podstatě o látku, která má navíc nastaven tlak, kterým je těleso natlakováno. Mesh měkkého tělesa musí být uzavřený.
Skriptování
Unity podporuje skriptování ve třech programovacích jazycích - JavaScript1 , C#2 a Boo. Všechny tři jsou podobně výkonné a skripty ze všech tří můžou vzájemně spolupracovat. Pro tvorbu skriptu má Unity vlastní textový editor s názvem UniSciTE. Ten je ale možné ̊ nahradit libovolným vlastním editorem, např. pro C# skripty je velmi vhodné používat raději Visual Studio. UniSciTE totiž nemá nic jako je IntelliSense u Visual Studia, a práce s ním tedy není tak příjemná. Volitelnou součástí instalace Unity 3D je také upravená verze MonoDevelop, která pro skriptování také velmi dobře použitelná.