\subtitle{Procedural Generation}
\date{Monday (AM), 14 May 2018}

\begin{document}
	
	\begin{frame}
	\titlepage
	\end{frame}

	\begin{frame}
	\frametitle{History of Procedural Generation}
	\begin{itemize}
		\item Procedural Generation used to be used due to space constraints
		\item Nowadays it tends to be to provide more content.
		\item One of the most common uses for procedural generation is levels
	\end{itemize}
	\end{frame}

	\section{Level Generation}
	% level generation
	
	\begin{frame}
		\frametitle{Examples: Rogue}
		\begin{itemize}
			\item Spawned in entire genre based on procedural generation.
			\item Randomly generated dungeons
		\end{itemize}
	
		\begin{center}
		\includegraphics[width=0.75\linewidth]{rogue}
		\end{center}
	\end{frame}

	\begin{frame}
		\frametitle{Activity}
		
		\begin{block}{Question}
			What methods are commonly used for generating levels?
		\end{block}
	
		\pause
		\begin{itemize}
			\item Binary Space Partitioning
			\item Random walks
			\item Cellular Automata
			\item Answer Set Programming
			\item Noise-based
			\item Grid Based
		\end{itemize}
	\end{frame}

\begin{frame}[fragile]{Cellular Automata}
	
	\begin{itemize}
		\item Some states (2 or more)
		\item You need a rule (eg, if at least 4 of your neighbours are alive, then return alive, else return dead.)
	\end{itemize}
	
\begin{minted}[breaklines]{python}
for tile in grid:
	neighbors = get_alive_neighbours(tile)
	grid[tile] = rule(neighbours)
\end{minted}
		
\end{frame}


		
	
	\section{Assets}
	% music, units, etc...
	\section{Full Games}
	% games by angileia
	
	\begin{frame}{Full Games}
		\begin{itemize}
			\item What about games?
			\item We can try and generate those to.
			\item \url{http://www.gamesbyangelina.org/games/}
		\end{itemize}
	\end{frame}
	
\end{document}
