% !TeX spellcheck = en_US
\documentclass[11pt, a4paper]{article}
% Set the title of the current document to be produced.
\newcommand{\doctitle}{Programming Assignment I}
% Command for the due date of the homework.
\newcommand{\duedate}{\color{rltred}{\faCalendarCheckO { }Due date: May 1st, before midnight \faCalendarCheckO	}}
%------------------------------------------------------------
% Import commands for both teacher and course information.  | 
% NOTE: Change your teacher and course info in these files. |
%------>------>------>------>------>------>------>------>-->|
\input{includes/teacher-info}                              %|
\input{includes/course-info}                               %|   
%
%------------------------------------------------------------
%-- Import packages and custom command definitons.          |
%------>------>------>------>------>------>------>------>-->|
\input{includes/packages}                                  %|  
\input{includes/custom-commands}   
%
%---> Genereate & inject metadata describing                |
%     the produced document                                 |
\input{includes/metadata}                                  %|
%------------------------------------------------------------
\topmargin      -60pt
%-----------------------------------------------------------
% Uncomment the following if you want to insert a watermark! 
%
%--> Watermark package settings: 
%\usepackage{draftwatermark}
%\SetWatermarkText{DRAFT}
%\SetWatermarkScale{0.5}
%\SetWatermarkColor[gray]{0.8}
%-------------------------------------------------
\begin{document} 
    
%-------------------------------------------------------------
%-- Make the header of the document                          |
%------>------>------>------>------>------>------>------>--> |
\input{includes/document-header}
\hrule width0.3\textwidth
\newcommand{\revisionhistoryafive}{
    \centering \vhEntry{1.0}{Feb 09, 2022}{S.R.}{Initial handout.}     
    \centering \vhEntry{1.1}{Feb 16, 2022}{S.R.}{Added the main character section.}     
    \centering \vhEntry{2.0}{Feb 19, 2022}{S.R.}{Modified and added new requirements in all sections.}     
}
\begin{versionhistory}
    \revisionhistoryafive
\end{versionhistory}
\hrule
\vskip .3in
%
\tableofcontents
\clearpage
    
\section{Learning Objectives}      
\label{sec:objectives}    
\noindent 3D game design, HUD and in-game UI, working with multiple scenes, physics, Unity scripting with C\#, collision detection, using prefabs \& 3D arts, sound and visual effects as well as 3D animation, humanoid character and animation rigging. 
\section{Notes and Constraints}       
\label{sec:notes}    
\vspace{-.1cm}
\begin{minipage}{\linewidth}
\begin{bclogo}[couleur=gray!15, arrondi=0.1, logo=\bccrayon, ombre=true]{Note the following:}
   This is a thing to consider. \\
 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet mi nec ante
\end{bclogo}
\end{minipage}
\begin{coloredPen}
    \item This assignment must be done individually.  
    \item Do not plagiarize.
    \item Do not do this.
    \item Do not do this.
    \item Do not do that. 
\end{coloredPen}
    
\section{Required Software and Tools }  
\label{sec:requiredsw}    
\begin{itemize}[itemsep=2pt,parsep=0pt,topsep=2pt,partopsep=2pt]
    %    \item[\color{darkblue}\faCoffee] Java 7 or 8 (32 or 64 bits)
    \item[\color{darkblue}\faLaptopCode] \textbf{Operating system:} \faWindows {} Windows  10,  \faLinux {} Linux, \textcolor{vanierred}{\textbf{or}} \faApple {} macOS 
    \item[\color{darkblue}\faCode] \textbf{IDE \& Game Engine:} \faUnity Unity \textcolor{vanierred}{2020.3 (LTS)} \textcolor{darkblue}{\&} Visual Studio \textcolor{vanierred}{2019} (Community Edition)
    \item [{\color{darkblue}\faChrome}] Web Browser: Google Chrome.   
    \item[{\color{darkblue} \faWpforms}] Markdown for writing documentation.
    \item[{\color{darkblue} \faGitSquare}] Distributed version control system.
    \item[{\color{darkblue} \faBitbucket}] Bitbucket: a web-based version control repository hosting service.
    \item[{\color{darkblue} \faTrello}] Trello: a Web-based project management system.
    
    \item[\color{darkblue}\faUsb]
    A storage medium (a USB flash memory or any online free storage service such as GDrive or OneDrive) for storing and backing up your files. 
\end{itemize}   
\section{Problem Statement}       
\label{sec:intro}    
\vspace{-.1cm}
\noindent In this assignment, you are required to design and implement...\\
\noindent \blindtext
\noindent Additional details and requirements are provided in the following sections.
          
    \section{Requirements}       
    \label{sec:requirements}    
    \vspace{-.1cm}
    \noindent You must be heedful of the requirements stated in the following sections. 
    
    \subsection{User Interfaces \& Game Menu}
    \label{sec:hudui}
    \noindent Your HUD, main menu and in-game panels (or other UI controls) must be implemented using the \href{https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/index.html}{Unity UI toolkit}.
    \subsubsection{HUD}
    \label{sec:hudD}
    \noindent You must implement an in-game HUD that fulfills the following requirements:
    \begin{borderedsquare}
        \item Requirement 1.
        \item Requirement 2.
        \item Requirement 3.
        \item Requirement 4.
        \item etc...
    \end{borderedsquare}
\noindent {\color{rltblue}\large\bfseries\faBook} \space \textbf{Additional Resources}:
\begin{filledRightArrowList}
    \item Resource 1. 
    \item Resource 2. 
    \item Resource 3. 
    \item Resource 4. 
\end{filledRightArrowList}
    
    \subsubsection{Main Menu \& Player Feedback}
    \label{sec:mainmenu}
    \begin{filledstarlist}
        \item Implement this... 
        \item Implement this... 
        \item And implement that...         
    \end{filledstarlist}
    
    \subsection{Game Deployment}
    \label{sec:publish}
    You are required to publish your game implementation to...  
    
    \subsection{Game Implementation Requirements}
    \label{sec:implementation}
    Your game implementation must include the usage of:
    \begin{alphalist}
        \item 3D scenes.
        \item This requirement.
        \item And that requirement.
        \item Scripting:
        \begin{greenrectangles}
            \item Main character control, animation and movement
            \item Collision detection
        \end{greenrectangles}
        \item Animations: mainly for the main character. 
        \item Different visual effects (VFX), etc...
    \end{alphalist}    
\clearpage
\section{Evaluation Criteria}
\label{sec:evaluation}
\noindent Your assignment will be evaluated based on the following criteria:\\
\renewcommand{\arraystretch}{1.5} % this reduces the vertical spacing between rows    
\begin{tabular}{|p{14cm}|c|}
    \hline    
    \thead{\color{darkblue}  Criteria} |& \thead{\color{darkblue}Mark} \\ 
    \hline
    Game world design.    & 5\% \\      
    \hline
    Good programming and logging practices.    & 2\% \\      
    \hline 
    Relevance and accuracy of the source code documentation as instructed. & 3\% \\
    \hline
      Correctness and functionality of the implementation. & 60\% \\
    \hline
    Compliance of the implementation with the stated requirements. & 15\% \\
    \hline
    Programming style, etc... & 5\% \\
    \hline 
    Overall comprehension of the submitted source code. & 10\% \\	
    \hline 
    \textbf{Total}    & \textbf{100\%} \\
    \hline
\end{tabular}
    
%\clearpage
    
\section{What to Submit}
\label{sec:submit}
\noindent You must submit: 1) a PDF containing a list of references as instructed above; and 2) your Unity project. 
\begin{borderedsquare}		
    \item Remove the \textit{\color{violet}{Library, Temp and Builds folders}} from your Unity project.
    \item Create a folder and place in it your references document and your Unity project. 
    \item Compress the folder you just created and upload it to LÉA.
\end{borderedsquare}
    
\end{document}