all
This commit is contained in:
parent
50802ccd18
commit
58d8865254
14
ch3.tex
14
ch3.tex
@ -4,20 +4,20 @@
|
||||
Minimální hardwarové požadavky (nejnižší otestované pro~FullHD min.~60FPS bez~MSAA):
|
||||
\begin{itemize}
|
||||
\item CPU: AMD Ryzen 5 5500
|
||||
\item GPU: NVIDIA GTX 1050ti
|
||||
\item RAM: 2GB
|
||||
\item Místo na disku: 2GB
|
||||
\item GPU: NVIDIA GTX 1050 Ti
|
||||
\item RAM: 2 GB
|
||||
\item Místo na disku: 2 GB
|
||||
\item Operační systém: Windows 10 nebo Windows 11
|
||||
\item Internet: 1MB/s (pouze pro~stahování nového obsahu a~instalaci knihoven, jinak~není nutný)
|
||||
\item Připojení k Internetu: 1 MB/s (pouze pro~stahování nového obsahu a~instalaci knihoven, jinak~není nutný)
|
||||
\end{itemize}
|
||||
|
||||
Součástí přilohy je Zip balíček hry (Lost\_EdgeWinBuild.zip). Před~spuštěním hry (soubor [Rozbalený balíček]/Lost\_Edge.exe) je doporučeno spustit instalaci knihoven potřebných k~fungování hry tvořené v~Unreal~Engine~5 (soubor [Rozbalený balíček]/Engine/Extras/Redist/en-us/UEPrereqSetup\_x64.exe). Při~instalaci knihoven je potřeba mít připojení k~internetu.
|
||||
Součástí přilohy je hra (Builds/Lost\_Edge). Před~spuštěním hry (soubor Builds/Lost\_Edge/Lost\_Edge.exe) je doporučeno spustit instalaci knihoven potřebných k~fungování hry tvořené v~Unreal~Engine~5 (soubor Builds/Lost\_Edge/Redist/UEPrereqSetup\_x64.exe). Při~instalaci knihoven je potřeba mít připojení k~internetu.
|
||||
|
||||
\section{Menu a nastavení hry}
|
||||
Po spuštění programu se~uživateli otevře testovací úroveň. Pro~otevření/zavření menu je potřeba stisknout klávesu \emph{Escape}. V~menu pomocí levého tlačítka myši lze program vypnout, nebo~nastavit parametry zobrazení aplikace (rozlišení, omezení snímků, zobrazení FPS, zhlazovací metoda), hlasitost audia nebo~citlivost pohybu herní kamery.
|
||||
|
||||
\newpage
|
||||
\section{Ovládání, zahájení a průběh hry}
|
||||
Ve hře je k dispozici debug nabídka, kterou~lze otevřít klávesou TAB (lze v~ní přeskočit minihru). Jinak hra využívá klasické pro~3D~hry ovládání, tedy klávesy WASD pro~pohyb do~stran, udržení Shift pro~běh, mezerník pro~skok a~pohyb myší pro~pohyb kamery. Během hry v~závislosti na~kontextu se~objevují další ovládací prvky a~nápovědy k~ním. Nápovědy mohou slovně nebo~pomocí animací vyzývat k~stisknutí, nebo~podržení určitých kláves. Některé pohyblivé objekty simulují fyzické chování, pro~které je zapotřebí objekty pustit při~posunu, nebo~narážet do~sebe (například hod objektem pomocí rychlého posunu kamerou a~jeho puštění v~okamžiku švihu).
|
||||
Ve hře je k dispozici debug nabídka, kterou~lze otevřít klávesou TAB (lze v~ní přeskočit minihru). Jinak hra využívá klasické ovládání pro~3D~hry, tedy klávesy WASD pro~chůzi, držení Shift pro~běh, mezerník pro~skok a~pohyb myší pro~pohyb kamery. Během hry v~závislosti na~kontextu se~objevují další ovládací prvky a~nápovědy k~ním. Nápovědy mohou slovně nebo~pomocí animací vyzývat stisknutí, nebo~podržení určitých kláves. Některé pohyblivé objekty simulují fyzické chování, pro~které je zapotřebí objekty pustit při~posunu, nebo~narážet do~sebe (například hod objektem pomocí rychlého posunu kamerou a~jeho puštění v~okamžiku švihu).
|
||||
|
||||
Příběhový režim hry se~zahájí aktivací panelu s~nápisem ``Start game" v~testovací úrovni (úplně první panel, který~vidí hráč po~spuštění hry). Příběh se~skládá ze~čtyř úrovní se~žánry po~pořadě horror, minigame adventura, puzzle, stealth. Průměrná délka hry je 5~až~10 minut.
|
||||
Příběhový režim hry se~zahájí aktivací panelu s~nápisem ``Start game" v~testovací úrovni (úplně první panel, který~vidí hráč po~spuštění hry). Příběh se~skládá ze~čtyř úrovní se~žánry po~pořadě horror, minigame adventura, puzzle a~stealth. Průměrná délka hry je 5~až~10 minut.
|
||||
|
@ -1,15 +1,15 @@
|
||||
\chapwithtoc{Závěr}
|
||||
Cílem této práce bylo:
|
||||
\begin{enumerate}
|
||||
\item navrhnout způsob tvorby a sdílení AI generativního obsahu pro hry
|
||||
\item navrhnout způsob tvorby a využití AI generativního obsahu pro hry
|
||||
\item a vytvořit kostru příběhové 3D počítačové hry s podporou načítání nového obsahu za~běhu, která~bude schopná pojmout různé herní žánry a~situace.
|
||||
\end{enumerate}
|
||||
Práce zahrnuje popis, analýzu a~řešení problémů spojených s~návrhem her, jejich tvorbou v~Unreal~Engine a~jejich AI~generováním, sdílením a~načítáním přímo do~hry. Jsou pokryty i~technologie a~systémy potřebné pro~pokročilou tvorbu a~práci s~2D a~3D grafikou a~audio.
|
||||
Práce zahrnuje popis, analýzu a~řešení problémů spojených s~návrhem her, jejich tvorbou v~Unreal~Engine a~jejich AI~generováním, stahováním a~načítáním přímo do~hry. Jsou pokryty i~technologie a~systémy potřebné pro~pokročilou tvorbu a~práci s~2D a~3D grafikou a~se~zvuky a~hudbou.
|
||||
|
||||
Z~důvodu rozsahu práce nebyl dodán veškerý plánovaný obsah netechnického charakteru. Text práce často pouze nastiňuje reálnou implementaci, než~aby~popsal detaily co~nejpřesněji. Přesto výsledek práce splňuje všechny stanovené cíle, splňuje cíle vedlejší a~navádí na~možná vylepšení. Absence audiovizuálního obsahu a~jednoho z~pěti úrovní nezasahuje do~funkčnosti ani~hratelnosti kostry hry. Nastíněná implementace obsahuje v~příloze programátorskou dokumentaci, která~umožňuje jednodušší začátek se~zdrojovým kódem.
|
||||
Z~důvodu rozsahu práce nebyl dodán veškerý plánovaný obsah netechnického charakteru. Text práce nastiňuje reálnou implementaci, ale~nezabíhá do~hlubších detailů, které~jsou lépe popsané v~(programátorské) dokumentaci. Výsledek práce splňuje všechny stanovené cíle a~navádí na~možná vylepšení. Absence audiovizuálního obsahu a~jedné z~pěti úrovní nezasahuje do~funkčnosti ani~hratelnosti kostry hry. Bakalářská práce obsahuje v~příloze programátorskou dokumentaci, která~umožňuje jednodušší začátek práce se~zdrojovým kódem.
|
||||
|
||||
Výsledná hra nyní slouží bohatou platformou pro~zkoušení AI~generativní tvorby podle analýzy v~\Cref{sec:contentGenerationAndIntegration}. Avšak~jsou k~dispozici široké možnosti dalšího vývoje.
|
||||
Výsledná hra nyní slouží jako bohatá platforma pro~zkoušení AI~generativní tvorby podle analýzy v~Sekci~\ref{sec:contentGenerationAndIntegration}. Avšak~jsou k~dispozici široké možnosti dalšího vývoje.
|
||||
|
||||
Především, jak je zmíněno v návrhu, potřebujeme doladit existující textový AI~model, aby~byl schopný programovat v~prostředí Unreal~Enginu. S~takovým modelem bychom mohli postavit aspoň triviální generaci a~začít testovat možností a~vliv generativní tvorby ve~hrách. V~průběhu psaní práce již~jeden podobný model vznikl, ale~je placený a~značně omezený (viz~Ludus~AI\footnote{https://ludusengine.com/}).
|
||||
Především, jak je zmíněno v návrhu, potřebujeme doladit existující textový AI~model, aby~byl schopný programovat v~prostředí Unreal~Enginu. S~takovým modelem bychom mohli implementovat aspoň základní generátory (různých typů obsahu) a~začít testovat možností a~vliv generativní tvorby ve~hrách. V~průběhu psaní práce již~jeden podobný model vznikl, ale~je placený a~značně omezený (viz~Ludus~AI\footnote{https://ludusengine.com/}).
|
||||
|
||||
Nebo~například hře stále chybí mnoho zábavního a~audiovizuálního obsahu, který~by~zpestřil zážitek hráče a~zároveň poskytl více dat a~tedy i~kvalitnější AI~generativní výstup.
|
||||
Také hře chybí ladění na~optimalizaci "herního zážitku" a~mnoho audiovizuálního obsahu, který~by zpestřil zážitek ze~hry a~zároveň poskytl více dat a~tedy i~kvalitnější AI~generativní výstupy. V~okamžiku odevzdání této práce se již na~tomto bodě pracuje a~jsou plánována budoucí rozšíření a~vylepšení stávající hry.
|
||||
|
11
howto.tex
11
howto.tex
@ -1,9 +1,10 @@
|
||||
\chapwithtoc{Přílohy}
|
||||
|
||||
Přiložený Zip balíček obsahuje:
|
||||
Přiložený balíček ZIP obsahuje:
|
||||
\begin{itemize}
|
||||
\item designová a programátorská dokumentace (složka Documentation),
|
||||
\item zdrojové kódy (C++ textové soubory a Blueprint assety v projektech), mediální soubory (audio, 2D a 3D grafické soubory) a unreal engine projekty použité pro vývoj této práce a její předešlé verze (složka Data),
|
||||
\item výsledný program této práce a její předešlé verze (složka Builds),
|
||||
\item modul určený ke generování dialogů (složka VoiceGeneration).
|
||||
\item kopii této práce,
|
||||
\item designovou dokumentaci, popis příběhu, popis úrovní, programátorskou dokumentaci a kopii uživatelské dokumentace (složka Documentation),
|
||||
\item zdrojové kódy (C++ textové soubory a Blueprint assety v~projektech), mediální soubory (audio, 2D~a~3D grafické soubory) a~projekty pro~Unreal Engine použité k~vývoji této~práce (Lost\_Edge) a~její předchozí verze (Lost\_Edge\_Legacy), na~které je práce založená (složka Data),
|
||||
\item aktuální přeložená, hratelná verze této práce (Lost\_Edge) a~její předchozí verze (Lost\_Edge\_Legacy), na~které je práce založená (složka Builds),
|
||||
\item textový rozcestník ke~složce ``Data" s~odkazem na~stránku s~aktuálním repozitářem projektu (README.txt).
|
||||
\end{itemize}
|
||||
|
16
intro.tex
16
intro.tex
@ -1,17 +1,17 @@
|
||||
\chapwithtoc{Úvod}
|
||||
|
||||
Běžně příběhové hry jsou navrhnuté předem a~zůstávají neměnné. Existují ale~i~výjimky, například hry žánru rogue-like, kde~je generování obsahu založeno na~použití speciálně vytvořeného a~odladěného algoritmu. Tento algoritmus různé složitosti používá pouze prostředky předem navržené a~odladěné vývojáři. To~vše má podstatný důvod, jelikož vývojáři mají za~úkol vytvořit tzv.~dobrý herní zážitek a~zaručit, že~hra bude umělecky správně interpretovaná hráčem. Bohužel nezávisle na~kvalitě výsledné hry -- počet opakovaného zahrání hry v~nejlepším případě klesá nebo~v~tom horším je~pouze jeden.
|
||||
Příběhové hry jsou běžně navrhnuté předem a~zůstávají neměnné. Existují ale~i~výjimky, například hry žánru rogue-like, kde~je generování obsahu založeno na~použití speciálně vytvořeného a~odladěného algoritmu. Tento algoritmus různé složitosti používá pouze prostředky předem navržené a~odladěné vývojáři. To~vše má podstatný důvod, jelikož vývojáři mají za~úkol vytvořit tzv.~dobrý herní zážitek a~zaručit, že~hra bude umělecky správně interpretovaná hráčem. Bohužel nezávisle na~kvalitě potenciál opakovaného hraní hry je omezený a~v~horším případě ani~hra k~druhému zahrání neláká.
|
||||
|
||||
Celý problém v~branži příběhových her je~řešen tzv.~komunitními mody neboli modifikacemi hry, a~to~různých druhů, jako například grafické, kódové a~další. Samotní vývojáři poskytují potřebné prostředky pro~podporu nebo~tvorbu modů. Dokonce i~technicky zdatní autoři modů dokáží přímo upravovat soubory hry, nebo~vyvíjet nástroje, které~s~nimi pracují. V~každém případě modifikace značně zvětšují počet znovuzahrání hry, kde~klasickým příkladem je~hra The Elder Scrolls: Skyrim od~studia Bethesda.
|
||||
Tento problém v~branži příběhových her je řešen různými druhy tzv.~komunitních modů neboli modifikací hry, jako~například grafické, kódové nebo~další úpravy. Buď~samotní vývojáři hry poskytují potřebné prostředky pro~podporu a~tvorbu modů, nebo~i~technicky zdatní autoři modů dokáží přímo upravovat soubory hry, nebo~vyvíjet nástroje, které~s~nimi pracují. V~každém případě modifikace značně zvyšují potenciál znovuzahrání hry, kde~klasickým příkladem je~hra The Elder Scrolls: Skyrim od~studia Bethesda.
|
||||
|
||||
Přestože celé řešení zdánlivě funguje, spoléhá~se na~ochotu samotných hráčů mody vytvářet. Jestliže hra nebude mít dostatek hráčů, potom~taktéž nebude mít dostatek nového fanouškovského obsahu a~pak počet znovuzahrání neroste. Nedavným příkladem je~hra Starfield od~již zmíněného studia Bethesda. Navíc k~mnoha technickým omezením samotných modů, musí~mít hráči nejen ochotu, ale~i~být technicky a~umělecky zdatní, aby~něco vytvořili, nebo~nainstalovali.
|
||||
Přestože toto (komunitní) řešení zdánlivě funguje, spoléhá~se na~ochotu samotných hráčů mody vytvářet. Pokud hra nebude mít dostatek hráčů, potom~také nebude mít dostatek nového fanouškovského obsahu a~pak počet znovuzahrání neroste. Nedávným příkladem je~hra Starfield od~již zmíněného studia Bethesda. Navíc kromě technických omezení samotných modů musí~mít hráči nejen ochotu, ale~i~být technicky a~umělecky zdatní, aby~něco vytvořili, nebo~nainstalovali.
|
||||
|
||||
Tato práce se~zaměřuje na~tvorbu hry a~návrh systému, který~umožní výše popsaný lidský faktor a~nedostatky eliminovat. Přináší příběh rozdělený na~pět žánrově odlišných úrovní a~zavádí high-level API pro~Unreal~Engine na~stahování a~načítání obsahu do~hry přímo za~běhu. Specifický příběh snižuje ludonarativní disonanci\footnote{Souvislost resp.~logické propojení herního světa, příběhu a~gameplaye.} při~vzniku nového obsahu ve~hře a~přítomnost více žánrů umožňuje otestovat, jestli toto řešení v~každém z~nich dostatečně funguje. Tato práce přenechává samotné generování obsahu pomocí AI modelů a~testování výsledků až~jako další rozšíření. Primárně se~zaměřuje na~kostru samotné hry, aby~byl prostor, kam nový obsah začlenit.
|
||||
Tato práce se~zaměřuje na~tvorbu hry a~návrh systému, který~umožní výše popsaný lidský faktor a~nedostatky omezit. Přináší příběh rozdělený na~pět žánrově odlišných úrovní a~zavádí high-level API pro~Unreal~Engine na~stahování a~načítání obsahu do~hry přímo za~běhu. Specifický příběh snižuje ludonarativní disonanci\footnote{Nesouvislost resp.~logické odpojení herního světa, příběhu a~gameplaye.} při~vzniku nového obsahu ve~hře a~přítomnost více žánrů umožňuje otestovat, jestli toto řešení v~každém z~nich dostatečně funguje. Tato práce přenechává samotné generování obsahu pomocí AI modelů a~testování výsledků~jako další rozšíření. Primárně se~zaměřuje na~kostru samotné hry, aby~byl prostor, kam nový obsah začlenit.
|
||||
|
||||
Hlavní témata na~které se~práce zaměřuje:
|
||||
\begin{itemize}
|
||||
\item Ukázkové příklady tvorby herních systémů a~mechanik pro~Unreal~Engine (\cref{sec:systemsAndMechanics}).
|
||||
\item Návrh tvorby generativního obsahu a~jeho načítaní v~Unreal Engine (\cref{sec:contentGenerationAndIntegration}).
|
||||
\item Postupy tvorby různé grafiky v~UE (\cref{sec:graphics}).
|
||||
\item Postupy tvorby zvuků a~hudby pro~hry (\cref{sec:audio}).
|
||||
\item ukázkové příklady tvorby herních systémů a~mechanik pro~Unreal~Engine (\cref{sec:systemsAndMechanics}),
|
||||
\item návrh tvorby generativního obsahu a~jeho načítaní v~Unreal Engine (\cref{sec:contentGenerationAndIntegration}),
|
||||
\item postupy tvorby grafiky v~UE (3D a 2D, animace, post-processing) (\cref{sec:graphics}) a
|
||||
\item postupy tvorby zvuků a~hudby pro~hry (\cref{sec:audio}).
|
||||
\end{itemize}
|
||||
|
@ -56,11 +56,11 @@ Rozhodně děkuji svému vedoucímu Mgr. Martinu Mirbauerovi za jeho čas, ochot
|
||||
}
|
||||
|
||||
\def\AbstractEN{%
|
||||
The thesis deals with the creation of a multi-genre narrative computer game with support for loading new content on~the~fly in~Unreal Engine~5. It includes the~analysis and design of~a~complex system for AI~generation and~sharing of~game content. The~text provides an~introduction and the~use of~many technologies used to~create a~complete modern game. The~result is~a~demo that~contains examples of~all systems and~has the~possibility of~expansion in~subsequent works.
|
||||
The thesis deals with the creation of a multi-genre narrative computer game with support for loading new content on~the~fly in~Unreal Engine~5. It~includes an~analysis and~design of~a~complex system for~AI generation of~game content and~its downloading and~loading (in~the~game client) (during the~game). The~text provides an~introduction and the~use of~many technologies used to~create a~complete modern game. The~result is~a~demo that~contains examples of~all systems and~has the~possibility of~expansion in~subsequent works.
|
||||
}
|
||||
|
||||
\def\AbstractCS{%
|
||||
Práce se zabývá tvorbou vícežánrové příběhové počítačové hry s podporou načítání nového obsahu za běhu v Unreal Engine 5. Součástí je rozbor a návrh komplexního systému pro AI generování a sdílení herního obsahu. Text obsahuje úvod a nastínění použití mnoha technologií používaných pro tvorbu kompletní a moderní hry. Výsledkem je demo, které obsahuje ukázky všech systémů a disponuje možností rozšíření v navazujících pracích.
|
||||
Práce se~zabývá tvorbou vícežánrové příběhové počítačové hry s~podporou načítání nového obsahu za~běhu v~Unreal Engine~5. Součástí je rozbor a~návrh komplexního systému pro~AI generování herního obsahu a~jeho stahování a~načítání (v~herním klientovi) (při~hře). Text obsahuje úvod a~nastínění použití mnoha technologií používaných pro~tvorbu kompletní a~moderní hry. Výsledkem je demo, které~obsahuje ukázky všech systémů a~disponuje možností rozšíření v~navazujících pracích.
|
||||
}
|
||||
|
||||
% 3 to 5 keywords (recommended), each enclosed in curly braces.
|
||||
|
Loading…
Reference in New Issue
Block a user