From d48d484e5aeeb13806222b9e64e1b6ae59df3401 Mon Sep 17 00:00:00 2001 From: Ian Prins <prinsij@mcmaster.ca> Date: Tue, 25 Oct 2016 12:44:34 -0400 Subject: [PATCH] update PoC in DevPlan to reflect what was actually achieved --- Doc/DevelopmentPlan/DevelopmentPlan.pdf | Bin 108332 -> 119464 bytes Doc/DevelopmentPlan/DevelopmentPlan.tex | 12 +++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Doc/DevelopmentPlan/DevelopmentPlan.pdf b/Doc/DevelopmentPlan/DevelopmentPlan.pdf index 403545e21151f6ccdf333345b0e5dc34f087f442..cbbcc25e8f8e521cc40bc8dd4342c1ac3989be7e 100644 GIT binary patch delta 21161 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 delta 9910 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 diff --git a/Doc/DevelopmentPlan/DevelopmentPlan.tex b/Doc/DevelopmentPlan/DevelopmentPlan.tex index 0e142c6..b915dff 100644 --- a/Doc/DevelopmentPlan/DevelopmentPlan.tex +++ b/Doc/DevelopmentPlan/DevelopmentPlan.tex @@ -81,11 +81,13 @@ To create a semantic history of the development process, labels will be used ext To demonstrate the feasibility of the project, a proof of concept (PoC) will be developed. The PoC will demonstrate the following features: \begin{itemize} - \item Basic dungeon generation, including rooms, corridors, and placement of gold, items, monsters, and traps - \item Line of sight and pathfinding implementation - \item Non-functional items and traps - \item Minimum viable monster AI - \item Basic movement and very simple environmental interaction (acquiring items, basic combat) + \item Basic dungeon generation, including a connected graph of rooms and corridors. + \item Rendering the level and any produced menus. + \item The start screen and high-score screen. + \item Read and written high score file. + \item Line of sight and pathfinding implementation. + \item Basic movement. + \item Implemented but not integrated traps, items, and monsters. \end{itemize} If there are no issues implementing the features above, it shall be assumed that there are no fundamental flaws with the requirements or architectural design of the project. Several major features of the project have been excluded from this demonstration (advanced item manipulation and traps, hidden passageways, complex monster AI, etc.) because the PoC is otherwise too ambitious. As long as the underlying code is well-architectured, the more sophisticated features of the application should be able to flow out of the PoC foundation.\\ -- GitLab