Ever wanted to race Dragon boats down the River Ouse? Of course, the answer is yes and we have just the game for you. DragonBoat Z!
Our Team consists of:
- Omar Omar
- Rhianna Edwards
- Okan Deniz
- Omar Galvao Da Silva
- Joel Wallis
- Craig Smith
Dragon Boat Z is a single-player Boat Racing game based on the annual Dragon Boat Race held in York along the River Ouse.
In Dragon Boat Z, the player competes against 6 AI opponents, racing their dragon boats across 3 legs to achieve the fastest time to cross the finish line.
Upon starting the game, The player can choose to start a new game or load a previous one. When starting a new game, players can set the difficulty. After which, the player selects 1 of 7 boats as their boat that they would like to race with. Every boat has 4 statistics with each boat having a different distribution of these statistics.
- Robustness
- Determines how much damage a boat can take.
- A boat with higher robustness will lose a smaller percentage damage to the durability upon collision with an obstacle.
- Manoeuvrability
- Determines how fast the boat can avoid obstacles.
- A boat with higher manoeuvrability will be able to move side to side better without losing speed.
- Max Speed
- Determines how fast a boat can go.
- A boat with higher max speed will be able to go faster than other boats.
- Acceleration
- Determines how quickly a boat can achieve its max speed.
- A boat with higher acceleration will achieve its max speed before other boats.
During the races, there are a series of obstacles that will be floating down the Ouse. The player must avoid these obstacles in order to not damage their boat. If the boat's durability is reduced to 0 at any point within the game, the game ends and the player loses. So, watch out for those geese!! Whilst navigating the obstacles, the player must make sure to stay in their lane to avoid incurring a time penalty.
During the races, Boats can pick up 5 different power ups.
- Golden Feather
- Makes the boats invincible for a limited time.
- Hammer
- Repaires the boat.
- Speed Boost
- Gives increased speed for a limited time.
- Move Boost
- Increases the maneuvrability of the boat for a limited time.
- Watch
- Decreases the lap time for the boat.
If the player manages to achieve one of the 3 fastest times across the 3 legs, they will qualify for the final race where they will compete against the other 2 fastest boats. Upon completing the final race, the player will be awarded a medal, bronze, silver, or gold respective to their finishing position.
- Requirements
- Architecture
- Method Selection and Planning
- Risk Assessment and Mitigation
- Implementation
Sprint 1 - 08/10/2020
Having completed the task of setting up Jira and other resources needed for the project, the focus was on preparatory
work for the upcoming week. This involved adding to the existing set of Customer Questions constructed and develop an
understanding of how GitHub Pages works.
Sprint 1 Jira Board
Sprint 2 - 15/10/2020
Having completed the Customer meeting during the last Sprint, other tasks and deliverables could now be started. The priorities
are the Architecture Abstract diagram that will be reviewed at the second meeting of this Sprint, as this will allow us to make decisions such as what game library would be used. Deliverables such as Method Selection and Planning, Requirements and Risk Assessment will be built up using the now known information from the Customer Meeting alongside the starting of Sprite Design.
Sprint 2 Jira Board
Sprint 3 - 22/10/2020
Having completed the Abstract Architecture Diagram, a focus was put onto the Concrete Architecture Diagram development so
it would be ready for when initial classes are constructed, based off the Gantt Chart. This also meant a decision
was made on the library used for this project: LibGDX. Thus, each team member was assigned the task of completing
the tutorial found in the documentation, of LibGDX, and further research. Continued deliverable work was assigned a low priority
as this was considered an iterative process throughout the course of the project.
Sprint 3 Jira Board
Sprint 4 - 29/10/2020
In Sprint 3, the Concrete Architecture was created and allowed for critical tasks to begin: the initial classes. This was a high priority as delays would impact the production of the prototype on time. Further deliverable work was assigned medium/low priority. To maintain a clear separation between work, the initial one board was separated into two: Deliverables and Implementation. It was decided that second session of the Sprint would focus on the progression of these tasks and discuss if any would need to be reassigned.
Deliverables Board
![](docs/sprints/Sprint 4 - Deliverables.png)
Sprint 4 Delievrables Jira Board
Implementation Board
![](docs/sprints/Sprint 4 - Implementation.png)
Sprint 4 Implementation Jira Board
Sprint 5 - 05/11/2020
The backlog of tasks T14 and T11, from the previous Sprint, were assigned the highest priority, as continued programming work depended on their completion. With the aim of reaching the milestone M4, at the end of this Sprint, the prototype development was a high focus. The specific tasks related to the prototype were stated within the assignee's task description. Method Selection and Planning were a focus within the Deliverables board to continue to append changes that had occurred during the project lifecycle.
Deliverables Board
![](docs/sprints/Sprint_5_-_Deliverables.png)
Sprint 5 Jira Deliverables Board
Implementation Board
![](docs/sprints/Sprint_5_-_Implementation.png)
Sprint 5 Jira Implementation Board
Sprint 6 - 12/11/2020
Due to some minor issues with the construction of the legs of the game in the prototype, this task was focused on. Once completed,
we envision that the final tasks to have a functioning game will be finished on time. There will be a high focus on the programming elements needed for the final product. During the second meeting of this sprint, if there is extra time to implement additional functionality of the game the task, Animations, will be attempted and potentially additional features.
The Deliverables board focused on the finalising of the Implementation document, reflecting features that we have unsuccessfully
managed to implement and any additional features we may include.
Deliverables Board
Sprint 6 Jira Deliverables Board
Implementation Board
Sprint 6 Jira Implementation Board
Sprint 7 - 19/11/2020
Having reached the completion of the game, a focus on the game testing and peer review of finalised deliverables was
focused on. This was to ensure a successful completion of the entire project.
Sprint 7 Jira Board
- Testing Table
- Traceability Matrix
- Automated Tests
- animationTest
- GameLengthTest
- laneWarningTest
- lossTest1
- lossTest2
- PauseScreenTest
- TitleScreenTest
- GameModeEasy
- GameModeMedium
- GameModeHard
Sprint 1 - 17/12/2020
Having completed the task of setting up the environment for the project and other resources needed for the project, the focus was on understanding the documents
and sending off any questions the team had. We also got started on other tasks that did not require any preparations.
Sprint 2 - 27/12/2020
Having completed the Customer meeting during the last Sprint, we divided more tasks and took the extra time to finish existing ones.
Sprint 3 - 02/01/2021
For this week, we went over the documents finished in the last sprint. More tasks related to the deliverable documents were assigned and
Implementation carried on from last week.
Sprint 4 - 09/01/2021
For this period, the team focused on getting all assigned tasks done and we decided to take the rest of the period off
to focus on exams.
Sprint 5 - 23/01/2021
By the end of the 5th sprint, the implementation of the power ups was complete. The next assigned task for the implementation was working on the pause screen, which would allow us to follow up with the saving, loading and difficulties requirements. The change report was being updated with deliverables content as it was being updated. The continuous integration plan was created along with the user manual.
Sprint 6 - 30/01/2021
The implementation tasks were completed by the begging of this sprint allowing for test of the new updated code to begin. The website was also updated with the new deliverables and many other tasks were completed.
Sprint 7 - 06/02/2021
At the start of the sprint the testing was completed for the functional requirements, however the non functional tests were still in progress. Throughout this sprint all of these tests were complete. This sprint was also used to review all updated devlierables as a group, ensuring that all the specifications were met. The user manual was completed and website was updated and reviewed by the team.