Hrátky s Unreal Engine - Část I: První krok do nereálna
Článek Hrátky s Unreal Engine - Část I: První krok do nereálna

Hrátky s Unreal Engine - Část I: První krok do nereálna

Aleš Ulm

Aleš Ulm

20. 5. 2010 03:00 33

Výkonné procesory, nadupané grafické karty, rychlé disky. A k čemu to všechno potřebujeme? Samozřejmě ve většině případů pro hry, které mají stále větší a větší nároky. A co takhle si to ale pro jednou vyzkoušet z druhé strany? V našem seriálu vám dáme šanci se naučit základy, díky kterým budete moci jednoduchou hru vytvořit i vy!

Reklama
Reklama

První díl série Hrátky s Unreal Engine - Část I: První krok do nereálna najdete zde.
Druhý díl Hrátky s Unreal Engine - Část II: Příběh dvou místností najdete zde.
Třetí díl Hrátky s Unreal Engine Část III: Konec modrobílých kachlíků najdete zde.
Čtvrtý díl Hrátky s Unreal Engine Část IV: Skriptujeme s Kismet najdete zde 
Pátý díl Hrátky s Unreal Engine Část V: Trocha pohybu neškodí najdete zde
Šestý díl Hrátky s Unreal Engine VI: Kamera, akce, jedem… najdete zde
Sedmý díl Hrátky s Unreal Engine VII: Klid před bouří najdete zde

Není tomu dlouho, co společnost Epic Games vypustila zdarma vývojové prostředí svého enginu Unreal Engine 3.0 nazvané prostě Unreal Development Kit (UDK). Mnozí tuhle informaci buď zcela minuli nebo přešli s tím, že se jich netýká. I člověk, který není herní vývojář, má totiž obvykle alespoň základní představu o tom, že špičkové enginy jsou a) enormně drahé b) enormně komplikované a tudíž pro obyčejného smrtelníka nedostupné a nezajímavé. Ani jedno z toho přitom není tak docela pravda.

Hrátky s Unreal Engine - Část I: První krok do nereálna

Pokud byste chtěli ještě poměrně nedávno udělat v posledním Unreal Enginu (UE) vlastní hru a ne jen modifikaci nějaké existující (tedy „mod“), museli byste do peněženky sáhnout skutečně velmi hluboko. Protože se velké enginy neprodávají jako housky na krámě a každé licencování je poměrně specifické a závislé na spoustě různých faktorů, není možné přesně říct, kolik byste v ní měli mít. Jestli v ní ale nosíte řádově méně než miliony (což se si troufám předpokládat), nemělo by ji smysl ani otevírat.  Jenže tohle už dnes neplatí. Spolu s UDK totiž přichází nabídka, která se neodmítá.

Když to zjednoduším, tak licence UDK říká, že s jeho pomocí můžete vytvořit vlastní komerční hru či aplikaci, za kterou tvůrci enginu zaplatíte jednorázově pouze 99 dolarů. Prvních pět tisíc dolarů, které vaše dílko vygeneruje, si ponecháte v plné výši a z výdělku nad tuto částku odvedete Epicu 25 procent. Samozřejmě, že si ale můžete UDK zdarma stáhnout jen tak, pro radost, a bez snahy vytvořit komerční herní skvost si v něm budete po večerech jen tak něco kutit a zkoumat, jak co funguje.

Hrátky s Unreal Engine - Část I: První krok do nereálna

Batman: Arkham Asylum

A ta zmiňovaná komplexnost? Tvůrci enginu už řadu let počítají s rozsáhlou komunitou hráčů, kteří do her poháněných Unreal Enginem dodělávají nejrůznější úrovně a úpravy a v jejich úsilí je maximálně podporují.  Pokud tedy přijdete k UDK zcela nepoznamenáni prací s Unreal Editorem, budete i tak schopni během pár chvil provádět různé základní editace a vylepšovat existující hry.

Právě těm z vás, kteří by snad měli chuť podlehnout vábení lákadel UDK, je určen tento seriál, ve kterém se podíváme na to, jak se vlastně s UDK pracuje, a okořeníme to některými postřehy z vývoje her obecně. A pokud snad váháte a netušíte, proč byste měli s něčím podobným „ztrácet čas“, tak tady je pár důvodů, proč to zkusit...

  • Vývoj her je velká zábava. Jistě, když jde o větší projekt a nestíhá se termín, tak se baví málokdo, ale dokud jste při vývoji svými vlastními pány, to je pak jiná. Až se před vámi automaticky otevřou dveře v úrovni, protože jste je tak nastavili vy sami,  nebo až na vás promluví NPCčko vašimi vlastními slovy, bude vaše radost bezmezná
  • Tvorba her je zajímavá. Nemusíte se snažit sami něco velkého vytvořit, můžete jen zkoumat, jak to vlastně funguje. Jak se nastavuje AI? Proč mě nepřítel někdy vidí nebo slyší a jindy ne?  Jak funguje fyzika a kolize? A proč některé věci ve hrách nefungují úplně optimálně, i když jejich řešení vypadá jednoduše? Tohle všechno společně odhalíme.
  • Ač to může znít zvláštně, herní engine se nerovná vždy pouze hry. Nechcete dělat miliontý klon ohrané střílečky? Tak co nějakou aplikaci? Seriozní simulátor? Co třeba pohyb planet nebo vlastní cutscény s počítačovými postavami? Proč ne rovnou celý film?  Všechny nástroje teď máte k dispozici a vaší fantazii už nemusí stát nic v cestě.
  • Modařství (tedy úpravy existujících her) a práce na vlastním projektu, jsou téměř nejjistější vstupenkou do světa herních vývojářů. Pokud byste chtěli do téhle sféry proniknout, tak určitě nemusíte mít hotovou celou vlastní hru. Postačí třeba vámi vytvořená kvalitní mapa pro Unreal Tournament nebo mod do jiné hry. Na základě toho, že vás „hry moc baví“, vás nejspíš nikdo nezaměstná, ale když ukážete nějaké to vlastní dílko, vaše šance na získání místa v oboru se radikálně zvýší. Mimochodem - v samotném Epicu pochází podle Tima Sweeneyho přes 40 % zaměstnanců právě z modařské komunity.
  • A nakonec se podívejte sem:  What are people doing with UDK? Nebylo by hezké, kdyby se tam objevil i váš vlastní výtvor?

Hrátky s Unreal Engine - Část I: První krok do nereálna

Mass Effect 2

Jestli vás nic z mnou uvedených důvodů proč to s UDK zkusit neoslovuje, tak se obávám, že se zde naše cesty rozdělí. S vámi ostatními se ale ještě několikrát setkáme a dostaneme se k opravdu zajímavým věcem... Naučíme se dělat jednoduché modifikace existujících her. Pak se do úprav položíme podstatně více a hru upravíme již zcela podle našich představ, abychom si nakonec zkusili udělat nějakou tu hříčku úplně sami. To vše si vám dovolím naservírovat ze svého pohledu – tedy z pozice designéra a skriptaře, nikoliv programátora. Proto se nemusí obávat ani ti humanitněji založení jedinci mezi vámi – opravdu nás nečeká detailní pitvání nejnovější verze DirectX či žertovné kejkle s komplikovanými transformačními maticemi. Programátoři to snad nám, prostým lidem, prominou. Ba co víc – velkou část vývoje budete díky vizuálnímu skriptovacímu editoru zvanému Kismet schopni zvládnout, aniž byste měli jakékoliv zkušenosti se skriptováním či programováním. Opravdu se není čeho bát.


Tvorba her je úžasná věc. Vidět, jak věci pod vašima rukama ožívají a mění se, je silně návyková aktivita. Pokud však budete chtít dosáhnout opravdu zajímavých výsledků, připravte se na to, že vás to bude stát dost času stráveného zkoumáním a experimentováním. Je třeba vědět, že Unreal Engine a potažmo UDK není jediná možnost, jak se dostat k enginu s podobnou licencí – dalším je například engine Unity a podle aktuální šuškandy se k takovému kroku chystá i Crytek se svým CryEnginem. Rozhodně si netroufám posuzovat, jak si stojí Unreal Engine proti ostatním, protože mé zkušenosti s jinými „velkými“ enginy a jejich vývojovým prostředím jsou minimální, takže pro případná srovnání si budete muset dát trochu práce a projít nějaká ta diskusní fóra sami. Já vám teď zkusím nabídnout neúplný list toho, co vás na UDK rozhodně nezklame a v čem je opravdu dobrý.

Hrátky s Unreal Engine - Část I: První krok do nereálna

  1. Je to prostě Unreal Engine. Na kontě má velké množství známých titulů minulosti i současnosti. Když ho ovládnete, získáte schopnosti editovat velké množství her. Je libo si vytvořit vlastní mapu pro boj s teroristy v Rainbow Six? Nudí vás Gears of War? Upravte ho k obrazu svému.
  2. Dokumentace, videotutoriály a fóra. Proniknout do základů je snadné a během chvíle budete dělat opravdu zajímavé kousky.  Je pravdou, že jakmile se posunete ke komplexnějšímu skriptování, můžete mít s dokumentací (či spíše absencí její hlubší části) jisté problémy, ale to většinu běžných uživatelů trápit nemusí.
  3. Všestrannost. V rámci UDK dostanete víceméně všechno, co byste kdy mohli potřebovat. Výborný fyzikální engine, pathfinding i obecnou AI s podporou davu, skvělý materiálový editor, vizuální skriptovací editor, editor na animace a cutscény i editor faciálních animací a ještě spoustu dalších věcí.
  4. Assety. Když si  UDK nainstalujete, máte okamžitě k dispozici velké množství nejrůznějších modelů z Unreal Tournamentu 3, takže můžete ihned  začít tvořit své vlastní úrovně, vkládat do scén plně nasetupované a funkční postavy, vozidla i létající stroje.
  5. Multiplatformnost. Pokud se vám podaří stvořit něco úžasného, tak není problém se o tu nádheru podělit i s majiteli Xboxu 360 či PS3 (byť u konzolí už je licencování trochu jiné). Ti pozornější z vás už jistě zaregistrovali, že Unreal Engine míří i na iPhone, ale kdy se tam dostane v plné parádě a jak budou vypadat podmínky pro vývojáře, se teprve ukáže.
  6. Objektově orientovaný skriptovací jazyk Unreal Script. Robustní a flexibilní nástroj pro ty, kteří chtějí implementovat nějakou novou (či spíše odvozenou) funkčnost či objekt. Jeho zpracování je rychlé, takže pokud uživatel dodrží pár základních pravidel, lze v něm provádět i složitější operace bez významného vlivu na výkon hry.
  7. Hraní přímo v editoru. Možnost pouštět hru přímo v editoru a upravovat nejrůznější nastavení za běhu není u velkých enginů nic neobvyklého. Míra, do které to ale umožňuje UDK, je opravdu značná.

Hrátky s Unreal Engine - Část I: První krok do nereálna

Rise of Argonauts

Pokud ještě stále nejste rozhodnuti, jestli pro vás je Unreal Engine a UDK to pravé, dovolím si vám nabídnout drobnou výpravu po historii tohohle enginu, abyste si udělali představu, jak zajímavý nástroj to vlastně je. Ale protože suchá data si může každý najít během pár vteřin na internetu, vezmeme to jen rychle a budeme se soustředit na to opravdu zajímavé a podstatné.


První verze enginu se objevila v roce 1998, kdy poháněla hru pojmenovanou Unreal (bystřejší čtenáři už v tuto chvíli jistě začínají zvolna tušit, jak získal engine své jméno).

Hrátky s Unreal Engine - Část I: První krok do nereálna

I když to tak dnes nemusí při pohledu na screenshot vypadat, přinejmenším vizuálně byl Unreal ve své době naprosto úchvatná záležitost. Z našeho hlediska je podstatné, že už tato verze enginu obsahovala vlastní jednoduchý skriptovací jazyk, čímž uvolnila cestu k masivnímu vytváření modů pro všechny další verze UE a nastartovala tak vývoj, který ústí právě do nedávno vypuštěného UDK. Byl by hřích nezmínit výrok jednoho herního vývojáře, kterého prezentace původního UE tak nadchnula, že se na něj jeho společnost rozhodla přejít s hrou do této doby vyvíjenou na enginu Quake II. Unreal engine totiž umožňoval podstatně lepší možnost tvorby venkovních prostředí, což bylo pro nově vznikající hru žádoucí.  Na webu se pak zmíněný vývojář vyjádřil následovně:

Převádíme hru do Unreal Enginu... Nemáme pocit, že by díky tomu došlo k významnějšímu zdržení vývoje, ale s přechodem na nový engine zřejmě nějaké nepatrné nastane.“ 

George Broussard,1998

A ta zmiňovaná hra? Duke Nukem Forever, který je/není/je/není/byl ve vývoji přes 13 let.

Z ostatních her, jejichž základem se stal UE ve své první verzi (a které skutečně vyšly), se sluší zmínit určitě výjimečný Deus Ex či velmi slušnou rubačku Rune, ale hlavně multiplayerového bratříčka Unrealu – Unreal Tournament, který spatřil světlo světa v roce 1999 a přinesl na svou dobu nepřekonatelnou umělou inteligencí počítačem řízených protivníků.

V roce 2001 spustil Epic Games UDN – „The Unreal Developer Network“, tedy místo, kde  mohli uživatelé Unreal Enginu (od vývojářů až po modaře) najít aktuální dokumentaci a tutoriály.

Druhá verze Unreal Enginu se objevila v roce 2002 a kromě titulů Epicu si svou premiéru odbyla ve hře Americas Army, vyvíjeným americkou armádou. Hra, která byla šířena zdarma a jejímž hlavním posláním mělo být „zprostředkované získávání rekrutů pro americkou armádu“, slavila ve své době značný úspěch.

Americas Army

 Z ostatních zajímavých titulů je třeba jmenovat stealth akci Thief: Deadly Shadows, MMORPG Lineage II, Tom Clancy’s Splinter Cell a cellshadovou střílečku XIII, která svým vizuálem ze zbytku dost vyčnívá. Už v této verzi enginu se objevil  třeba integrovaný systém pro vytváření cutscén Matinee, se kterým se budeme učit pracovat i my. U této verze se také sluší uvést fakt, že ve své multiplaformnosti už zahrnovala podporu konzolí Xbox, PS2 a GameCube. Kromě komerčních aplikací se objevily i pokusy použít UE jako prostředek uměleckého vyjadřování  a to i u relativně známých autorů, byť tyto pokusy působí z dnešního pohledu spíše úsměvným dojmem. Marry Flanagan – Domestic.

Zhruba o dva roky později vydává Epic Unreal Engine verzi 2.5, jejíž přínos je však spíše hlavně v oblasti optimalizace a rozšíření použitého fyzikálního modelu.

Verze 3.0 a tedy verze, se kterou budeme v rámci UDK pracovat, se poprvé naplno předvedla v akci Gears of War a od té doby jsme se s ní setkali u spousty velkých herních jmen – pohání oba díly Bioshocku, úžasně vypadajícího a přitom hardwarově nepříliš náročného  Batmana: Arkham Asylum, vizuálně specifické Borderlands, Gears of War 2 (a s největší pravděpodobností i díl třetí), oba Mass Effecty, Alpha Protocol nebo Splinter Cell. To je vskutku dobrá společnost, ne? Engine navíc opět využívá další velká americká instituce k vývoji vlastního titulu - Astronaut: Moon, Mars and Beyond. Této multiplayerové online „hry“, kterou připravuje NASA, bychom se měli dočkat snad ještě letos.

Jestli jste trpělivě dočetli až sem, tak už máte nepochybně představu, jak úžasný nástroj máte zdarma k dispozici. A přestože je tenhle článek vlastně jen úvod k celému seriálu, bylo by trestuhodné ho jen tak ukončit a na samotné UDK si ani nesáhnout. A proto všichni za mnou na www.udk.com!


Na oficiálních stránkách UDK určitě nesmíte minout sekci Showcase. Pokud máte chvíli, zkuste si kromě shlédnutí videí stáhnout a vyzkoušet i jednotlivá dema. Díky tomu získáte poměrně jasnou představu, co všechno můžete s UE dokázat. Obzvlášť zajímavý kousek je Dungeon Defense. Až pokročíme ke skriptování bez pomoci vizuálního editoru Kismet, oceníte to, že jsou k téhle hře k dispozici kompletní zdrojové kódy stejně jako pěkně rozepsaný a vysvětlený postup při vývoji, který najdete v diskusním fóru.

Samozřejmě musíme stáhnout i to hlavní - UDK. Nové verze zatím vychází měsíčně, tento seriál je psán a testován s dubnovou verzí (April 2010 UDK Beta). Není problém mít nainstalovaných více různých verzí UDK naráz (musí však být v různých adresářích), takže vám nic nebrání vyzkoušet i cokoliv novějšího. Nenechte se zmást označením Beta a nehledejte  plnohodnotnou stabilní verzi. Buďte bez obav – při běžném používání jsou tyto bety podstatně stabilnější než spousta „finálních“ verzí editorů jiných enginů.

Po stažení nainstalujte UDK do vámi zvolené složky a najděte ho mezi nainstalovanými programy. Ze spustitelných aplikací nás bude teď zajímat jen Editor. Takže vzhůru do něj. Zatímco nabíhá, řekneme si ještě jednu důležitou věc. Pokud máte nainstalovaný firewall, může na vás čas od času vybafnout hláška, že se některá z komponent UDK snaží někam připojit, něco spustit atp. Samozřejmě vám nebudu vnucovat pravidla, jak si hlídat bezpečnost na vašem PC, nicméně pokud chcete, aby vás měl Unreal Engine rád (a bez problému fungoval), zkuste mu neodpírat důležité služby, které pro svou práci potřebuje.

Po spuštění  se přes editor objeví okno Start Page, které se tváří jako rušivá instance browseru s otevřeným webem UDK. Když se však podíváte do horní části okna, uvidíte řadu záložek. Tohle okno totiž skrývá některé důležité prvky, se kterými budete pracovat opravdu často. Zatím ho však nepotřebujeme a tak ho zavřete. Není problém ho kdykoliv opět vyvolat.

V tuhle chvíli (nebo o něco málo později) si všimnete jedné lehce iritující záležitosti – editor je profesionální nástroj a jako takový počítá buď s relativně vysokým rozlišením nebo využitím více monitorů najednou. Při práci budete často přecházet mezi různými okny a pokud nemáte žádnou z uvedených výhod, budou se vám některé operace provádět trochu nešikovně. Nepropadejte však panice, není to nic, co by vás nějak významněji brzdilo.

Vstupte do nabídky File>Open. Otevře se vám seznam existujících souborů s úrovněmi. Pokud žádnou nevidíte, jste nejspíš v jiném adresáří – mapy jsou uloženy v UDKGame/Content/Maps ve složce, kam jste UDK nainstalovali. Vyberte a otevřete úroveň DM-Deck.

Pokud jste nedělali nic víc, než jsme si řekli, měli byste v editoru vidět celkem čtyři různé pohledy (viewports) do scény. Jeden ukazuje v podstatě to samé, co byste viděli, kdybyste tuto úroveň pustili normálně ve hře – je to kamerový pohled. Ve vzduchu se ale potuluje směsice čar a podivných ikon. Ty nás však nemusí nijak děsit, jejich význam si vysvětlíme někdy později. Protože nás teď zajímá jen tenhle pohled, zvětšíme ho na úkor zbylých tří tlačítkem pro jeho maximalizaci umístěným na samém konci řadky ikon v jeho horní liště.

Jakmile se vám to podaří, můžete se zkusit v úrovni pohybovat a rozhlížet. Rozhlížení provedete držením pravého tlačítka myši a pohyb vám umožní třeba kurzorové klávesy. Možná zjistíte, že při držení tlačítka myši mají stejnou funkci i klávesy WASD. U nich si však musíte dát pozor na to, že klávesa W mimo režim pohybu scénou (tedy když není současně zmáčknuté pravé tlačítko myši) vypíná viditelnost některých objektů. Pokud by vám tedy najednou část scény zmizela, nechte ji objevit opětovným zmáčknutím této klávesy.


Teď klikněte někam na podlahu pravým tlačítkem (RMB) a z nabídky, která se zobrazí, zvolte Play from Here. Engine napoprvé provede ještě pár operací a po několika vteřinách ... hrajete!

Pokud vám hra neběží tak plynule, jak byste si představovali, nezoufejte. Velmi pravděpodobně máte v tuhle chvíli zapnuté efekty typu bloom či hloubka ostrosti. Hned příště si ukážeme, kde se tato nastavení dají ovlivňovat.

Až se dostatečně vydovádíte, ukončete hraní klávesou ESC. Jsme zpátky v editoru, trochu jsme si ve scéně pohráli, ale zatím jsme ve hře nezanechali žádnou stopu. Je čas to napravit.

Levým tlačítkem ve scéně vyberte nějaký model. Pozor, ať místo něj nevyberete některý z boxů tvořených čarami či dvourozměrnou ikonu, které jsou po úrovni různě roztroušeny. To, že jste vybrali správný model, poznáte tak, že zmodrá. Až se vám to povede, uvidíte v jeho blízkosti pohybový transformační pomocník (zvaný také trasformační gizmo). Kdo někdy pracoval s podobným editorem nebo programem pro vytváření 3D modelů, tak jeho funkci dobře zná. Pro ty ostatní – jsou to ty tři různobarevné šipky, kopírující osy x, y a z. Když na některou z nich najedete, změní barvu a vy pak držením tlačítka a tažením myši můžete pohybovat předmětem pouze v dané ose. Pokud to samé uděláte nad některým ze čtverců u jejich průsečíku, můžete předmětem pohybovat ve dvou osách zároveň.  Dokud máte model stále vybraný, stiskněte mezerník. Nyní můžete podobným způsobem upravit rotaci objektu. Zmáčkněte mezerník potřetí a upravte jeho velikost.

Teď se podívejte, jaké první stopy jste to vlastně v úrovni zanechali. Spusťte v editoru hru postupem, který jsme si o kousek výš ukázali. Vidíte ten model, upravený přesně podle vašich tužeb a přání? Pokud jste postupovali správně, měli byste ho tam nalézt.  Ale dost možná se díky vaší úpravě jeho vzhled změnil... Jako by se stalo něco s jeho texturou. Pokud jste pozorní, všimli jste si v okně běžící hry červeného nápisu LIGHTING NEEDS TO BE REBUILT. Jeho význam je zřejmý – v úrovni došlo k nějaké změně, která způsobila, že její nasvícení je třeba přepočítat. A protože mamince, režisérovi a červeným varovným hláškám psaným kapitálkami se neodmlouvá, něco s tím provedeme a při té příležitosti si rovnou řekneme, jak to s tím nasvícením vlastně je... ale to až příště.

Tady totiž tento díl už opravdu končí. Něco jsme se dozvěděli, něco málo se naučili a udělali první malý krok směrem ke zvládnutí UDK. Příště se do toho už opřeme trochu víc a trochu systematičtěji a věřte mi, že výsledek bude stát za to...

Reklama
Reklama
Reklama
Reklama

Byl detekován AdBlock

PCTuning je komunitní web, jehož hlavním příjmem je reklama. Zvažte prosím vypnutí AdBlocku, ať můžeme všem čtenářům i nadále přinášet kvalitní herní zpravodajství, články a videa.

Děkujeme!

Váš tým PCTuning