Escolar Documentos
Profissional Documentos
Cultura Documentos
Decapitathlon
Project Documentation
Amos Room
(B00254109)
Table of Contents
1. Planning
1.1. Project Overview
1.2. Original Design & Final Implementation
1.3. Gantt Chart
1.4. Risk Analysis
Page 3
Page 3
Page 4
Page 4
2. Team Working
2.1. Project Management
2.2. Communication strategy
Page 6
Page 6
3. Project Implementation
3.1. Software Development Methodology Research
3.2. Production
3.3. Coding Practices & Standards
3.4. Level Creation
3.5. Bug Fixing
3.6. Art Production
3.7. Audio Production
Page 7
Page 7
Page 7
Page 9
Page 10
Page 10
Page 10
4. Testing
4.1. Alpha & Beta Testing
4.2. Regression Testing
4.3. White & Black box testing
Page 11
Page 11
Page 11
5. User Experience
5.1. User Acceptance Testing
5.2. User Experience Analysis
5.3. Feedback Implementation
5.4. User Testing Log: Stages
5.5. User Testing Log: Full Game
Page 12
Page 12
Page 12
Page 13
Page 22
Page 36
Page 38
7. Development Blog
Page 47
1. Planning
1.1. Project Overview
For our game project we aim to create an arcade-style puzzle game called Decapitathlon to be
hosted on our group website, http://haunted-development.weebly.com/ and played on PC web
browsers. Our group name is Haunted Development and consists of one single member performing
the following tasks:
Amos Room (B00254109)
Project Management
Task Management
Content Creation
Art Creation
Concept creation
Game Design
Character and World Design
Sound Design
Game Research
Graphic Design
Development Research
Programming
Project Implementation
Testing
1.2. Original Design & Final Implementation
The original plan for this project was to create an 'arcade puzzler' game, in similar vein to the
WarioWare and Dumb Ways to Die series of games, to be developed using the Phaser game engine.
The game is to be hosted on our website and played through web browsers. The gameplay itself is
composed of short and simple 'microgames' which are to be completed within a time limit of five
seconds. The game is controlled using two different control schemes, one using the keyboard and
the other using the mouse.
The game is set in a fictional fantasy setting with a range of different locations and populated with
various cult horror icons such as the Headless Horseman, the Mummy and Frankenstein's Monster.
The player explores the world through a world map where they are free to choose from a variety of
different stages, each composed of a different location and featuring a different monster with a
different theme being given to the gameplay.
The game was to originally consist of a series of eleven different stages, ten of which having their
own distinct theme and their own series of microgames with the eleventh being an unlockable
bonus stage which played through every microgame available in the game for the player to gain a
high-score. Due to misunderstandings within the team, the original two person group of The Bone
Room was split, rendering the original plan impossible to accomplish within the given timeframe.
As such, the final project now consists of five different stages, including the unlockable bonus
stage.
Bias in Testing
There is the potential risk that both personnel who have worked on developing the project
may have a certain bias towards the project and may be more prone to missing glitches and
errors during the testing progress, which could then be found in the final build of the game.
To counter this, during the testing stage we will have an internal Alpha test to be done by
both personnel which will then be followed by a closed Beta test that will be done by other
students at the University. This will allow for a fresh, consumer perspective on the project
without any of the potential bias that could come from those who have worked on it.
Project Clash
As development of the game progresses there will be the risk that the time allocated to this
project may negatively affect some of the other work that we have to do for other projects.
In this event, in order to allow us time to work on other projects, we will consider removing
some aspects of the game to make it more manageable and more viable to complete under
these conditions. When doing so, we will ensure to not remove any fundamental parts of the
gameplay and will instead remove more superficial elements such as the number of
microgames available and the world map.
2. Team Working
2.1. Project Management
Before Haunted Development separated from The Bone Room, project tasks and responsibilities
were split evenly between both members of the project. This was to help keep the workload
manageable between group members and ensured that both members were contributing equally to
the project. This left each member responsible for completing five stages of the proposed eleven,
with the eleventh being developed once the first ten have been completed and tested.
When team members separated on Week 6 of Trimester 2, this helped allow for individual work to
recommence quickly as group tasks were already split evenly which meant it was easy to focus on
what was feasible to complete.
2.2. Communication
Communication between both members of The Bone Room was maintained primarily using social
media and phone networks such as Facebook and WhatsApp. It was up to team members to contact
each other if any major changes were being made to the project or if they were unable to make it for
a team meeting.
3. Game Implementation
3.1. Software Methodology
After observing the pros and cons of five different software development methodologies, the
decision was made to use the Waterfall methodology. As problems tend to come up within the first
half of the development weeks, this methodology would allow us to catch these and fix them or
change roles/development design to fix them and get a game produced on time. Also, with a focus
on documentation over implementation, this would allow us to use our skills much better to
accomplish what is needed.
3.2. Production
The project was developed with the Phaser (http://phaser.io/) game engine. This game engine was
chosen due to it's high compatibility with web browsers, it's multitude of tutorials and it's modular
approach to game development which made it simple and efficient to use. To help create the game,
the Netbeans IDE (https://netbeans.org/) was used. This development environment was chosen due
to it's versatility in using different programming languages as well as its efficient and helpful user
interface.
During development, several tutorials were consulted on the Phaser website
(http://phaser.io/examples) to help gain a better understanding of how the Phaser game engine
works and how it could be utilized to help create the microgames we intended to make.
3.3. Coding Practices & Standards
To make the code more legible, individual microgames and stage elements, such as the breaks
between microgames and character interactions, were separated into individual game states. Using
the Netbeans IDE, these states could be collapsed which helped reduce the amount of code that was
visible and making the code easier to navigate.
Game states followed a set naming scheme (I.E- stage1gm01state, stage1gm02state, etc.) and
placed in sequential order to make them easier to locate. Comments were then added at the end of
each collapsed state which referred to the instruction that would appear in the game when that state
is loaded. This helped to further help identify what microgame each state contained. During
implementation of the alternative control scheme comments on each state were followed by an
asterisk (*) symbol if required, to help identify which states required the new control scheme.
An appropriate naming scheme was applied to all variables within the project, to make it easy to
identify what role they played in the creation of the game. Variables were often kept global, so that
similar names can be used across different microgames. As values for the variables changed and
reset as each microgame was loaded, this had no negative effects on how the game played. White
spacing is also used to help keep relevant areas of code separated from eachother and prevent the
code from being difficult to navigate.
Example
///////////////////////////
//STAGE 1///////////
///////////////////////////
var stage1state = {...77 lines }
var stage1gm01state = {...301 lines } //CAST THE SPELL!
var stage1gm02state = {...211 lines } //GET THE TREASURE!*
var stage1gm03state = {...206 lines } //BLOCK!
var stage1gm04state = {...158 lines } //FLOAT!*
var stage1gm05state = {...162 lines } //ASSEMBLE!
var stage1gm06state = {...213 lines } //COUNTER!
var stage1gm07state = {...208 lines } //FREEZE AND SMASH!*
var stage1gm08state = {...163 lines } //DEFROST!*
var stage1gm09state = {...246 lines } //COLLECT THEM ALL!*
var stage1gm10state = {...233 lines } //HEAL UP!*
var stage1gm11state = {...201 lines } //CREATE ARMOUR!
var stage1gm12state = {...274 lines } //RESURRECT!*
var stage1end = {...69 lines }
Microgame
Lives
Timer
Control Scheme
Instruction
The Phaser game engine contains four different modules that were routinely used in the
construction of each of the different game states of the project.
Preload( ): function { }
This module was used to load game assets such as levels, sprites and backgrounds into the
game and assign variables to them so that they can be called and used in the current game
state.
Create( ): function { }
This module was used to create the initial state of each microgame. This was done by adding
objects into the game using the assets created in the Preload function and setting initial
values for the microgame This module was used to load the user interface for each
microgame and reset values related to microgame completion, such as the timer and the
'gameWin' / 'gameLose' values.
Update( ): function { }
This module is one that is repeatedly called as the game is playing. This was used to create
response to player actions like moving characters or firing weapons, as well as create
continuous events such as repeatedly spawning enemies. Actions could be created either by
writing code within the Update function itself, or by calling an additional function.
Render( ): function { }
This module was used to help check for errors in the game code. It was used to display the
values of certain variables on screen to ensure that they are changing correctly and working
as they should. Once everything is working as intended, all code within the function is
commented out for future reference.
4. Testing
4.1. Alpha & Beta Testing.
Alpha Testing
Alpha Testing was done after individual stages for the game were completed and game flow
was applied. During Alpha testing, stages consisted of individual project files that played
through their respective microgames endlessly until the player lost all their lives. Each stage
was played through individually and tested to make sure it worked as intended. Stages were
played through multiple times to ensure that all microgames had been played through and
that they all worked together.
Beta Testing
Beta Testing was done after the different project files for the stages were compiled together
to form a single project build and the essential changes found during the Alpha Testing
stage, as well as additional game features such as story elements were implemented. The
entire build of the game was played through multiple times to ensure that all the different
microgames were tested and that they worked as intended along with the new features that
were added.
4.2.Regression Testing
Regression Testing was made after the beta testing is complete. It was done to test any changes or
additional features that were added to the code as a result of findings in the Beta. This included the
difficulty balance of some of the microgames as well as the implementation of a new menu
explaining the different control schemes in the game.
4.3. White & Black box testing
White Box
White box testing was used to test that the code was functional and worked as intended. It
was used during the Alpha testing stage to make sure that microgames and stages worked as
intended before they were implemented into the full build of the project. In the event that
errors were found, code was added in / edited as necessary and further tested as development
continued.
Black Box
Black box testing was used to ensure that the bare essentials of the game worked as
intended. This included making sure that keyboard and mouse inputs were delivering the
correct responses in the microgames and testing that the game ran correctly while hosted on
the development website. During the User Acceptance Testing in the Beta, the game was
tested for compatibility on numerous different web browsers (Google Chrome, Internet
Explorer, Firefox and Opera) and operating systems (Windows 7, Windows 8.1 and Windows
10).
5. User Experience
5.1. User Acceptance Testing
User Acceptance Testing (UAT) was employed during development to observe the game's reception
amongst the intended user audience for the game, as well as test for any potential bugs that may
have still been present in the code.
UAT was employed during two particular areas of the projects development. The first was during
Alpha testing after each stage was completed, with the second being during the Beta testing stage
once an initial build of the project was uploaded to the development website. This was to help test
for any errors or balancing issues that were present early on in development so that they would be
easier to locate and fix before all work was combined to form one singular game.
Testers consisted of people from both within and outside the University, each of which contacted
personally through social media networks. All testers have different opinions and experiences with
computer games and utilized a variety of different web browsers and operating systems. The
majority of testers were Male and aged 20.
During Alpha testing, testers were sent links to playable versions of individual stages hosted
through Google Drive. During the Beta testing, testers were given a link to the where the game was
hosted on the development website. During UAT, testers were given a User Feedback Questionnaire
to fill in and provide feedback, which was distributed through Dropbox.
5.2. User Experience Analysis
Overall, the project has seen a positive reception from users.
The general experience of the gameplay is that the game provides a challenging and engaging
experience. It does take a little bit of time for users to get used to the format of the game, however
this is to be expected given that the 'arcade-puzzler' genre is somewhat unconventional. No
outstanding bugs or glitches were found by users, even after multiple playthroughs. Users
complimented the music in the game and thought it fitted with the theme of the different stages and
wasn't obnoxious or distracting. The two different control schemes were also praised due to being
simple and easy to use.
During UAT of the Alpha stage, a big complaint was that it was awkward for users to switch
between the keyboard and mouse controls. It was also found that some games were unbalanced or
had misleading instructions, which made them far too difficult to complete in the given time. These
complaints were all acted upon before testing was made on the full game.
During testing of the Beta some technical issues were found, however none of which were directly
related to the project as a whole. One tester reported that having a slow internet connection caused
the game to take an incredibly long time loading assets for the different microgames. Another noted
that using the arrow keys / space bar caused the web page to move up and down.
Stages
Essential
Non-Essential
Change collisions
Full Game
Essential
Non-Essential
On-Screen Tutorial
On-Screen Tutorial
Changed by adding in an additional menu at the game's title screen which explains the
different control schemes
Decapitathlon
User Feedback Questionnaire
Tester Name: Rachael Nicol
Date: 12/4/16
Age: 20
Gender: Female
Stage Number: 1
Were there any notable errors during the game?
No
Decapitathlon
User Feedback Questionnaire
Tester Name: Rachael Nicol
Date: 12/4/16
Age: 20
Gender: Female
Stage Number: 2
Were there any notable errors during the game?
No.
Decapitathlon
User Feedback Questionnaire
Tester Name: Rachael Nicol
Date: 13/4/16
Age: 20
Gender: Female
Stage Number: 3
Were there any notable errors during the game?
No. However, in the follow the arrows gam if there are 2 consecutive arrows going the same
direction you only have to press the key once. Is that supposed to happen?
Decapitathlon
User Feedback Questionnaire
Tester Name: Rachael Nicol
Date: 28/03/16
Age: 20
Gender: Female
Stage Number: 4
Were there any notable errors during the game?
No. However there were some things that I originally thought might be errors so had to ask about
them. In particular, the disappearance of e.g. the horse, or the birds if you dont manage to
complete the task presented; also, in the pumpkin game no indication is given as to whether or not
youve selected the correct one, or whether or not your selection has been registered by the game
before the timer runs out.
Decapitathlon
User Feedback Questionnaire
Tester Name:
Date:
Age:
Gender:
Alasdair Stuart
21/04/16
20
Male
Decapitathlon
User Feedback Questionnaire
Tester Name: Ben Antcliff
Date: 21/4/16
Age: 21
Gender: male
Were there any notable errors during the game?
No notable errors.
Good mix of WASD, space and clicking. The controls were simple.
Decapitathlon
User Feedback Questionnaire
Tester Name: Calum Littler-Gordon
Date:20/04/16
Age: 20
Gender: M
Were there any notable errors during the game?
None seen
yes
yes
Decapitathlon
User Feedback Questionnaire
Tester Name: John Callaghan
Date: 20/04/2016
Age: 29
Gender: Male
Were there any notable errors during the game?
Not sure if it is an error but some games do repeat moments after they have just been played.
While the game is clearly randomly selecting microgames to play it would look and play better if
the already played games where blocked from appearing again in the same playthough.
Decapitathlon
User Feedback Questionnaire
Tester Name: Rachael Nicol
Date: 20/4/16
Age: 20
Gender: Female
Were there any notable errors during the game?
When using the game online (rather than from google drive), the use of the spacebar and up/down
arrows causes the page to scroll up/down as well as controlling the game. The effects of the
spacebar can be reduced by making the page fullscreen, but this does not help with the scrolling
due to the up/down arrows. This issue does not arise when playing the game from google drive.
Decapitathlon
User Feedback Questionnaire
Tester Name: Ross Sharp
Age:17
Gender:male
Date:21/04/20116
Decapitathlon
User Feedback Questionnaire
Tester Name:
Age:
Gender:
scott sharp
20
male
Date: 21/04/16
Amos Room
Jim Scullion
Transfer everything from The Bone Room website to new domain (leave documents as is)
7. Development Blog
The Bone Room - 02/02/16
We are back! The Christmas break is over, drink has been had (a lot) and we're back to work on our
game. This trimester is all about actually creating a fully finished game from our prototype and
design work from last trimester. It's going to be a hard task but I think it is one we can do if we put
our hearts into it.
Sadly, the first week back isn't proving too good. Due to the weather, train lines were shut down
between Irvine and Ayr and Amos couldn't make it down to the campus so it was a pretty uneventful
week in the class. Much like in trimester 1, this week was the one and only lecture for this module
which talked about what the requirements for the module are. What needs to be done by the end of
the module is to have a full game ready and completely tested to maximize the player's enjoyment
and to make sure the game is bug free. It's going to be a hard task but if we look at our design, make
sure we have it nailed down and we know where we are going and that it can be done, I believe we
could have a really good game by the end of it.
For next week, really we have to have a chat through whatever means and make sure we can get this
down or if there needs to be some changes made to the design of the game to make it work.
Hopefully by next week we'll have a better idea of what we are doing.
The Bone Room - 09/02/16
Big update on the game this week.
Over the course of the week, we talked over social media and it became clear that, with the
workload for this trimester, that creating the 150 microgames and putting them together in the way
we have envisioned and then testing the game to its limits is just not going to happen. After talking
it out in the team and with our lecturer, we have decided to drop the number of microgames down
from 150 (15 per stage) to 120 (12 per stage). What this does is allow us to create these and test the
game must better while also allowing us time for other modules to complete the work required for
them. We still believe this to be a great variety of games and that it can still challenge the players
the way we want it to.
Otherwise, it's a pretty standard week going ahead. We will be working on completing the small
things we missed from last week (updating Gantt charts etc) and getting ready to go full steam
ahead into the development of the game itself. Now, with a better idea of what we are doing we can
forge ahead and really get stuck in.