A Mage Lost
Itch.io: https://andylang.itch.io/a-mage-lost
'A Mage Lost' is a 2D puzzle platformer game that was developed for the Games Development core subject Game Design Studio 1 at UTS. I worked with 4 other team members on this project and all of us applied the agile development process to create this game. Sprints were divided throughout the term, and our roles, tasks, and progress were documented down within several reports which were to be submitted by the end of each sprint. Below are the documented development and thought processes as a developer while I went through each sprint throughout the term.
SPRINT 1
Our team aimed to create a 2D platform puzzle game that involved a wizard who uses elemental magic to solve physics-based puzzles. We wanted the player to use magic wisely to traverse and solve puzzles designed into each level. We wanted to demonstrate the core mechanics of elemental magic the player can manipulate within this sprint. The player can use fire to destroy obstacles, water to put out fires and grow trees, air to push large objects, and earth to create bridges and weights. In this sprint, we want to create a simple level with 4 simple puzzles that can demonstrate each of these abilities. The team also planned to create a mana pool that limited the player in using his magic and forcing them to think about how they would use it to solve each level.
​
In this sprint, I aimed to help create the 4 abilities the player can use to solve puzzles in the game. We wanted to make sure the tech demo properly demonstrated the mechanics of each ability. I was also assigned to help complete user stories for the GDD, and create a simple level design for the tech demo. The mechanic of a mana pool was also planned in the sprint, which involved resource management with natural resources in the environment and the elemental magic.
​
Contributions
I primarily contributed to coding the core mechanics of the game. By collaborating with Stephen, we developed the basic mechanics of the 4 abilities the player can use. I helped with air and earth abilities. I aimed to allow the player to shoot a ball of air that pushes objects such as boulders. I also developed the earth ability which allows the player to create boulders by holding down the left mouse button and causing it to grow over time, which allowed for the creation of different-sized boulders. I also helped code the player’s ability to switch between abilities using the scroll wheel and the number keys. I also contributed in creating the team’s GDD and was in charge of creating the level design of our tech demo.
Most of the user stories for this sprint were completed and were sufficient enough to create a decent and working tech demo. However, we did not have enough time to implement the use of the mana pool. This user story will be reserved for the next sprint.
In this sprint, it seems I have done a little less than planned, as we missed out on developing a mana pool for the tech demo. However, the 4 abilities should be enough to demonstrate the core mechanics of our planned game.
The main impediments that I ran into during this sprint involved some minor conflicts with git, and an unusual bug involving the physics of the boulder. I collaborated with Stephen to fix these issues.
​
Reflections
In this sprint, we managed to get the basic mechanics onto our tech demo, and have designed a simple level to demonstrate each ability for the player to control. We added simple movement mechanics and prompts that will guide players in using their abilities. We also collaborated in finishing the GDD as well, and the scrum meetings had great attendance. The meeting also allowed us to keep each other up to date and collaborate on user stories together. We collected a lot of visual assets that will aid us in developing the game in future sprints.
The main issues that occurred during the sprint involved conflicts with our git, as we are still learning how to use Sourcetree. Some user stories were not completed as expected by the end of the sprint, however, these can be used as our main goals to accomplish during our second sprint.
I will try to complete all the user stories set to me so that the necessary tasks will be done as expected by the end of our next sprint. I should also focus on learning more about Sourcetree and resolving any conflicts that may occur during the next sprint. I should also spread out my time on working on the coding, as at times I was very rushed and made a few mistakes.
I will continue with developing the abilities and making them cleaner. I will also work on designing the puzzles that each level of our game will have, and how they will be integrated with the mechanics of the elemental abilities. I can also help with merging the visual assets collected and created by my other team members and making the game look nicer. I should also continue making sure any obvious bugs that may appear are fixed quickly.
SPRINT 2
Our team planned for a working tutorial level for our game. This involved merging the visual assets that were collected and integrated into said level. Level designing for the tutorial is also another goal that needs to be achieved by the end of the sprint, as we want our game to be completable. We also aimed to implement the mana system mechanic that was another vital component for our puzzle game. Our team also needs to focus on the feedback that we received from our first playtesting session and improve our game based on it. The feedback asked for polishing of the player UI and the mechanics of movement and magic abilities. We also need to create a questionnaire for our next playtest and receive feedback accordingly for out next iteration.
​
In this sprint, I was in charge of implementing the mana system and resource collection mechanics, as this was a vital component creating the puzzle aspect of our game, as it requires a sense of management when solving puzzles and overcoming obstacles in-game. I also aimed to create the level design for our tutorial level, and make sure that it is enough to display the full extent of our mechanics for the elemental magic abilities. Contribution to creating fixes from the Sprint 1 feedback and the questionnaire were also goals that I needed to achieve by the end of Sprint 2.
​
Contributions
My role for this sprint was coding the mechanics of resource collection and the player’s mana system, as well as fix any impediments that were brought up from the Sprint 1 playtest feedback. This involved polishing and balancing the magic abilities, as well as movement. Another important component to my role was the level design for our tutorial level and making sure that each ability was clearly highlighted to the player, and that they understand how each of them works. In this sprint, I also created the document for our team’s questionnaire and made sure that each team member contributed at least 1 question that was specific and constructive to the development of our game.
​
During this sprint, I have successfully completed the most important tasks that were assigned to me; however, I felt the need to extend a little beyond my own contribution and help other team members with their own tasks.
​
I seemed to have achieved as much as what I’ve planned for myself during this sprint, but I also contributed a little towards balancing the game and helping out other team members with their tasks as well, mostly involving the fixes and feedback.
​
There were slight impediments involving the merging of branches in git when we wanted to integrate the visual assets into our tutorial. Impediments also sprung up from the process of level design, as I encountered certain aspects of the magic ability mechanics that may be used to abuse the tutorial level, so I made fixes accordingly to make sure the abilities are balanced.
​
Reflections
The tutorial level has been successfully designed, and many fixes based from our feedback have been implemented. The mana system and resources have also been successfully integrated into our game, and some of our visual placeholder assets have been replaced with our own visuals and animations, as well as the addition of some sound and music assets. Our questionnaire has also been completed and the attendance of our scrum meetings was decent.
​
We still ran into several problems involving version control and the merging of branches with our master, especially involving the Graphics branch. When merged, some of our assets and scripts became disjointed and needed to be manually replaced. New bugs also popped up whenever we integrated some of the visuals and animations into the scene.
​
Although I feel this sprint was relatively successful, I will try to contribute a bit more and help out my team members with their tasks, just to make sure we don’t fall behind. I should also continue to familiarize myself more with Sourcetree as a means to make sure conflicts do not pop up and impede our development process.
​
I will continue to make sure that the magic abilities stay balanced and clean for our game. I will also continue managing the coding aspect, as it would be necessary for designing the physics and logic of our puzzles that we may add to the further developments of our game. I will also focus on receiving the feedback from our second playtest and implementing the respective fixes and improvements.
SPRINT 3
Our team planned that we would have 4 working tutorial levels representing each magic ability, and each of them showcasing their full mechanics. We also planned that the visual assets will replace the placeholder assets and would help make the game’s aesthetics stand out better. Most importantly, our team also plans to analyse the feedback that we received from the Sprint 2 playtest, and improve our game by refining and modifying its key components.
​
My goals for this sprint were primarily fixing highlighted bugs and using feedback to improve the game’s mechanics. This involved modifying and improving magic abilities and the mana system in order to generate a more fun experience in our puzzle-solving game. I also aimed to contribute to designing the tutorial levels that were imperative to help the player understand the mechanics of each magic ability. I was also tasked to refine the dialogue content that was purposely created to assist the player in understanding the game’s underlying mechanics.
​
Contributions
My role for this sprint was to modify my code that created the base mechanics of the game. I was tasked to change the mana system into a less convoluted system and a component that will make players easier to understand and take advantage of. My role also involved looking into the feedback that was constructive and essential to the improvement of our game. This involved changing how the abilities worked, which stemmed from feedback stating that their mechanics were too difficult to understand or were underwhelming. I also contributed towards designing the tutorial levels that would help showcase the full extent of each ability’s mechanics. I made sure that each level was easy to follow and generated fair feedback loops. The dialogue was also another task within my role, as it was shown that its content was too heavy and needed dialing down.
​
Most of the tasks that were assigned to me were completed near the end of the sprint. The only task I haven’t looked into was the new dialogue mechanics, which involved helping the player read the assistive dialogue. However, I felt this wasn’t an essential component of our game for the time being.
​
Overall, I did accomplish most of what I have planned, although a few minor tasks were left untouched, due to the fact I felt that they weren’t essential as of yet.
​
The main impediments were mostly due to merge conflicts that slowed down the momentum of the team’s progress. Another impediment was also generated from juggling time management and other subjects, as we are nearing the time period of due assignments.
​
Reflections
The tutorial levels have been completed, and many bugs have been fixed. Modifications to some of the game’s base mechanics have been successfully implemented and are ready for the next playtest. This included the mana system itself, along with some of the magic abilities. The visual assets have also been successfully integrated and made our game look more complete compared to its tech demo counterpart. More sounds have been added to the game in order to increase its immersion.
​
Merge conflict is still an ongoing issue and has been affecting the team’s momentum. Also, the feedback we received has been more critical compared to the first playtest, so a lot more user stories and tasks have been created as a consequence. This left some minor tasks to be worked on at a later date, although we do not see them as essential.
​
I should be more proactive with the tasks that have been set for me, as I have found myself doing most of them in the last minute. I should also communicate more with my team and making sure that we are all on the same page.
​
I will continue working on analysing the feedback we may receive at the end of this sprint, and make sure that the mechanics of the game stay balanced and clean. I will continue to focus on improving and refining the level designs of our game that would allow players to have a fun and fair experience.
SPRINT 4
In Sprint 4, the team plans to first analyze the feedback that we received from our second playtest questionnaire. Then, user stories will be created and placed into our backlog in preparation for the sprint. We will implement rewords and fixes that are required from the user stories. We also plan to add more levels that are more developed than the tutorial levels that we had, so that our game is more fleshed out. Each team member was to develop 1-2 levels each for the sprint. Then, we will build all our levels together and polish our game by fixing any bugs that appear within those levels.
​
Contributions
My role for this sprint was tackling most of the user stories generated from our playtest feedback, especially those that suggested that I rework the mana system to make it regenerate over time so that it does not disturb the game flow. I was also responsible for tweaking the mechanics of the magic abilities, mostly earth, and air so that they operate more smoothly. Apart from bug fixing, I also had the role of creating one of the extra levels that we plan to create for our game to give it more depth. I was to create a level with 2 distinguishing puzzles. I am also in charge of refurbishing the dialogue contained in the game and making sure the levels are built into the game once everyone has completed their tasks.
​
I have completed all the tasks that have been assigned to me. I also created a few more user stories for myself along the way, which I saw would help make our game cleaner. I was able to accomplish those tasks as well.
​
I certainly did a little more than initially planned when we came up with the user stories from our feedback. I did create more tasks for myself, however, they only consisted of small fixes that would make our game generally tidier.
​
There weren’t as many impediments compared to the last sprint. We have become more accustomed to how Sourcetree works, so we only ran into little to no problems. However, there was one major impediment that I ran into, which involved a clash between the mechanics of the air ability and its corresponding imported particle systems. Since the particle system used a script none of the team members have made, it prevented the way we wanted the air sphere to behave physics-wise. Therefore, we had to sacrifice its explosion particle system for the air sphere’s collider that was needed for the main mechanics of our game.
​
Reflections
We managed to create more levels for our game which gave it more depth. I also believe that we accomplished all the user stories that were created from our playtest feedback, which would make our game smoother and more fun to play.
​
We certainly weren’t meant to create more content for our game during the last sprint of the semester, and I believed that we should have made these levels during the last sprint. However, due to time constraints, we had to take the risk of adding more content and polishing our game at the same time along the way.
​
If there was another sprint after this, I would certainly work on managing our time better, and mostly focus on polishing the game instead of adding more content.
​
If there was another sprint after this, I would keep maintaining the mechanics of the game and analyze any more feedback regarding it. I would also keep an eye on the mechanics of each level, and their respective feedback.