This is the 9 blog posts that record the tasks completed as part of an Agile development of a series of games for the Advanced Games Studies module at the University of Lincoln

The game I worked on for the first 6 weeks can bee seen in my portfolio

Week 9 - Sprint 3

As Carol I want both players to have a score tracked so i can tell who won in the end
Estimated Time: 4Hrs
Acceptance Criteria 1: The scores must carry over between levels
Acceptance Criteria 2: The score must increase while not infected
Acceptance Criteria 3: The winner should be displayed at the end
Status: Adam - Complete

Bug fix: As carol I want the game to work correctly so that I can enjoy the game
Estimated Time: 2Hrs
Acceptance Criteria 1: Sound works in all levels
Acceptance Criteria 2: Health tint works on all levels
Acceptance Criteria 3: the player should advance to the next level when both players have lost
Status: Adam - Complete

As Carol I want the AI stay out of the corners so that the game doesn't become boring
Estimated Time: 2Hrs

Acceptance Criteria 1: The AI should only react to near by threats
Acceptance Criteria 2: The AI should roam when not threatened
Status: Adam - Complete

Week 8 - sprint 3

As a developer I want the GitHub repository to be up to date and organised so that work can be successfully with the master branch again
Estimated Time: 4Hrs
Acceptance Criteria 1: The master branch must be up to date
Acceptance Criteria 2: All un-merged work must be added to the master branch
Acceptance Criteria 3: The Master branch project must run.
Status: Adam - Complete

Evidence:
https://github.com/LincsAGS1/Blueberry/commit/a6efe987e9149a0e5f0daaf5a09e9b3ec3d5344c

As Carol I want the installer to allow me to uninstall the the kinect wheels SDK so that my computer can be like it was before installation
Estimated Time: 4Hrs
Acceptance Criteria 1: The installer must be able to start the kinect uninstall wizard.
Acceptance Criteria 2: The Kinnect Wheels SDK must be removed from the computer.
Acceptance Criteria 3: The Computer must be the same as before the SDK was installed
Status: Adam - Complete

Notes: The Kinect SDK installer is 222MB and so is too large to upload to GitHub and so will have to be added to the installer after downloading from GitHub or the game will need to be downloaded from somewhere else.


Week 7 - Sprint 3

As Carol I want the power ups to to easy to interact with so that I don't get frustrated with the game
Estimated Time = 2Hrs
Acceptance Criteria 1 :  Power ups must not spawn on top of objects or players
Acceptance Criteria 2 : Power up sprites should have transparent backgrounds
Acceptance Criteria 3 : Power ups should play a sound effect when picked up
Status = Adam - complete



As Carol I want the players to play sounds when hurt so that I know when they are losing health
Estimated time = 2Hrs
Acceptance Criteria 1 : Appropriate sounds play to reflect the players health
Acceptance Criteria 2 : All players must make these noises
Status = Adam - complete

 Sounds applied to every player. Sound changed to 2D to increase sound levels

Sounds applied to every player. Sound changed to 2D to increase sound levels

As carol I want the game to progress to the next level when I finish it so that I can play the entire game
Estimated Time = 2Hrs
Acceptance Criteria 1 : The game should change level
Acceptance Criteria 2 : The level should only advance when there is only one alive player left
Status = Adam - Complete

As Carol I want the game to come with an installer for the Kinect SDK and the Kinect wheels program
Estimated Time = 2Hrs
Acceptance Criteria 1 : The installer must run the kinect SDK if it is not installed
Acceptance Criteria 2 : The installer must copy the dll file to the correct folder
Acceptance Criteria 3 : The installer should work under all reasonable conditions
Status = Adam - Complete
 

installer.png


Week 6 - sprint 2

As Edwin Roy I want the player to gain the power of the bosses he has defeated so that I can enjoy getting stronger.
Estimated Time = 2Hrs
Acceptance Criteria 1 : Player gains death power from killing death
Acceptance Criteria 2 : Player gains famines power from killing famine
Status = Adam - Complete

 death scythe added and collider resized

death scythe added and collider resized

 player damage is now proportional to their health

player damage is now proportional to their health

 

As Sarah Lucas I want the menus to be very simple so that I don't overexert myself trying to navigate them. Estimated Time = 2hrs
Acceptance Criteria 1: Timed title splash screen at the beginning.
Acceptance Criteria 2: Timed high-score screen shown after the victory screen which uses the date that the score was achieved instead of initials.
Acceptance Criteria 3: Game over screen when player dies.
Acceptance Criteria 4: Victory screen when player wins.
Status - Adam

 timer waits seven seconds before switching

timer waits seven seconds before switching

 The introduction splash screen

The introduction splash screen

 Victory screen

Victory screen


As Adrian Wilkinson I want it to be a greater challenge to gain access to fight the final boss so that it feels like more of a triumph.
Estimated Time = 4 Hrs
Acceptance Criteria 1 : 16 group points
Acceptance Criteria 2 : Other bosses must be defeated
Acceptance Criteria 3 : enemies spawn on group points
Acceptance Criteria 4 : 50% of enemies killed to summon boss
Acceptance Criteria 5 : Conquest created with correct AI/behavior and spawns after enough enemies are defeated outside the castle.

Status = Adam

 All 16  group points near conquest

All 16  group points near conquest

 Bosses must be killed to open gate, On death the game ends. On conquests death the player wins

Bosses must be killed to open gate, On death the game ends. On conquests death the player wins

 Spawn enemies if there's room and spawn the boss if half of the enemies are dead

Spawn enemies if there's room and spawn the boss if half of the enemies are dead

Week 5 - sprint 2

Scrum master
2 hours

As Edwin Roy I want Famine to be placed in the left fort so that know exactly who will be fighting when I enter the left fort
Estimated Time = 4Hrs
Acceptance Criteria 1 : Famines unique left hand weapon created
Acceptance Criteria 2 : When boss health is above half he intercepts the player
Acceptance Criteria 3 : When the bosses health is below half attack from behind the player
Acceptance Criteria 4 : Famine placed in the left fort
Status = Adam - Approved

 Uses behavior created in the cavalry enemy

Uses behavior created in the cavalry enemy

 Lance rotation to point at the player

Lance rotation to point at the player

 hit cases to deal with the type of enemy using the lance

hit cases to deal with the type of enemy using the lance

 

As Adrian Wilkinson I want horsemen to be able to be knocked off of their horse so that fighting them requires more skill
Estimated time = 2Hrs
Acceptance Criteria 4 : Boss falls off horse when hit with players lance for 5 seconds
Acceptance Criteria 5 : when boss is un-mounted he is vulnerable to trample
Acceptance Criteria 6 : boss stops attacking when not mounted
Status = Adam - Approved



Week 4 - sprint 2

Scrum master
2 hours

As Adrian Wilkinson I want cavalry enemies to be damaged upon colliding with the avatar's lance so that the cavalry can be killed.
Estimated Time = 2Hrs
Acceptance Criteria 1 : Players lance always faces forwards
Acceptance Criteria 2 : Players lance has hit box
Acceptance Criteria 3 : Cavalry take damage when colliding with lance hit box
Status = Adam - Approved

The lance turns in to the players turn to allow the player to aim the lance

This is the code that deals with the rotation and interaction of the lance

 

As Edwin Roy I want the fort doors to open once killing more than half the enemies surrounding the fort so that i get rewarded for doing well at the game.
Estimated Time = 2 Hrs
Acceptance Criteria 1 : Open fort door when 64 of the local Enemies are killed
Acceptance Criteria 2 : Player can access the fort
Status = Adam - Approved

Here you can see that there are very few enemies and that the fort doors have closed

This is the code that deals with how to open the door
 

As Adrian Wilkinson I want the enemies to re-spawn periodically so that the game is not too easy.
Estimated Time = 2Hrs
Acceptance Criteria 1 : 16 Infantry start spawn every 10 seconds
Acceptance Criteria 2 : Infantry spawn one at a time over 10 seconds
Status = Adam - Approved

Making use of the code in the group point which allocates enemies to them, this code can simply spawn an enemy and have it travel to a group point with vacancies. This code deals with ensuring too many enemies aren't spawned and then causing the spawn to wait so too many don't all spawn at once

Week 3

As Sarah Luaus I want the cavalry to have varied behavior so that they are interesting to fight against
Estimated Time = 8Hrs
Acceptance Criteria 1 : Cavalry chooses between three behaviors
Acceptance Criteria 2 : Behavior 1, moves to intercept player as much as possible
Acceptance Criteria 3 : Behavior 2, remain behind the player, following them directly
Acceptance Criteria 4 : Behavior 3. circle around the player and attack ever 10-15 seconds
Status = Adam - Complete

 Here you can see the follow, circle and intercept behaviors being assigned

Here you can see the follow, circle and intercept behaviors being assigned

 Intercept code

Intercept code

 Follow code

Follow code

 Circle code part 1

Circle code part 1

 circle code part 2

circle code part 2

Week2

1. As Adrian Wilkinson I want ground enemies to be damaged upon colliding with the avatar's sword so that they can be killed.
Estimated Time = 2 Hrs Acceptance Criteria 1 : Player swings sword
Acceptance Criteria 2 : Player sword reverses direction at apex of swing distance
Acceptance Criteria 3 : Player sword has hit box
Acceptance Criteria 4 : Ground enemies take damage when colliding with sword hit box
Status = Approved

2. As Sarah Lucas i want the forts to have two sets of opposing doors so that i can more easily access the forts.
Estimated Time = 2 Hrs
Acceptance Criteria 1 : The forts created have two doors
Acceptance Criteria 2 : The fort doors are directly opposite each other
Acceptance Criteria 3 : The fort doors are clearly visible
Acceptance Criteria 4 : players avatar can go though the fort door easily
Status = Approved

3. Ad Edwin Roy i want the enemies to find the best path to me so that when i engage with them they do not run in a random direction
Estimated Time = 4 Hrs
Acceptance Criteria 1 : Enemies look up the best path to the player
Acceptance Criteria 2 : All Paths are pre-calucated outside of the game
Status = Approved

 Here is the debug console showing the debug message that all the paths have been precalculated

Here is the debug console showing the debug message that all the paths have been precalculated

 Here is the code that produces the debug message

Here is the code that produces the debug message

 Here is the blue enemy sprite following the players sprite

Here is the blue enemy sprite following the players sprite


Week 1

Here are the 2 scenes

1. As Edwin Roy i want there to be several groups of enemies around the fort so that i have something to fight.
Estimated Time = 4 Hrs
Acceptance Criteria 1 : Enemies patrol within 15 units group point
Acceptance Criteria 2 : If the group point has room it should allocate enemies to itself
Acceptance Criteria 3 : Enemies will change direction when collides with objects
Status = Accepted

Here you can see the screen shots of the enemy movement and group point code

 This is the code on the group point which manages the actors

This is the code on the group point which manages the actors

 Here you can see group points and infantry interacting

Here you can see group points and infantry interacting

2. As Edwin Roy i want the enemies to only respond to me when i am close to them so that i do not get overwhelmed
Estimated Time = 2 Hrs
Acceptance Criteria 1 : Enemies check players distance from them

Status = Accepted

here are screen shots of the alert radius code

 this finds the player and then checks if its within range, if it is then the behavior can change

this finds the player and then checks if its within range, if it is then the behavior can change

3. As Sarah Lucas I want to be able to pause the game so that I can rest when in pain from over-exertion.
Estimated Time = 2 Hrs
Acceptance Criteria 1 : All animations must stop
Acceptance Criteria 2 : All animations states must be saved
Acceptance Criteria 3 : Collision processing must stop
Acceptance Criteria 4 : AI must stop

Status = Accepted

Here is a screen shot of the code used to pause the game

 The top uses a static enum which can be accessed by any object, the bottom uses an if to check the state

The top uses a static enum which can be accessed by any object, the bottom uses an if to check the state

Week 0 - 10 user stories

  1. As a medieval enthusiast I want the weapons to have realistic characteristics so that I will be able to engage better.
  2. As a player I want the controls to be precise so that I don't lose or take damage because the game didn't respond as expected.
  3. As a player I want the animations to look consistent and suitable so that I won't be taken out of the game by poor or bizarre animations.
  4. As a gamer I want to be see how much damage I do and how much health enemies have so that my progress is clear.
  5. As an electric wheel chair user I don't want the game to be any harder than it would be with a regular chair so that I can compare my skill with others.
  6. As mythology fan I want the forts to be themed on the horsemen that own them so that it is clear what horseman I'm fighting.
  7. As a gamer I want the map to have lots of room to manoeuvre so that I don't crash into walls all of the time.
  8. As a gamer I want the enemies to be consistent in their behavior so that I can predict their movements and plan my next actions.
  9. As a gamer I want each horseman to be a unique challenge so that I don't bored with the game.
  10. As a player I want to have my character progress through game play so that the game can escalate as i get towards the end.