Development process

During the development of the game, we used the agile method. We went through a total of 5 sprints to complete our game.
Each sprint lasted for two weeks.


In the first sprint, we completed the creation of the game start screen, character selection screen, game screen, and game end screen. At the same time, we completed the player name legitimacy check. We built the MVVM design pattern as the framework of the game.

In the second sprint, we completed the creation of the game map and the display of player characters. We used a 2D array to design the map and canvas to draw the map. Also, we used Singleton Design pattern in our code.

In the third sprint, we finished the character movement and collision detection. At the same time, we changed the movement method to move the map while the player always stays in the center of the screen. Also, we used Strategy and Observer pattern in our code.


In the fourth sprint, we completed the monster creation, movement and collision detection. We used Creator pattern and factory pattern for monster creation.

In the fifth sprint, we completed the player's attack and ability boosting and optimized the UI. we used Decorator Pattern for the player's ability boosting.


In these five sprints we have drawn domain model, use case diagram, System Sequence Diagrams, Sequence Diagrams and design class diagram.




Domain Model:

Use Case:

main challenge

The main challenge we faced was centered on the code side. It was the first time for all of us to use android studio, and after we completed a few sprints and familiarized ourselves with android studio, we soon realized that there were many unreasonable parts in the early code, and some of them would affect the development of the game's functionality in the future. For this reason, we had to spend a lot of time reworking parts of the earlier code to fix the problems as much as possible.