Chapter 3 (#5)
Reviewed-on: #5 Co-authored-by: Oleg Petruny <oleg.petruny@gmail.com> Co-committed-by: Oleg Petruny <oleg.petruny@gmail.com>
This commit is contained in:
parent
ecdb50c789
commit
8e2b139dc9
2
ch2.tex
2
ch2.tex
@ -434,4 +434,4 @@ Přestože do~práce jsem~vložil mnoho času a~úsilí, nepodařilo se~mi splni
|
||||
\end{itemize}
|
||||
Nepodařilo~se~mi vytvořit poslední pátou úroveň z~časových důvodů. Zároveň jsem~se~rozhodl změnit žánr této úrovně z~first-person shooter na~top-down shooter. Důvodem změny posloužila analýza náročnosti tvorby obsahu pro~takový žánr. Přestože~first-person shooter se~může zdát jako~jednoduchý koncept, ve~skutečnosti pro~hezký herní zážitek je~potřeba vložit mnoho úsilí a~času. Pro~tento~žánr je~nutné pečlivě odladit všechny prvky hry a~hlavně animace, které~jsou má slabá stránka. Na~druhou stranu top-down shooter neklade tak~vysoké nároky a~dokonce umožňuje skrytí od~hráče nedostačující animace.
|
||||
\subsection{Obsah mimo hru}
|
||||
Projekt není~tvořen pouze technickým demo hry, ale~také zahrnuje nasazení a~údržbu sítě s~veřejnou ip~adresou, webového a~Git\footnote{https://git-scm.com/} serveru. Postupy nasazení a~údržby vzhledem k~zaměření práce nejsou zveřejněny. Zvolil jsem údržbu vlastní sítě a~zařízení převážně z~finančních důvodů. Vlastní Git server je zapotřebí z~důvodu nadstandardní velikosti repozitáře, kterou~veřejné platformy jako~GitHub\footnote{https://github.com/} a~Gitlab\footnote{https://about.gitlab.com/} již~zpoplatňují. Webový server slouží jako~rozhraní pro~poskytování assetů hráči v~podobě běžné indexovací složky se~soubory, kterou~poskytujé základní implementace serveru Nginx\footnote{https://nginx.org/}.
|
||||
Projekt není~tvořen pouze technickým demo hry, ale~také zahrnuje nasazení a~údržbu sítě s~veřejnou ip~adresou, webového a~Git\footnote{https://git-scm.com/} serveru. Postupy nasazení a~údržby vzhledem k~zaměření práce nejsou zveřejněny. Zvolil jsem údržbu vlastní sítě a~zařízení převážně z~finančních důvodů. Vlastní Git server je zapotřebí z~důvodu nadstandardní velikosti repozitáře, kterou~veřejné platformy jako~GitHub\footnote{https://github.com/} a~Gitlab\footnote{https://about.gitlab.com/} již~zpoplatňují. Webový server slouží jako~rozhraní pro~poskytování assetů hráči v~podobě běžné indexovací složky se~soubory, kterou~poskytuje základní implementace serveru Nginx\footnote{https://nginx.org/}.
|
||||
|
91
ch3.tex
91
ch3.tex
@ -1,82 +1,23 @@
|
||||
\chapter{Results and discussion}
|
||||
\chapter{Uživatelská dokumentace}
|
||||
|
||||
You should have a separate chapter for presenting your results (generated by the stuff described previously, in our case in \cref{chap:math}). Remember that your work needs to be validated rigorously, and no one will believe you if you just say that `it worked well for you'.
|
||||
|
||||
Instead, try some of the following:
|
||||
\section{Hardwarové požadavky a instalace}
|
||||
Minimální hardwarové požadavky (nejnižší otestované pro~FullHD min.~60FPS bez~MSAA):
|
||||
\begin{itemize}
|
||||
\item State a hypothesis and prove it statistically
|
||||
\item Show plots with measurements that you did to prove your results (e.g. speedup). Use either \texttt{R} and \texttt{ggplot}, or Python with \texttt{matplotlib} to generate the plots.\footnote{Honestly, the plots from \texttt{ggplot} look \underline{much} better.} Save them as PDF to avoid printing pixels (as in \cref{fig:f}).
|
||||
\item Compare with other similar software/theses/authors/results, if possible
|
||||
\item Show example source code (e.g. for demonstrating how easily your results can be used)
|
||||
\item Include a `toy problem' for demonstrating the basic functionality of your approach and detail all important properties and results on that
|
||||
\item Include clear pictures of `inputs' and `outputs' of all your algorithms, if applicable
|
||||
\item CPU: AMD Ryzen 5 5500
|
||||
\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 Připojení k Internetu: 1 MB/s (pouze pro~stahování nového obsahu a~instalaci knihoven, jinak~není nutný)
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}
|
||||
\centering
|
||||
\includegraphics[width=.6\linewidth]{img/ukazka-obr01.pdf}
|
||||
\caption{This caption is a friendly reminder to never insert figures ``in text,'' without a floating environment, unless explicitly needed for maintaining the text flow (e.g., the figure is small and developing with the text, like some of the centered equations, as in \cref{thm:y}). All figures \emph{must} be referenced by number from the text (so that the readers can find them when they read the text) and properly captioned (so that the readers can interpret the figure even if they look at it before reading the text --- reviewers love to do that).}
|
||||
\label{fig:f}
|
||||
\end{figure}
|
||||
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.
|
||||
|
||||
It is sometimes convenient (even recommended by some journals, including Cell) to name the results sub-sections so that they state what exactly has been achieved. Examples follow.
|
||||
\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.
|
||||
|
||||
\section{SuperProgram is faster than OldAlgorithm}
|
||||
\subsection{Scalability estimation}
|
||||
\subsection{Precision of the results}
|
||||
\section{Weird theorem is proven by induction}
|
||||
\section{Amount of code reduced by CodeRedTool}
|
||||
\subsection{Example}
|
||||
\subsection{Performance on real codebases}
|
||||
\section{\sloppy NeuroticHelper improves neural network learning}
|
||||
\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é 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).
|
||||
|
||||
\section{Graphics and figure quality}
|
||||
|
||||
No matter how great the text content of your thesis is, the pictures will always catch the attention first. This creates the very important first impression of the thesis contents and general quality. Crucially, that also decides whether the thesis is later read with joy, or carefully examined with suspicion.
|
||||
|
||||
Preparing your thesis in a way such that this first impression gets communicated smoothly and precisely helps both the reviewer and you: the reviewer will not have a hard time understanding what exactly you wanted to convey, and you will get a better grade.
|
||||
|
||||
Making the graphics `work for you' involves doing some extra work that is often unexpected. At the same time, you will need to fit into graphics quality constraints and guidelines that are rarely understood before you actually see a bad example. As a rule of thumb, you should allocate at least the same amount of time and effort for making the figures look good as you would for writing, editing and correcting the same page area of paragraph text.
|
||||
|
||||
\subsection{Visualize all important ideas}
|
||||
The set of figures in your thesis should be comprehensive and complete. For all important ideas, constructions, complicated setups and results there should be a visualization that the reader can refer to in case the text does not paint the `mental image' sufficiently well. At the bare minimum, you should have at least 3 figures (roughly corresponding to the 3 chapters) that clearly and unambiguously show:
|
||||
\begin{enumerate}
|
||||
\item the context of the problem you are solving, optionally with e.g.~question marks and exclamation marks placed to highlight the problems and research questions
|
||||
\item the overall architecture of your solution (usually as a diagram with arrows, such as in \cref{fig:schema}, ideally with tiny toy examples of the inputs and outputs of each box),
|
||||
\item the advancement or the distinctive property of your solution, usually in a benchmark plot, or as a clear demonstration and comparison of your results.
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Make the figures comprehensible}
|
||||
The figures should be easily comprehensible. Surprisingly, that requires you to follow some common ``standards'' in figure design and processing. People are often used to a certain form of the visualizations, and (unless you have a very good reason) deviating from the standard is going to make the comprehension much more complicated. The common standards include the following:
|
||||
\begin{itemize}
|
||||
\item caption everything correctly, place the caption at an expectable position
|
||||
\item systematically label the plots with `main' titles (usually in boldface, above the plot), plot axes, axis units and ticks, and legends
|
||||
\item lay out the diagrams systematically, ideally follow a structure of a bottom-up tree, a left-to-right pipeline, a top-down layered architecture, or a center-to-borders mindmap
|
||||
\item {use colors that convey the required information correctly \par\footnotesize Although many people carry some intuition for color use, achieving a really correct utilization of colors is often very hard without previous experience in color science and typesetting. Always remember that everyone perceives color hues differently, therefore the best distinction between the colors is done by varying lightness of the graphics elements (i.e., separating the data by dark vs.~light) rather than by using hues (i.e., forcing people to guess which one of salmon and olive colors means ``better''). Almost 10\% of the population have their vision impaired by some form of color vision deficiency, most frequently by deuteranomaly that prevents interpretation of even the most `obvious' hue differences, such as green vs.~red. Finally, printed colors look surprisingly different from the on-screen colors. You can prevent much of these problems by using standardized palettes and well-tested color gradients, such as the ones from ColorBrewer\footnote{\url{https://colorbrewer2.org}} and ViridisLite\footnote{\url{https://sjmgarnier.github.io/viridisLite/}}. Check if your pictures still look good if converted to greyscale, and use a color deficiency simulator to check how the colors are perceived with deuteranomaly.}
|
||||
\end{itemize}
|
||||
|
||||
Avoid large areas of over-saturated and dark colors:
|
||||
\begin{itemize}
|
||||
\item under no circumstances use dark backgrounds for any graphical elements, such as diagram boxes and tables --- use very light, slightly desaturated colors instead
|
||||
\item avoid using figures that contain lots of dark color (as a common example, heatmaps rendered with the `magma' color palette often look like huge black slabs that are visible even through the paper sheet, thus making a dark smudge on the neighboring page)
|
||||
\item increase the brightness of any photos to match the average brightness of the text around the figure
|
||||
\end{itemize}
|
||||
|
||||
Remember to test your figures on other people --- usually, just asking `What do you think the figure should show?' can help you debug many mistakes in your graphics. If they think that the figure says something different than what you planned, then most likely it is your figure what is wrong, not the understanding of others.
|
||||
|
||||
Finally, there are many magnificent resources that help you arrange your graphics correctly. The two books by Tufte~\cite{tufte1990envisioning,tufte1983visual} are arguably classics in the area. Additionally, you may find many interesting resources to help you with technical aspects of plotting, such as the \texttt{ggplot}-style `Fundamentals' book by~\citet{wilke2019fundamentals}, and a wonderful manual for the TikZ/PGF graphics system by~\citet{tantau2015tikz} that will help you draw high-quality diagrams (like the one in~\cref{fig:schema}).
|
||||
|
||||
\section{What is a discussion?}
|
||||
After you present the results and show that your contributions work, it is important to \emph{interpret} them, showing what they mean in the wider context of the thesis topic, for the researchers who work in the area, and for the more general public, such as for the users.
|
||||
|
||||
Separate discussion sections are therefore common in life sciences where some ambiguity in result interpretation is common, and the carefully developed intuition about the wider context is sometimes the only thing that the authors have. Exact sciences and mathematicians do not need to use the discussion sections as often. Despite of that, it is nice to position your output into the previously existing environment, answering:
|
||||
\begin{itemize}
|
||||
\item What is the potential application of the result?
|
||||
\item Does the result solve a problem that other people encountered?
|
||||
\item Did the results point to any new (surprising) facts?
|
||||
\item How (and why) is the approach you chose different from what the others have done previously?
|
||||
\item Why is the result important for your future work (or work of anyone other)?
|
||||
\item Can the results be used to replace (and improve) anything that is used currently?
|
||||
\end{itemize}
|
||||
|
||||
If you do not know the answers, you may want to ask the supervisor. Also, do not worry if the discussion section is half-empty or thoroughly pointless; you may remove it completely without much consequence. It is just a bachelor thesis, not a world-saving avenger thesis.
|
||||
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,10 +1,15 @@
|
||||
\chapwithtoc{Závěr}
|
||||
Cílem této práce bylo:
|
||||
\begin{enumerate}
|
||||
\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, 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.
|
||||
|
||||
\chapwithtoc{Conclusion}
|
||||
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.
|
||||
|
||||
In the conclusion, you should summarize what was achieved by the thesis. In a few paragraphs, try to answer the following:
|
||||
\begin{itemize}
|
||||
\item Was the problem stated in the introduction solved? (Ideally include a list of successfully achieved goals.)
|
||||
\item What is the quality of the result? Is the problem solved for good and the mankind does not need to ever think about it again, or just partially improved upon? (Is the incompleteness caused by overwhelming problem complexity that would be out of thesis scope\todo{This is quite common.}, or any theoretical reasons, such as computational hardness?)
|
||||
\item Does the result have any practical applications that improve upon something realistic?
|
||||
\item Is there any good future development or research direction that could further improve the results of this thesis? (This is often summarized in a separate subsection called `Future work'.)
|
||||
\end{itemize}
|
||||
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 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/}).
|
||||
|
||||
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.
|
||||
|
53
howto.tex
53
howto.tex
@ -1,45 +1,10 @@
|
||||
\chapter{Using CoolThesisSoftware}
|
||||
\chapwithtoc{Přílohy}
|
||||
|
||||
Use this appendix to tell the readers (specifically the reviewer) how to use your software. A very reduced example follows; expand as necessary. Description of the program usage (e.g., how to process some example data) should be included as well.
|
||||
|
||||
To compile and run the software, you need dependencies XXX and YYY and a C compiler. On Debian-based Linux systems (such as Ubuntu), you may install these dependencies with APT:
|
||||
\begin{Verbatim}
|
||||
apt-get install \
|
||||
libsuperdependency-dev \
|
||||
libanotherdependency-dev \
|
||||
build-essential
|
||||
\end{Verbatim}
|
||||
|
||||
To unpack and compile the software, proceed as follows:
|
||||
\begin{Verbatim}
|
||||
unzip coolsoft.zip
|
||||
cd coolsoft
|
||||
./configure
|
||||
make
|
||||
\end{Verbatim}
|
||||
|
||||
The program can be used as a C++ library, the simplest use is demonstrated in \cref{lst:ex}. A demonstration program that processes demonstration data is available in directory \verb|demo/|, you can run the program on a demonstration dataset as follows:
|
||||
\begin{Verbatim}
|
||||
cd demo/
|
||||
./bin/cool_process_data data/demo1
|
||||
\end{Verbatim}
|
||||
|
||||
After the program starts, control the data avenger with standard \verb-WSAD- controls.
|
||||
|
||||
\begin{listing}
|
||||
\begin{lstlisting}
|
||||
#include <CoolSoft.h>
|
||||
#include <iostream>
|
||||
|
||||
int main() {
|
||||
int i;
|
||||
if(i = cool::ProcessAllData()) // returns 0 on error
|
||||
std::cout << i << std::endl;
|
||||
else
|
||||
std::cerr << "error!" << std::endl;
|
||||
return 0;
|
||||
}
|
||||
\end{lstlisting}
|
||||
\caption{Example program.}
|
||||
\label{lst:ex}
|
||||
\end{listing}
|
||||
Přiložený balíček ZIP obsahuje:
|
||||
\begin{itemize}
|
||||
\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}
|
||||
|
17
intro.tex
17
intro.tex
@ -1,18 +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 stále založeno na~použití speciálně vytvořeného a~odladěného algoritmu. Tento algoritmus různé složitosti stále 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.~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í hráči dokážou oblíbené hry úpravit, aby~ony jakousi podporu měly. 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~výsledně 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. Minimálně musí vynaložit úsilí k~manuálnímu vyhledání, stažení a~instalaci modů.
|
||||
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áší tak 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. Zároveň tato práce přenechává samotné generování obsahu pomocí AI modelů a~testování výsledků až~jako další rozšíření. Čili primárně se~zaměřuje na~kostru samotné hry, aby~potom 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.
|
||||
|
||||
\pagebreak
|
||||
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{%
|
||||
In the history of the gaming industry, there are really few games capable of loading content on the fly, let alone when the games are story-driven and designed for a single player. This thesis provides an example implementation of a comprehensive game in Unreal Engine, 3D models, and a dynamic soundtrack. The output is a playable, coherent story pieced into five genre and dynamic different levels. The project introduces an interface for loading new content on the fly, systems of dialogues, cutscenes, quick time events, and object interaction. Along with this, in detail are addressed problems and pitfalls in creating a game and graphics in Unreal Engine 5.
|
||||
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{%
|
||||
V dějinách herního průmyslu je opravdu malé množství her, schopných načítat obsah za běhu, natož když hry jsou s příběhem a určené pro jednoho hráče. Tato práce poskytuje vzorovou implementaci obsahlé hry v Uneral Engine, 3D modelů a dynamického soundtracku. Výstupem je dohratelný celistvý příběh probíhající v pět žánrově a dynamicky odlišných úrovních. Projekt zavádí rozhraní pro načítání nového obsahu za běhu, systémy dialogů, cutscén, quick time eventů a objektové interakce. Spolu s tím jsou podrobně řešeny problémy a úskalí při tvorbě hry a grafiky v Unreal Engine 5.
|
||||
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.
|
||||
|
@ -132,6 +132,7 @@
|
||||
\include{ch3}
|
||||
\include{conclusion}
|
||||
\include{bibliography}
|
||||
\addcontentsline{toc}{chapter}{Seznam obrázků}
|
||||
\listoffigures
|
||||
|
||||
\appendix
|
||||
|
Loading…
Reference in New Issue
Block a user