WUT_Computer_Science/presentation.tex

205 lines
5.2 KiB
TeX

\documentclass{beamer}
\usepackage[fontsize=24pt]{fontsize}
\usepackage{graphicx}
\graphicspath{ {./images/} }
\usetheme{Warsaw}
%Information to be included in the title page:
\title{Match-three game engine}
\author{Krzysztof Rudnicki}
\beamertemplatenavigationsymbolsempty
\setbeamertemplate{headline}{}
\addtobeamertemplate{navigation symbols}{}{%
\usebeamerfont{footline}%
\hspace{1em}%
\insertframenumber/\inserttotalframenumber
}
\begin{document}
\frame{\titlepage}
\begin{frame}
\frametitle{Presentation plan}
\tableofcontents
\end{frame}
\section{Why}
\begin{frame}
\frametitle{Game-engine}
Software framework designed for developing video games
\end{frame}
\begin{frame}
\frametitle{General engines}
\includegraphics[width=0.4\textwidth]{unity.jpg}
\includegraphics[width=0.4\textwidth]{unreal}
\end{frame}
\begin{frame}
\frametitle{Specialized engines}
\includegraphics[width=0.4\textwidth]{renpy}
\includegraphics[width=0.4\textwidth]{rpgmaker}
\end{frame}
\begin{frame}
\frametitle{Succesful games}
\includegraphics[width=0.4\textwidth]{ddlc}
\includegraphics{tothemoon}
\end{frame}
\begin{frame}
\frametitle{Why specialized engine}
\begin{itemize}
\item Smaller scope (easier)
\item Existing success stories
\item Less competition
\item Unix philosophy
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{match-three example}
\includegraphics[width=0.9\textwidth]{bejewield}
\end{frame}
\begin{frame}
\frametitle{Match-three concepts}
\begin{itemize}
\item Board Representation
\item Game Logic
\item User Interaction
\item Animation and Graphics
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Why match-three games}
\begin{itemize}
\item Relatively easy to program
\item Popular
\item Work on everything
\item Graphics dependable
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Multiplatform}
\begin{itemize}
\item Linux
\item Windows
\item Android/iOS
\item Mac
\end{itemize}
\end{frame}
\section{How}
\begin{frame}
\frametitle{Project scope}
\begin{itemize}
\item Custom graphics (tiles/backgrounds)
\item Custom shaders
\item Defining game rules
\item Building multiplatform
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Technology}
\begin{itemize}
\item C++
\item OpenGL ES (API)
\item GLFW (windows/input)
\item GLM (math)
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Ease of match 3}
\includegraphics[height=0.6\textwidth]{easy}
Smaller scope
\end{frame}
\begin{frame}
\frametitle{Engine design overhaul}
\begin{itemize}
\item Window/Input management
\item Graphics/Rendering
\item Gems attributes
\item Game Logic
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Window/Input}
GLFW:
\begin{itemize}
\item Create window
\item Handle input
\item Rendering context
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{User inputs}
\includegraphics[width=0.4\textwidth]{keyboard.jpg}
\includegraphics[width=0.4\textwidth]{xbox360.jpg}
\includegraphics[width=0.4\textwidth]{finger.jpg}
\end{frame}
\begin{frame}
\frametitle{Graphics/Rendering}
\begin{itemize}
\item Shaders
\item Vertex Buffer Objects
\item Vertex Array Objects
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Gems attributes}
\begin{itemize}
\item Type
\item Status
\item Position
\item Value
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Game Logic}
\begin{itemize}
\item Check for matches
\item Remove matched
\item Fill board
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Animation}
\includegraphics[width=0.9\textwidth]{swap.png}
\end{frame}
\section{Summary}
\begin{frame}
Thesis is about creating a game engine specialized in match-three multiplatform games using OpenGL
\frametitle{Summary}
\end{frame}
\section{References}
\begin{frame}
\begin{itemize}
\item \href{https://docs.gl/}{https://docs.gl/}
\item \href{https://learnopengl.com/}{https://learnopengl.com/}
\item \href{https://www.youtube.com/c/gameengineseries}{The Cherno}
\item Game Engine Architecture, Jason Gregory
\end{itemize}
\frametitle{References/sources}
\end{frame}
\end{document}