\subtitle{Recap}
\date{Monday, 14 May 2018}

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

	\section{Game Design}
	
	\begin{frame}{Rules}
		\begin{enumerate}[<+->]
			\item Games have rules
			\item Rules are important \begin{itemize}
				\item Too many rules $\Rightarrow$ Not fun
				\item Too few rules $\Rightarrow$ Not fun
			\end{itemize}
		\end{enumerate}
	\end{frame}
	
	%TODO give this section a better name
	\section{Richard's Hierarchy}
	
	\begin{frame}{Richard's Hierarchy}
	\begin{itemize}[<+->]
		\item These slides are 'borrowed' from Prof. Bartle's slides.
		\item Although we've used a different font...
		\item We're recapping this because it's important to what we're doing
		\item also, you've done exams since then...
	\end{itemize}
	\end{frame}
	
	\begin{frame}{Richard's Hierarchy}
	\begin{itemize}[<+->]
		\item Tokens (aka entities)
		\item Rules
		\item Features
		\item Gameplay
	\end{itemize}
	\end{frame}

	\begin{frame}{Tokens}
		\begin{columns}
			\begin{column}{0.7\textwidth}
				\begin{itemize}[<+->]
					\item Things that can \textbf{act} or \textbf{be acted upon}
					\item Game Rules \textbf{directly} concern tokens
					\item In \textbf{computer} games, tokens are usually the \textbf{programming} objects/entities
					\begin{itemize}
						\item They \textbf{may} have associated assets
						\item They \textbf{may} have associated properties
					\end{itemize}
				\end{itemize}
			\end{column}
			\begin{column}{0.3\textwidth}
				\includegraphics[scale=0.2]{chessQueen}
			\end{column}
		\end{columns}
	\end{frame}

	\begin{frame}{Rules}
		\begin{itemize}[<+->]
			\item Rules refer to \textbf{tokens} and each \textbf{other}
			\item Features emerge from rule interactions
			\item Example:
			\begin{itemize}
				\item Rule 1 - Artillery kills infantry with no cover.
				\item Rule 2 - Artillery makes craters.
				\item Rule 3 - Craters provide cover for infantry.
			\end{itemize}
			\note{Company of Heroes by Relic entertainment implemented this example}
			\item The \textbf{emergent feature} is ``Defences need to be managed''
			\item Rules \textbf{together} with features form the \textbf{mechanics} by which gameplay emerges
		\end{itemize}
	\end{frame}

	\begin{frame}{Features}
	\begin{itemize}[<+->]
		\item Features are what makes this game different to other games.
		\item In terms of mechanics, this usually means ways to organise tokens
		\item it can mean ways to organise tokens
		\item Features emerge from interactions between game rules
		\item Gameplay emerges from iterations between features.
	\end{itemize}
	\end{frame}

	\begin{frame}{Gameplay}
	\begin{quote}<+->
		``A series of interesting choices'' \par\raggedleft -- Sid Meier
	\end{quote}
	\begin{itemize}[<+->]
		\item In the same way that features emerge from rule interactions, gameplay emerges from feature interactions
		\item Gameplay is what players do in the game to have fun
		\item There are subjective degrees of gameplay
	\end{itemize}
	\end{frame}

	\subsection{An Example}
	
	% TODO

	
	\section{Something else}
	\begin{comment}
	\begin{frame}{Loops}
		\begin{itemize}[<+->]
			\item Positive feedback loops
			\item Negative feedback loops
		\end{itemize}
	\end{frame}
	\end{comment}

	\begin{frame}{Positive Feedback Loops}
	\begin{columns}
		\begin{column}{0.4\textwidth}
			\begin{itemize}[<+->]
				\item In a positive feedback loop, the better you do something the easier it becomes.
				\item Your lead will increase if being ahead gives you an advantage
				\item Unstable and not good between players
			\end{itemize}
		\end{column}
		\begin{column}{0.6\textwidth}
			\only<1>{
				\begin{tikzpicture}
					\node[draw](res) at (0, 0) {Resources};
					\node[draw, align=center](city) at (4.5, 0) {Settlements\\ \& Cities};
					
					\path[->]
					(res) edge [bend right] node [below] {Pay for} (city)
					(city) edge [bend right] node [above] {Generate} (res)
					;
				\end{tikzpicture}
			}
			\only<2>{
				\begin{tikzpicture}
				\node[draw, align=center](kill) at (0, 0) {Tower \\ Kills Enemy};
				\node[draw, align=center](gains) at (2, 2) {Gains \\ Experience};
				\node [draw, align=center](lvlup) at (4, 0) {Tower \\ Levels Up};
				
				\path[->]
				(kill) edge [bend left] node [left] {} (gains)
				(gains) edge [bend left] node [left] {} (lvlup)
				(lvlup) edge [bend left] node [below] {Kills more} (kill)
				;
				\end{tikzpicture}
			}
			\only<3>{
				\begin{tikzpicture}
				\node[draw, align=center](scores) at (0, 0) {You Score \\ A Hit};
				\node[draw, align=center](drunk) at (2, 2) {Other Player \\ More Drunk};
				\node[draw, align=center](less) at (4, 0) {Other Player \\ Less Accurate};
				
				\path[->]
				(scores) edge [bend left] node [left] {} (drunk)
				(drunk) edge [bend left] node [right] {} (less)
				;
				\end{tikzpicture}
			}
		\end{column}
	\end{columns}
	\end{frame}
	
	\begin{frame}{Negative Feedback Loops}
	\begin{columns}
		\begin{column}{0.4\textwidth}
			\begin{itemize}[<+->]
				\item In a negative feedback loop, the better you do something the harder it becomes.
				\item Your lead will decrease if being ahead gives you a disadvantage
				\item Very good at all levels of gameplay
			\end{itemize}
		\end{column}
		\begin{column}{0.6\textwidth}
			\only<1>{
				\begin{tikzpicture}
				\node[draw, align=center](winning) at (0, 0) {More \\Villages};
				\node[draw, align=center](robbed) at (2, 2) {Gets \\Robbed};
				\node[draw, align=center](less) at (4, 0) {Less Chance \\ Of Winning};
				
				\path[->]
				(winning) edge [bend left] node [above left, align=center] {More \\ Likely} (robbed)
				(robbed) edge [bend left] node [above right, align=center] {Leads \\ To} (less)
				;
				\end{tikzpicture}
			}
			\only<2>{
				\begin{tikzpicture}
				\node[draw, align=center](expand) at (0, 0) {Capture Cities \\ Too Fast} ;
				\node[draw, align=center](upkeep) at (2, 2) {Too much \\ to defend};
				\node[draw, align=center](lose) at (4, 0) {Lose Citites \\ Couldn't Defend};
				\node[draw, align=center](worse) at (2,-2) {Worse Off \\ Than before};
				
				\path[->]
				(expand) edge [bend left] node [left] {} (upkeep)
				(upkeep) edge [bend left] node [right] {} (lose)
				(lose) edge [bend left] node [right] {Possibly} (worse)
				(worse) edge [bend left] node [left] {Idiot} (expand) 
				;
				\end{tikzpicture}
			}
			\only<3>{
				\begin{tikzpicture}
				\node[draw, align=center](ahead) at (0, 0) {Overtake};
				\node[draw, align=center](gets) at (2, 2) {Gets Shot \\ At};
				\node[draw, align=center](overtaken) at (4, 0) {Gets Overtaken};
				
				\path[->]
				(ahead) edge [bend left] node [left] {} (gets)
				(gets) edge [bend left] node [right] {} (overtaken)
				
				;
				\end{tikzpicture}
			}
		\end{column}
	\end{columns}

	\end{frame}

	\section{Game Parameters}
	
	\begin{frame}{Exercise: Game Characteristics}
	
		\begin{block}{Question}
			Identify characteristics of a game genre, e.g. 2D Arcade Games		
		\end{block}
	
	\end{frame}

	\begin{frame}{Answer: Game Characteristics}
		\begin{itemize}[<+->]
			\item Game Rules
			\item Object Types
			\item Vehicle Physics
			\item Input Controls
			\item Weapon Systems
			\item Game Views
			\item Level Designs
			\item AI Behaviour
		\end{itemize}
	\end{frame}

	\begin{frame}{Game Rules}
		\note{\begin{itemize}}
		\begin{itemize}[<+->]
			\item Collisions? \note{\item Collision Matrix}
			\item Reward Structure \note{\item Points, lives/health/ammo gained and lost}
			\item Game State transition structure \note{\item When is a level cleared??}
			\item Fundamental \item{Small changes can radically alter the game}
		\end{itemize}
		\note{\end{itemize}}
	\end{frame}

	\begin{frame}{Object Types}
		\begin{itemize}[<+->]
			\item Things to:
			\begin{itemize}
				\item Shoot
				\item Collect
				\item Jump on
				\item Protect
				\item Infect
				\item Bounce Off
			\end{itemize}
		\end{itemize}
	\end{frame}

	\begin{frame}{Vehicle Physics}
		\begin{itemize}[<+->]
			\item How do actions affect the movement of the vehicle?
			\item Left - right?
			\item Up - Down?
			\item Car-like?
			\item Asteroids-style space ship?
			\begin{itemize}
				\item Thrust always on?
				\item Drag?
				\item Rotation friction?			
			\end{itemize}
		\end{itemize}
	\end{frame}

	\begin{frame}{Input Controls}
		\begin{itemize}[<+->]
			\item Related to vehicle physics
			\item How the ship is controlled?
			\item Classic arcade or one touch controls?
		\end{itemize}
	
		\begin{block}{Question}
			Will AI's experience these changes?			
		\end{block}
	\end{frame}


	\begin{frame}{Weapon Systems}
		\begin{itemize}[<+->]
			\item Things to vary include:
			\begin{itemize}
				\item Fire rate
				\item Weapon Cooldowns
				\item Weapon firing angles
				\item Bullet velocity
				\item Bullet Time to Live
				\item Guided / Unguided
				\item Damage
				\item Size
				\end{itemize}
		\end{itemize}
	\end{frame}

	\begin{frame}{Game Views}
	\note{\begin{itemize}}
		\begin{itemize}[<+->]
			\item Fixed or Panning? Scrolling? Zooming viewport?\note{\item 2D/3D, CO/PO}
			\item Can radically \textbf{alter} nature and difficulty of a game
		\end{itemize}
	
	\note{\end{itemize}}
	\end{frame}

\begin{frame}{Level Design}
	\begin{itemize}[<+->]
		\item \textbf{Significant} impact on difficulty and interest
		\item Ms. Pac-Man classic example
		\begin{itemize}
			\item Levels differ in maze layouts
			\item Parameters such as speed of Ms. Pac-Man and Ghosts
		\end{itemize}
		\item For asteroids focus on speed, size, and movement of the Asteroids
	\end{itemize}
\end{frame}

\begin{frame}{Level Design}
	\begin{center}
		\includegraphics[width=0.9\textwidth]{pacmanLevels}
	\end{center}
\end{frame}

\begin{frame}{AI Behaviour}
	\begin{itemize}[<+->]
		\item Complex problem
		\item Interesting AI can \textbf{make} or \textbf{break} a game
		\item Keeping AI intelligent \textbf{without} being too powerful is hard
		\item Need to \textbf{monitor} the player and tweak
		\begin{itemize}
			\item Towards the \textbf{desired} player experience ...
		\end{itemize}
	\end{itemize}
\end{frame}
	
	\begin{frame}{Evolution}

	\begin{figure}
		\includegraphics[width=.8\linewidth]{images/shmup}
		\caption{Mechanics are like a game's DNA, and they often evolve from earlier games \cite{koster2013theory}}
		
		\note{
			\begin{description}
				\item[SpaceWar] 2p pvp Asteroids ships fighting
				\item[Space Invaders] Marching columns, single dimension of movement
				\item[Asteroids] Combined the two
				\item[Galaxian] Simple improvement to Space Invaders
				\item[Galaga] Sequel to Galaxian - Added tractor beam
				\item[Defender] - 2D movement and rescuing
				\item[Choplifter] - Reskin of Defender
				\item[Xevious] - Mario style scrolling aircraft
				\item[Zaxxon] - Isometric view
			\end{description}
		}
	\end{figure}

	\begin{figure}
		\begin{itemize}
			\item
		\end{itemize}
	\end{figure}

	\end{frame}

	\begin{frame}{'Inspiration'}
		There are great opportunities for mining minor variations on existing games
		\vspace{0.5cm}
		
		\begin{columns}[T,onlytextwidth]
			\column{0.5\textwidth}
			\centering
			\includegraphics[width=0.9\linewidth]{images/game_old}
			\column{0.5\textwidth}
			\centering
			\includegraphics[width=0.9\linewidth]{images/game_new}
		\end{columns}
	
	\end{frame}

	\begin{frame}[allowframebreaks]
	\frametitle{References}
	\bibliographystyle{abbrv}
	\bibliography{shared/references.bib}
	
	\end{frame}

	
	
\end{document}