From 93cfd7b62614a6e17d05ac11fc4f63d5998ce43d Mon Sep 17 00:00:00 2001 From: Oleg Petruny Date: Wed, 14 May 2025 11:43:36 +0200 Subject: [PATCH] wip --- ch1.tex | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ch1.tex b/ch1.tex index a7ac12e..53ef913 100644 --- a/ch1.tex +++ b/ch1.tex @@ -71,18 +71,20 @@ Má~podobné problémy jako~jiné enginy a~něco navíc nefunguje dobře nebo ch V~době vzniku hry přiložené k~práci byl~Godot ještě příliš nový a~nevypadal nijak perspektivně. V~den vydání této práce, je~solidní konkurent ve~2D~herních žánrech jako~platformery, logické hry či~mobilní hry. -\paragraph{Unreal Engine\protect\footnote{https://www.unrealengine.com/}} Unreal Engine verze 4 byl kdysi zvolen enginem pro hru, z které potom vznikla tato práce. Jeho primární výhodou oproti konkurenci jsou vysoce standardizované postupy neboli pipelines, které zlevňují nebo vůbec umožňují tvorby her ve velkých týmech. Celý engine se navíc vychlubuje velkými ,,úspěchy'' v~různých technologiích, zejména rendrovacích -- což probereme v další sekci -- a~taky odvětvích jako motion design, kinematografie, design architektury a další. +\paragraph{Unreal Engine\protect\footnote{https://www.unrealengine.com/}} Unreal Engine verze 4 byl kdysi zvolen enginem pro~hru, z~které potom vznikla tato práce. Jeho primární výhodou oproti konkurenci jsou vysoce standardizované postupy neboli pipelines, které~zlevňují nebo vůbec umožňují tvorby her ve~velkých týmech. Celý engine se~navíc chlubí velkými ,,úspěchy'' v~různých technologiích, zejména rendrovacích -- což~probereme v~další sekci -- a~taky odvětvích jako motion design, kinematografie, design architektury a~další. -Vskutku ohromující když se snažíte vybrat budoucí stavební kámen pro vaši~hru. Je ale potřeba brát v úvahu silnou nepřívětivost enginu k nováčkům, pokud ti chtějí udělat něco vlastního mimo již existující návody. Stejné lze říct o oficiální dokumentaci, která je často a velmi nedostačujicí -- jestli vůbec existuje. Navíc při snaze udělat něco kompletního pomocí nabízených pokročilých technologií, v~závěru vývojář musí dané technologie ovládnout na velmi vysoké úrovně a často i modifikovat zdrojový kód. V některých případech technologie jako nanite nebo lumen nejde použit pro dokonalé a odladěné výsledky, proto se prostě zahazují. +Nabízené možností jsou vskutku ohromující, když~se~snažíte vybrat budoucí stavební kámen pro vaši~hru. Je~ale~potřeba brát v~úvahu silnou nepřívětivost enginu k~nováčkům, kteří~chtějí udělat něco vlastního mimo již~existující návody. Stejné lze říct o~oficiální dokumentaci, která~je často a~velmi nedostačujicí -- jestli vůbec existuje. Navíc při~snaze udělat něco kompletního pomocí nabízených pokročilých technologií, v~závěru vývojář musí dané technologie ovládnout na~velmi vysoké úrovni a~často i~modifikovat zdrojový kód enginu. V~některých případech technologie jako Nanite nebo Lumen nejde použit pro~dokonalé a~odladěné výsledky, proto se~prostě zahazují -- probereme v~další sekci. -Jestli zapomenout na chybějící dokumentaci, je Unreal Engine stejný engine jako ostatní. Některé technologie má nesrovnatelně lepší a některé horší. Lze~najít návody a neoficiální dokumentaci diky velké komunitě. Dokonce samotný engine si dovoluje sebe modifikovat, protože lze zcela zdarma dostat přístup ke~zdrojovým souborům. Což velké týmy tuto nezávislost s radostí využívají. +Pokud ignorujeme chybějící dokumentaci, je~Unreal Engine stejný engine jako ostatní. Některé technologie má nesrovnatelně lepší a~některé horší. Lze~najít návody a~neoficiální dokumentaci diky velké komunitě. Dokonce vývojář může samotný engine upravovat podle sebe, protože lze zcela zdarma dostat přístup ke~zdrojovým souborům. Velké týmy tuto nezávislost s~radostí využívají. -\paragraph{CryEngine\protect\footnote{https://www.cryengine.com/}}je hodně podobný Unreal Enginu za výjimkou toho, že se specialuzuje jen na vývoj her. Taky již není tolik univerzalní, dokumentace je ještě míň, komunita je mizerně malá a přívětivost je snad nejhorší možná. Je to dost úzce specializovaný engine, který potřebuje silné odborníky k jeho ovládání. +\paragraph{CryEngine\protect\footnote{https://www.cryengine.com/}} CryEngine je hodně podobný Unreal Enginu za~výjimkou toho, že~se~specialuzuje jen na~vývoj her. Taky~již~není tolik univerzalní, dokumentace je~ještě míň, komunita je~velmi malá a~přívětivost je snad nejhorší možná. Je~to dost úzce specializovaný engine, který potřebuje silné odborníky k~jeho ovládání. \subsection{Programovácí jazyk} -Unreal Engine umožňuje programovat pomoci vizuálních bloků tzv. Blueprintů nebo textově v jazyce C++. I při použití pouze jedné z variant lze vivinout celou hru. Veškerý potenciál se ale projevuje při jejich kombinaci. V C++ se skvěle programují komplexní a nízkoúrovňové prvky, když to Blueprinty jsou skvělý pro skriptování úrovní a objektů pomocí high-level bloků. Samozřejmě samotné vizuální bloky lze v C++ vlastnoručně vytvořit. +Unreal Engine umožňuje programovat pomoci vizuálních bloků tzv. Blueprintů nebo textově v~jazyce C++. I~při~použití pouze jedné z~variant lze vyvinout celou hru. Veškerý potenciál se~ale~projevuje při jejich kombinaci. V~C++ se~skvěle programují komplexní a~nízkoúrovňové prvky, zatímco Blueprinty jsou skvělé pro~skriptování úrovní a~objektů pomocí high-level bloků. Samozřejmě samotné vizuální bloky lze~v~C++ vlastnoručně vytvořit. -Je to vše zároveň velmi obsáhlý aspekt Unreal Engine. Začátečníkovi bude celkem dlouho trvat než začne sám něco vymýšlet. A na první pohled jednoduchý vizuální programování je ve skutečností velmi komplexní už samotnou téměř nekonečnou nabídkou funkcí. +Je~to~vše zároveň velmi obsáhlý aspekt Unreal Engine. Začátečníkovi bude celkem dlouho trvat než začne sám něco vymýšlet. Na~první pohled jednoduché vizuální programování je~ve~skutečností velmi komplexní už~samotnou téměř nekonečnou nabídkou funkcí. + +Blueprinty jsou skvělé pro rychlé a jednoduché skriptování. Je dost přehledné jak . Opravdu to umožňuje do procesu programování hry zapojit členy týmu z jiných odvětví. Potom například level designer může iterovat vlastní myšlenky . Spolu s jednoduchostí jsou zároveň velmi bezpečné. Nefunkční kód se za běhu jen poznamená do logů a engine nebude havarovat. \subsection{Grafika} V rukou máme taktéž širokou nabídku technologií a nástrojů pro tvorbu grafiky nebo začlenění do hry obsahu vytvořeného v jiném softwaru. Je ale potřeba dát~si~záležet na veškerých nastavení enginu. Těch nastavení je velké množství a~rozhodně se budou iterovat během celého vývoje hry. Základní nastavení totiž jsou příliš univerzalní a nekompletní. Přestože i v základu hra snimi vypadá na dostatečné úrovní, při hraní bude stálý pocit nedokončenosti produktu nebo kopírování cizího díla. Většina vývojářů si totiž nedají zaležet, jak jejich hra vypadá kvůli lenosti nebo technické náročnosti tohoto kroku. Proto se většina her cítí jak si podobní a nepříjemný pro hráče.