Skip to content
Snippets Groups Projects
Commit cddfd8d7 authored by Sida Wang's avatar Sida Wang :juggling_tone1:
Browse files

Update hyperlink in DevPlan

parent e79fad94
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,11 @@
\BOOKMARK [1][-]{section.3}{Team Member Roles}{}% 5
\BOOKMARK [1][-]{section.4}{Git Workflow Plan}{}% 6
\BOOKMARK [1][-]{section.5}{Proof of Concept Demonstration Plan}{}% 7
\BOOKMARK [1][-]{section.6}{Technology}{}% 8
\BOOKMARK [1][-]{section.7}{Coding Style}{}% 9
\BOOKMARK [1][-]{section.8}{Project Schedule}{}% 10
\BOOKMARK [1][-]{section.9}{Project Review}{}% 11
\BOOKMARK [2][-]{subsection.5.1}{Scope and Feasibility}{section.5}% 8
\BOOKMARK [2][-]{subsection.5.2}{Potential Challenges and Risks}{section.5}% 9
\BOOKMARK [2][-]{subsection.5.3}{External Resources}{section.5}% 10
\BOOKMARK [2][-]{subsection.5.4}{Demonstration}{section.5}% 11
\BOOKMARK [1][-]{section.6}{Technology}{}% 12
\BOOKMARK [1][-]{section.7}{Coding Style}{}% 13
\BOOKMARK [1][-]{section.8}{Project Schedule}{}% 14
\BOOKMARK [1][-]{section.9}{Project Review}{}% 15
No preview for this file type
......@@ -63,7 +63,7 @@ Responsible for recording the valuable information and summarizing the meetings.
\textbf{During meeting:}
\begin{itemize}
\item The timekeeper should ensure that the meeting starts and ends on time.
\item The chair will record the attendance of each member before the meeting.
\item The chair will record the attendance of each member at the beginning of the meeting.
\item The meeting will start with a review of the agenda sheet. This will ensure that all team members are fully prepared.
\item The meeting will end with a review of the meeting's effectiveness. Each team member should give at least one advice on how to improve the effectiveness of the next meeting. The notetaker will summarize the meeting at the end.
\end{itemize}
......@@ -72,7 +72,7 @@ Responsible for recording the valuable information and summarizing the meetings.
\section{Team Communication Plan}
\begin{itemize}
\item \textbf{Facebook Messenger} group chat will be used for internal communications including inquiries, share of resources, and discussion.
\item \textbf{Gitlab} issues will be the main tool for communications of development changes and updates.
\item \textbf{Gitlab} will be the main tool for communications of development changes and updates.
\end{itemize}
......@@ -87,22 +87,32 @@ Sida Wang & Scribe, Git Project Manager\\\hline
\end{center}
\section{Git Workflow Plan}
The \textbf{Git Master and Feature Branch} will be used to manage the software development. One team member will create his/her own local branch and work on it. This workflow allows different modules to be developed and tested in each team member's localized branch and do not cause conflicts. Sida will be responsible for the git master controls and will ensure all the files are completed.
\section{Proof of Concept Demonstration Plan}
\subsection{Scope and Feasibility}
The original project is implemented using Python within one module. To optimize modularity, our reimplementation will follow the software architecture MVC(Model, View, Controller) model. Since Python is an object oriented programming language, the modular design is feasible using different classes to implement.
\subsection{Potential Challenges and Risks}
The hardest part of the reimplementation will be Adding new categories of blocks. In the original project, all blocks are static and has no other interactions with the player besides being built or destroyed. In our expectation, new blocks with unique properties such as Lava, which will burn the player out, will be added to the game. These new types of blocks will require more complex interactions with the player, which is difficult to implement. Since the original game is using the content of Minecraft, the customization of the reimplementation heavily depends on the texture resources from the internet. The most difficult part of testing is to test the interaction between the player and the world within the game. Similar to most 3D games, it is hard to mitigate risk of bugs using traditional testing methods.
\subsection{External Resources}
The Pyglet package provides cross-platform windowing and multimedia library. With Pyglet, visally rich small games can be feasible to built. Pytest provides powerful unit testing and functional testing but does not fully support solution to integration testing. All the libraries using by this project will be easily installed on either Windows or Linux machine. The game will be delivered as an executable file(generated using Pyinstaller) in order to optimize the portability.
\subsection{Demonstration}
The demonstration will be done on both a Windows and a Linux system. On each machine, one team member will click on the icon of the executable game file and play the game. The player will travel the world for a certain distance and have some interactions between different types of blocks. The flying mode will also be activated to show its functionality. To overcome the risk of 3D bugs, some extreme spots(defined by exploratory testing) will be reached.
\section{Technology}
\begin{itemize}
\item \textbf{Programming Language: }Python
\item \textbf{Graphical User Interface: }Pyglet
\item \textbf{Testing Tool: }Pytest
\item \textbf{Testing Tools: }Pytest
\item \textbf{Documentation Tool: }Doxygen
\item \textbf{Version Control: }Gitlab
\item \textbf{Other Tools: }Pyinstaller
\end{itemize}
\section{Coding Style}
The Coding Style is \textbf{PEP-8} for this project.
\section{Project Schedule}
The project schedule can be found \href{../../ProjectSchedule/ProjectSchedule_3XA3_307.gan}{\textbf{HERE}}.
The project schedule can be found \href{../ProjectSchedule/ProjectSchedule_3XA3_307.pdf}{\textbf{HERE}}.
\section{Project Review}
To be completed in Revision 1.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment