Skip to content
Snippets Groups Projects
Commit 100b98c3 authored by Hongqing Cao's avatar Hongqing Cao
Browse files

Renamed project name from MineCraft into CraftMaster

parent c2d8ef6e
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -3,7 +3,7 @@
\usepackage{booktabs}
\usepackage{tabularx}
\title{\textbf{SE 3XA3: Development Plan\\MineCraft}}
\title{\textbf{SE 3XA3: Development Plan\\CraftMaster}}
\author{\textbf{Group Number: }307\\
\textbf{Group Name: }3 Craftsmen \\
......@@ -27,6 +27,7 @@
Jan 27 & Hongqing & Added team information\\
Jan 30 & All & Discussed about the content\\
Jan 30 & Sida Wang & Finished the content of all parts according to the discussion\\
Feb 11 & Hongqing & Renamed project name from MineCraft into CraftMaster\\
... & ... & ...\\
\bottomrule
\end{tabularx}
......@@ -93,7 +94,7 @@ The \textbf{Git Master and Feature Branch} will be used to manage software devel
\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 have 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 the risk of bugs using traditional testing methods.
The hardest part of the reimplementation will be Adding new categories of blocks. In the original project, all blocks are static and have 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 CraftMaster, 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 the risk of bugs using traditional testing methods.
\subsection{Software Resources}
The Pyglet package provides cross-platform windowing and multimedia library. With Pyglet, visually rich small games can be feasible to build. Pytest provides powerful unit testing and functional testing but does not fully support solutions to integration testing. All the libraries using by this project will be easily installed on either Windows or Linux machines. The game will be delivered as an executable file(generated by Pyinstaller) in order to optimize the portability.
\subsection{Demonstration}
......@@ -112,7 +113,7 @@ The demonstration will be done on both a Windows and a Linux system. On each mac
\section{Coding Style}
The Coding Style is \textbf{PEP-8} for this project.
\section{Project Schedule}
The project schedule can be found \href{https://gitlab.cas.mcmaster.ca/wangs132/minecraft/blob/master/ProjectSchedule/ProjectSchedule_3XA3_307.pdf}{\textbf{HERE}}.
The project schedule can be found \href{https://gitlab.cas.mcmaster.ca/wangs132/CraftMaster/blob/master/ProjectSchedule/ProjectSchedule_3XA3_307.pdf}{\textbf{HERE}}.
\section{Project Review}
To be completed in Revision 1.
......
No preview for this file type
......@@ -3,7 +3,7 @@
\usepackage{tabularx}
\usepackage{booktabs} % for much better looking tables
\title{SE 3XA3: Problem Statement\\MineCraft}
\title{SE 3XA3: Problem Statement\\CraftMaster}
\author{Group 307, 3 Craftsmen\\
Hongqing Cao 400053625\\
Sida Wang 400072157\\
......@@ -26,6 +26,7 @@ Jan 22 & Hongqing & Fixing grammar issus\\
Jan 22 & Sida & Modification on Section 1.2\\
Jan 23 & Sida & Modification on Section 1.3\\
Jan 23 & Hongqing & Minor Modification on Section 1.3\\
Feb 11 & Hongqing & Renamed project name from MineCraft into CraftMaster\\
... & ... & ...\\
\bottomrule
\end{tabularx}
......@@ -44,7 +45,7 @@ Many children around the world are starting to learn programming at a younger ag
\subsection{Why is this an important problem?}
It is believed that computer programming is not fully understandable by young children due to its logical complexity. For most children to learn programming, the complexity must be reduced. The simplified version of the game will be developed in Python since Python is a simple first programming language for children to learn. Minecraft theme was chosen because it is intelligently beneficial for young aged children. We believe that the recreated Minecraft game will educate children around the world through entertaining. By recreating a simplified version, the game will maintain its entertainment and also receive some new features including new textures and modes. The revised code will be visible and understandable by kids that introduces how the entire game is implemented.
It is believed that computer programming is not fully understandable by young children due to its logical complexity. For most children to learn programming, the complexity must be reduced. The simplified version of the game will be developed in Python since Python is a simple first programming language for children to learn. Minecraft theme was chosen because it is intelligently beneficial for young aged children. We believe that the recreated CraftMaster game will educate children around the world through entertaining. By recreating a simplified version, the game will maintain its entertainment and also receive some new features including new textures and modes. The revised code will be visible and understandable by kids that introduces how the entire game is implemented.
\subsection{What is the context of the problem you are solving?}
......
No preview for this file type
......@@ -13,7 +13,7 @@
}
\usepackage[round]{natbib}
\title{SE 3XA3: Software Requirements Specification\\MineCraft}
\title{SE 3XA3: Software Requirements Specification\\CraftMaster}
\author{Group 307, 3 Craftsmen\\
Hongqing Cao 400053625\\
......@@ -39,9 +39,10 @@
\toprule {\bf Date} & {\bf Version} & {\bf Notes}\\
\midrule
Jan 27 & 1.0 & Team information\\
Fed 9 & 1.1 & Edited Functional Requirements and Non-functional Requirements\\
Fed 9 & 1.2 & Added Reference\\
Fed 9 & 1.3 & Edited other sections\\
Feb 9 & 1.1 & Edited Functional Requirements and Non-functional Requirements\\
Feb 9 & 1.2 & Added Reference\\
Feb 9 & 1.3 & Edited other sections\\
Feb 11 & 1.4 & Renamed project name from MineCraft into CraftMaster\\
\bottomrule
\end{tabularx}
\end{table}
......@@ -50,7 +51,7 @@ Fed 9 & 1.3 & Edited other sections\\
\pagenumbering{arabic}
This document describes the requirements for MineCraft. The template for the Software
This document describes the requirements for CraftMaster. The template for the Software
Requirements Specification (SRS) is a subset of the Volere
template~\citep{RobertsonAndRobertson2012}.
......
\contentsline {section}{\numberline {1}Project Drivers}{1}{section.1}%
\contentsline {subsection}{\numberline {1.1}The Purpose of the Project}{1}{subsection.1.1}%
\contentsline {subsubsection}{\numberline {1.1.1}The User Business or Background of the Project Effort}{1}{subsubsection.1.1.1}%
\contentsline {subsubsection}{\numberline {1.1.2}Goals of the Project}{1}{subsubsection.1.1.2}%
\contentsline {subsection}{\numberline {1.2}The Stakeholders}{1}{subsection.1.2}%
\contentsline {subsubsection}{\numberline {1.2.1}The Client}{1}{subsubsection.1.2.1}%
\contentsline {subsubsection}{\numberline {1.2.2}The Customers}{1}{subsubsection.1.2.2}%
\contentsline {subsubsection}{\numberline {1.2.3}Other Stakeholders}{2}{subsubsection.1.2.3}%
\contentsline {subsection}{\numberline {1.3}Mandated Constraints}{2}{subsection.1.3}%
\contentsline {subsubsection}{\numberline {1.3.1}Solution Constraints}{2}{subsubsection.1.3.1}%
\contentsline {subsubsection}{\numberline {1.3.2}Implementation Environment of the Current System}{2}{subsubsection.1.3.2}%
\contentsline {subsubsection}{\numberline {1.3.3}Partner or Collaborative Applications}{3}{subsubsection.1.3.3}%
\contentsline {subsubsection}{\numberline {1.3.4}Off-the-Shelf Software}{3}{subsubsection.1.3.4}%
\contentsline {subsubsection}{\numberline {1.3.5}Anticipated Workplace Environment}{3}{subsubsection.1.3.5}%
\contentsline {subsubsection}{\numberline {1.3.6}Schedule Constraints}{3}{subsubsection.1.3.6}%
\contentsline {subsubsection}{\numberline {1.3.7}Budget Constraints}{3}{subsubsection.1.3.7}%
\contentsline {subsection}{\numberline {1.4}Naming Conventions and Terminology}{3}{subsection.1.4}%
\contentsline {subsection}{\numberline {1.5}Relevant Facts and Assumptions}{4}{subsection.1.5}%
\contentsline {subsubsection}{\numberline {1.5.1}Facts}{4}{subsubsection.1.5.1}%
\contentsline {subsubsection}{\numberline {1.5.2}Assumptions}{4}{subsubsection.1.5.2}%
\contentsline {section}{\numberline {2}Functional Requirements}{5}{section.2}%
\contentsline {subsection}{\numberline {2.1}The Scope of the Work and the Product}{5}{subsection.2.1}%
\contentsline {subsubsection}{\numberline {2.1.1}The Context of the Work}{5}{subsubsection.2.1.1}%
\contentsline {subsubsection}{\numberline {2.1.2}Work Partitioning}{6}{subsubsection.2.1.2}%
\contentsline {subsubsection}{\numberline {2.1.3}Individual Product Use Cases}{6}{subsubsection.2.1.3}%
\contentsline {subsection}{\numberline {2.2}Functional Requirements}{6}{subsection.2.2}%
\contentsline {section}{\numberline {3}Non-functional Requirements}{9}{section.3}%
\contentsline {subsection}{\numberline {3.1}Look and Feel Requirements}{9}{subsection.3.1}%
\contentsline {subsubsection}{\numberline {3.1.1}Appearance Requirements}{9}{subsubsection.3.1.1}%
\contentsline {subsubsection}{\numberline {3.1.2}Style Requirements}{9}{subsubsection.3.1.2}%
\contentsline {subsection}{\numberline {3.2}Usability and Humanity Requirements}{9}{subsection.3.2}%
\contentsline {subsubsection}{\numberline {3.2.1}Ease of Use Requirements}{9}{subsubsection.3.2.1}%
\contentsline {subsubsection}{\numberline {3.2.2}Personalization and Internationalization Requirements}{9}{subsubsection.3.2.2}%
\contentsline {subsubsection}{\numberline {3.2.3}Learning Requirements}{9}{subsubsection.3.2.3}%
\contentsline {subsection}{\numberline {3.3}Performance Requirements}{10}{subsection.3.3}%
\contentsline {subsubsection}{\numberline {3.3.1}Speed and Latency Requirements}{10}{subsubsection.3.3.1}%
\contentsline {subsubsection}{\numberline {3.3.2}Precision or Accuracy Requirements}{10}{subsubsection.3.3.2}%
\contentsline {subsubsection}{\numberline {3.3.3}Reliability and Availability Requirements}{10}{subsubsection.3.3.3}%
\contentsline {subsection}{\numberline {3.4}Operational and Environmental Requirements}{10}{subsection.3.4}%
\contentsline {subsubsection}{\numberline {3.4.1}Requirements for Interfacing with Adjacent Systems}{10}{subsubsection.3.4.1}%
\contentsline {subsection}{\numberline {3.5}Maintainability and Support Requirements}{11}{subsection.3.5}%
\contentsline {subsubsection}{\numberline {3.5.1}Maintenance Requirements}{11}{subsubsection.3.5.1}%
\contentsline {subsubsection}{\numberline {3.5.2}Supportability Requirements}{11}{subsubsection.3.5.2}%
\contentsline {subsubsection}{\numberline {3.5.3}Adaptability Requirements}{11}{subsubsection.3.5.3}%
\contentsline {subsection}{\numberline {3.6}Security Requirements}{11}{subsection.3.6}%
\contentsline {subsubsection}{\numberline {3.6.1}Integrity Requirements}{11}{subsubsection.3.6.1}%
\contentsline {subsubsection}{\numberline {3.6.2}Privacy Requirements}{11}{subsubsection.3.6.2}%
\contentsline {subsection}{\numberline {3.7}Cultural Requirements}{11}{subsection.3.7}%
\contentsline {subsubsection}{\numberline {3.7.1}Cultural Requirements}{11}{subsubsection.3.7.1}%
\contentsline {subsubsection}{\numberline {3.7.2}Political Requirements}{12}{subsubsection.3.7.2}%
\contentsline {subsection}{\numberline {3.8}Legal Requirements}{12}{subsection.3.8}%
\contentsline {subsubsection}{\numberline {3.8.1}Compliance Requirements}{12}{subsubsection.3.8.1}%
\contentsline {subsection}{\numberline {3.9}Health and Safety Requirements}{12}{subsection.3.9}%
\contentsline {section}{\numberline {4}Project Issues}{12}{section.4}%
\contentsline {subsection}{\numberline {4.1}Open Issues}{12}{subsection.4.1}%
\contentsline {subsection}{\numberline {4.2}Off-the-Shelf Solutions}{12}{subsection.4.2}%
\contentsline {subsection}{\numberline {4.3}New Problems}{13}{subsection.4.3}%
\contentsline {subsection}{\numberline {4.4}Tasks}{13}{subsection.4.4}%
\contentsline {subsection}{\numberline {4.5}Migration to the New Product}{13}{subsection.4.5}%
\contentsline {subsection}{\numberline {4.6}Risks}{13}{subsection.4.6}%
\contentsline {subsection}{\numberline {4.7}Costs}{13}{subsection.4.7}%
\contentsline {subsection}{\numberline {4.8}User Documentation and Training}{13}{subsection.4.8}%
\contentsline {subsection}{\numberline {4.9}Waiting Room}{13}{subsection.4.9}%
\contentsline {subsection}{\numberline {4.10}Ideas for Solutions}{13}{subsection.4.10}%
\contentsline {section}{\numberline {5}Appendix}{14}{section.5}%
\contentsline {subsection}{\numberline {5.1}References}{14}{subsection.5.1}%
\contentsline {subsection}{\numberline {5.2}Symbolic Parameters}{14}{subsection.5.2}%
<?xml version="1.0" encoding="UTF-8"?><project name="3XA3 MileStone" company="3XA3 Group 213" webLink="https://gitlab.cas.mcmaster.ca/khana172/3xa3-project/blob/master/ProjectSchedule/3XA3-ProjSched.gan" view-date="2020-01-05" view-index="1" gantt-divider-location="628" resource-divider-location="300" version="2.8.10" locale="en_US">
<?xml version="1.0" encoding="UTF-8"?><project name="3XA3 ProjectSchedule" company="3XA3 Group 307" webLink="https://gitlab.cas.mcmaster.ca/wangs132/minecraft/blob/master/ProjectSchedule/ProjectSchedule_3XA3_307.gan" view-date="2020-01-05" view-index="0" gantt-divider-location="628" resource-divider-location="300" version="2.8.10" locale="en_US">
<description/>
<view zooming-state="default:6" id="gantt-chart">
<field id="tpd3" name="Name" width="390" order="0"/>
......
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