Oasis

Role
Developer, Scrum master
Project type
Unity Video Game
Date
Feb 2022
Work
Academic Project

Background

This is one of group project of my Software Engineering Management course. I was working with a group of 6 computer science students and we developed Oasis with Unity.

Project Goal

The goal of the project is to practice Agile management methodology through developing a video game in a group of members with different skills and background. We are instructed to design and develop a video game for children using Unity.

Design Concept

The goal of the game is to collect 3 keys in the maze, then enter the destination - "Oasis" as fast as possible. Player who finish the game with shortest of time rank highest.

We adopted Agile management in the group work. We conducted weekly sprint to review current progress and discuss about the next step, including distribution of work, technique will be used, design of the game and more. We used gantt chart and burn down chart to visualise our project plan and Trello to keep track of our progress.

My role in this project is scrum master and developer. As a scrum master, I am responsible for organising the Trello board and hosting sprint meeting. And as a developer, I am the developer of the maze, key and timer feature in the game.

Reflection:

Challenges and solutions

At the beginning of the project, our team was slightly behind as we had not started developing the game and instead planned for our future sprints/gameplay. To keep up with the agenda, we set deadlines for each task and created burndown charts to understand how we should allocate our time. With our measures, we successfully completed the MVP on the third demo, and continued this strategy in following sprints.  

The development team faced challenges of merging branches on Git. To resolve this problem, we decided to combine our works manually through meet up on Discord to avoid confusions and mistakes. In addition, given the varying levels of experience from team members with Unity, we sometimes ran into strange or unexpected errors both with the scripts and Unity. Therefore, we made sure that we were constantly communicating with other team members to figure out solutions together.  

We planned our tests according to the development features of each sprint using our test plan. Once features were added, we conducted playthrough and acceptance tests, recorded on our test summary. Our main challenge throughout was unit testing. We discussed unit testing for keys and player movement and worked on trying to write these tests, however we struggled to as we didn't have experience with writing Unity unit tests. Despite our best research efforts, we could not find much useful material to help. We had many errors, even after reformatting the code. We reflected on this and decided to not include unit testing, as every feature could be tested effectively through playthrough and acceptance testing.  

Reflection

We believe the key to our successful teamwork was communication. We had created an open space for everyone to speak their mind and share their challenges so that we could adjust the project and support each other as much as possible. Daily stand-up on Discord improved our communication and bonding throughout the project. Detailed planning has helped us to avoid conflicts and increase our working efficiency in order to meet our goal for every demo. To have an unobstructed vision of the game, we created storyboard, user story, game backlogs, personas. Alongside this, we created Gantt chart, burndown chart and Trello to manage the progress of our project.  

Future Improvement

In future developments, we would aim to complete a full-rounded testing scheme that would allow for unit and integration testing, however given the time we did as best we could. With every team member now more comfortable with Git and Unity, we would be able to add more functionality to the game and manage Git more effectively.

No items found.

Thank you

Feel free to check out my other works

Unity Video Game

Oasis

Feb 2022
Read More
Python Video Game

The Curse of Python

Dec 2021
Read More