You are on page 1of 5

Analysis

Description of the Problem

I plan on developing a game in which the player will explore through an


endless cave that will be full of different ores, gems and enemies for the player
to mine/kill. When either mined or defeated the player will earn points which
will be stored and eventually sorted using an insertion sort and displayed to a
high-score screen on a webpage. As well as being stored and sorted, the player
can use the points that they earn to buy upgrades, these upgrades will
increase: the power of their pickaxe making it easier to mine rarer ores, the
players range of sight, and the power of the players weapon allowing the
player to defeat the enemies as they will get increasingly more difficult as the
time goes on. I am planning on using a procedural generation technique to
allow the game to be endless. The enemies will use AI pathfinding to get the
best path to the player.

The end users for my game will be teenagers/young adults who enjoy casual
gaming that gradually fairly increases difficulty as the game progresses.

My project will meet the requirements for advanced higher as it will have a UI
suitable for the target audience. I will use an insertion sort in combination with
object-oriented programming with an array of objects to achieve my goal. I
plan on using the “Pygame” module to help me create my game and I will have
to teach myself some Django and procedural generation to have my game run
properly however that helps me with the research and development of new
skills outlined in the project checklist.

Scope

The scope of my project will include:


● A complete design with pseudocode, user interface design, and UML
structure for the game and wireframes for the website output.
● A working game with all mechanics fully implemented and tested.

● A log of ongoing testing describing the issues I encountered while testing


and how I’ve overcame these issues.
● A final test plan including personas and test cases.

● An evaluation report.

Constraints

There will be multiple technical, economic, and time constraints I will have to
work around while developing my project.
● I will be using python to develop my game as it is the language I have the
most experience using and feel like I can achieve the best results.
● My final solution will be run on a computer using windows with python
to allow my program to run.
● There will be no costs involved as all the software I will be using is open
source.
● I will ensure that my project is completed and finished by the deadlines
set by the SQA and my teacher.

Boundaries

My solution will contain:


● A system allowing the user to move and interact with the character on
screen
o Player can choose which 4 keys they want to use to move and
what key they want to use to interact, however the default move
keys will be ‘WASD’ and the default interact key will be ‘E’.
● A system allowing the user to collect points when ore is mined/enemy
defeated
● A system to let the user buy upgrades with the points they earn
o The points cannot go below 0
o You cannot buy upgrades which you do not have enough points
for
● The users score will be stored, sorted from highest to lowest, then
displayed to a web page
● A system to procedurally generate the level as the player progresses

Requirements Specification

● End User
From a form that I sent out to a trusted group of people; I have
identified that the end users would like:
o The default movement to be something simple, such as ‘WASD’
o End users need my game to be engaging, hopefully I will achieve
this with the features I am adding to the game as well as the base
gameplay
o To have hit points as opposed to hearts for the health system
o To add a nickname to their high-score
o For both points and health to be dropped when an enemy is
defeated
● Functional
o My program will take in keyboard input from a user to make the
character move on screen
o My program will allow the player to earn points which can then be
spent on upgrades to their equipment
o My program will send the players high-scores, with a nickname,
from the game to a .csv file which will then be sent to and
displayed onto a webpage
o My program will procedurally generate the levels, I will have to
teach myself how to do this
o My program will use artificial intelligence to allow the enemies to
find the player, this I will also have to teach myself
o My program will have to have a health system, which allows the
increase and decrease of hitpoints
o My program will have a system which allows for health or points
to be dropped, one of these will always be dropped however the
quality will be randomised

Design
Pseudocode

Initialise

1.

You might also like