Testing
As the programmer for this project, it is my job to get everything we make into the unity project and functioning. Therefore I need to make sure to quality check every asset as I get it and make sure it functions as it is expected in unity, testing at every stage and then giving feedback so if changes are necessary they can be worked on as soon as possible as to not hold up the project.
​
​
The complete log for the unity work that was completed for Anima Mundi can be viewed on this google doc. Here i kept track of every change that was made to individual assets and scripts, with the given date, version number and development notes.
Link - https://docs.google.com/document/d/1EmgKArHv2wPZPe4dkQyJ11povTrypc6CCXF1mi1lr-U/edit
​
​
On this page I will be documenting the process of quality checking the assets that were somewhat problematic, implementing them in unity and then testing them.
​
To begin, here are the assets that are expected to be present in the vertical slice:



I have broken down the list of assets in to categories and will document the process in this order below, beginning with sprites, then animations and so on.
​
At the end of the page, there will be further analysis on the functionality of the puzzles and then a full review of the full vertical slice in action
The Shaman - an androgynous creature that is in touch with nature. Able to communicate with animals and summon elements of the earth to use as powers, the Shaman is entity that possesses great wisdom.
The expectation of this design (created by Daniella) is that it will be able to be rigged by our animator (Molly) and that it will successfully convey those characteristics.

.jpg)
Version 01
Version 02

Quality Check: This first design by Daniella perfectly captures the Shamans character. He looks powerful, in his fantastical costume and cape and you can tell that he is one with the surrounding nature from the lack of shoes on his feet.
He is mysterious, yet comforting. The colour scheme is great and it looks very well put together.
Functionality: Flawed unfortunately. The Shaman requires a side-profile view as in our vertical slice, he will only be moving left and right across the screen since it has been designed to be a 2D, side scrolling platformer.
​
​
The second version of the Shaman has checked all the boxes. The design is clean and symmetrical, and should be able to be rigged by Molly with ease to create all of the required animations.
Daniella took the feedback well and made the fixes.
​
The functionality has improved as well since the Shaman now holds the staff which he will be using when performing the abilities. It is good that the staff is separate from the body so this will not require any further break down for Molly to get started.
The Blossoms - The blossoms expectation are that they follow the colour scheme that was established near the beginning of the project and are produced in the agreed upon art style. The blossom tree has symbolic significance to Japan and is associated by people all over the world with their culture. It will provide instant recognition to where the game takes place and give insight to the story behind the Shaman.



Here is a demonstration of the art style that we are aiming to achieve and the agreed upon colour palette for asset creation, created by Emilia.
All the assets should be subtle in colour, not too vibrant and have delicate line work. The aim is for the art style to be a comfort to the player.
Version 01

Version 02

Version 1 and 2 were both created by Charisma. The first is a full tree animation of the restoration made for the third puzzle in the vertical slice where the player must move rain clouds over a dying tree in order to revive it. The animation worked wonderfully and it begins with fallen branches that are pulled back up from blocking he path and it really is a great representation of beauty being restored.
The issue with the first two version is that they were incredibly vibrant and did not follow the guide for the line work that we established for the asserts. While beautiful, they are inconsistent with the other assets so we decided as a group that they did need to be re-developed.
Version 03

Version 03a

Version 03 was developed by Emilia and captures the art style perfectly with the subtle pink hues and delicate line work. They have been developed exactly as planned. Charisma's re-developed tree animation is just as great, refining her work to meet the art style and it is consistent with the other assets. The two assets look harmonious together and you wouldn't even know that they were developed by two different artists.

Here is how the trees look in the scene, in comparison to the other assets, the platforms, shrubs, shaman an d lantern. The artwork is consistent despite multiple 2D artists working together to build up the game. These trees version 03 and version 03a have been finalised and checked off the list.
Puzzle Clouds
The expectation of the puzzle clouds is that they fit well into front of the sky that had been designed for the vertical slice, looking natural against the colours and composition of it. They were also required to be dense enough that that they could cover the view of the platforms that were hidden behind them. This is because, in the puzzle, the player must blow the clouds out of the way to be able to see the path ahead or otherwise they will likely fall to their deaths.

Version 01 - developed by Emilia
The first version of the clouds did not reflect the art style that has been decided for the game. They are more cartoon like that natural or like brush strokes. The design is sweet and comforting but not what we were aiming for.
Change: brush stroke style, natural looking clouds that can be tinted to reflect sunlight

Version 02 - developed by Charisma
The second version of the clouds were developed before we had a sky implemented so I was unable to test them properly yet but the style was improved upon and the clouds are far more appropriate for the vertical slice. The colours can be changed once the final sky has been established.

Version 03 - developed by Charisma
Now that we have the final sky, Charisma made further changes to the clouds, accounting for the direction of sunlight and the hues present in the sunset shining through them.

Once tested in unity it was clear that further changes needed to be made tot he clouds as they did not function as they were expected to. So Charisma had to create some new assets with the opacity set to full so they could successfully serve their purpose.

Version 04 - by Charisma
The quality is perfect, the clouds are harmonious in the scene and function as they should.
​
Further more the opacity can be altered in unity so the clouds could also be used to decorate the surrounding scene in the game world.
The Boulder

Version 01 - Developed by Molly
The boulder looks great, it has dimension and Molly has clearly taken into account lighting as well as the top-down oblique perspective.
However it has not been designed so that the player is able to walk over it which is its function. The player throws the boulder into a gap in the bridge and then is able to cross over and continue on the path.

Version 02 - Developed by Molly
Changes have been made to the boulder so that is able to be walked over and this asset has been finalised, checked off the list.
The idle animation


Version 01 - Developed by Molly​
The original idle animation was very problematic as it did not transition well from the other movement abilities. As you can see, the proportions and the perspective of the Shaman change completely from the walk animation to the idle animation. I have given this feedback to Molly and suggested that she make a revised version.

Version 02
Molly made the necessary changes to the Shamans idle animation and the problem has been solved. It is a simplified 4 frame bobble with correct stature and proportions. The animations now work together seamlessly inside unity so we can move on from the Shaman now.
​
The idle animation was the only animation we had a problem with. I think the one mistake was enough for everyone to know to make further checks with their work and maintain consistency between animations of the same asset.
Unity Tests
Test 1
What is being tested?
-
movement
-
movement animations
-
version 2 idle
-
their transitions
-
ability animations
The expectation:
​The character sprite should flip left and right upon moving left and right. The character should transition smoothly between idle state and walking. The ability animations should only play while idle and again should have smooth transition from the idle state.
Results:
The flip script added to the player movement script worked and the sprite does flip between left and right upon changing the direction along the horizontal axis. The transition from idle to walking and back is smooth and not chunky or laggy. The speed is sound and there are no issues there. When the ability animation are played, there is a jump where the transition from idle is not as smooth. I might be able to adapt this in the animator and I don't think that it is noticeable enough to require changes to the sprite sheets. It is clear which ability is in use when the player moves during the animation but this will be clearer once the boulder and gust of wind are implemented too.
The Bridge Puzzle
Bridge Test 1
What is being tested?
-
Does the player fall through the gap?
-
Does the gap fill?
-
Are the colliders functional
-
Can the puzzle be solved?
The expectation: Player falls through gap unless boulder throw is used in which case the bridge can be walked over. Flourishing details have not yet been added. This test is for function only.
The results:
The player must jump over a boulder that acts as a trigger to get onto the bridge. The player does fall through the gap and is not able to jump over it which is great. This is because the player can only jump on surfaces tagged as "Ground" and I have not tagged the bridge steps with this. Upon pressing "e" (using the boulder throw ability), the gap does fill successfully. The problems with the puzzle are that the player gets stuck on the edges of coliders and cannot jump to move over them.
Bridge test 2
​
​
What is being tested?
-
Does the player fall through the gap?
-
Does the gap fill?
-
Are the colliders functional
-
Can the puzzle be solved?
The expectation: Player falls through gap unless boulder throw is used in which case the bridge can be walked over. Flourishing details have not yet been added. This test is for function only.
What has changed?
I added new colliders to the bridge. They have been changed from polygon colliders to edge colliders in an effort to stop the player getting stuck on the points.
The results:
The player must still jump over a boulder that acts as a trigger to get onto the bridge. The player does fall through the gap. Upon pressing "e" (using the boulder throw ability), the gap does fill successfully. The problems with the puzzle are that the player still gets stuck on the edges of colliders.
Plan:
I am going to see if there is a different way to build this puzzle because I would prefer if the boulder was to be produced as a new asset every-time it is used and then thrown by the player like a projectile. This is opposed to the gap just being filled with a box and an animation playing. Furthermore if the boulder is a projectile that must be thrown, it means that challenge is added to the puzzle as the player will have to be stood in the correct position i order to fill the gap.
Bridge test 3
​
​
What is being tested?
-
Does the player fall through the gap?
-
Does the gap fill?
-
Are the colliders functional
-
Can the puzzle be solved?
The expectation: Player falls through gap unless boulder throw is used in which case the bridge can be walked over. Flourishing details have not yet been added. This test is for function only.
The results:
All problems from the previous version have been fixed. Changes were made to the colliders on the player so that the player could climb up and over small ledges with no problems or affect on how the movement looks and functions. The boulder puzzle was completely reconstructed and the ability is now use by throwing a projectile front he player rather than getting a string of events to take place using triggers. This is a lot smoother and the additional experience of having to strategically throw the boulder at the right place makes this far more fun than the original design. I am extremely happy with how this turned out and the rest of the team were thrilled too to see their design functioning as they imagined it!
The Cloud Blowing Puzzle
Cloud Blow Test 1
What is being tested?
-
gust animations
-
cloud movement speed
-
quality of interaction
The Expectation: The player uses the ability, the gust movement animation plays and then the clouds should move away from the islands.
The Result: The first time the gust ability is used, the cloud moves before the animation but the times after it is the other way around. I am not sure why they play out in different orders each time. Another issue is that the colliders on the platforms have no been sized correctly and the platforms are tooclose together so the Shaman is getting stuck. The clouds also move away too fast.
The plan: Put a coroutine on the cloud movement so the animation has finished playing before tir position is changed. Fix the colliders on the platforms. Increase the weight and decrease the force on the clouds, in the script.
Cloud Blow Test 2
What is being tested?
-
Animation order
-
Cloud movement
-
Colliders
The Expectation: The gust movement animation plays before the wind animation and then the clouds move. The player does not get stuck at any point on the platforms.
What has changed? I have added a coroutine on the movement function of the clouds and restructured the placement of the islands and their colliders. I have also lowered the force on the clouds and increased their drag. The gust of wind coming from the staff has also been implemented.
The Result: the movement animation for the gust ability does play before the gust of wind. Those two are in the right order. However the clouds move way before either animation has played so clearly the coroutine delays have not worked. The platform positions and colliders are now fine.
Final Cloud Blow Test
What is being tested?
-
Animation order
-
Cloud movement
The Expectation: The gust movement animation plays before the wind animation and then the clouds move.
What has changed? I have hopefulyl now put the coroutine delays in the right place so the clouds should wait 4 seconds before moving, allowing time for both animations to play first.
The Result: The events are still not in sync so there is still a problem in the script with the coroutines. I do not think there is another method to fix this. I would like to get this fixed by speaking to James and asking for some advice but I do not think there will be time to do that before the deadline.
The Tree Restoration Puzzle
RainCloud Test 1
What is being tested?
-
Transform of the rain cloud
The Expectation: The rain cloud will stop at the tree in the correct position.
The Result: worked. This took a lot of trial and error, changing the values of the transform in the script. Next I will apply the animation that take palce after.
Tree Restore Test 2
What is being tested?
-
Rain cloud stops in correct position above the tree
-
Animation plays after 3 seconds
-
Speed
The Expectation: Raincloud passes over the tree and restores it to life.
What has changed? Have added a delay so that the rain cloud rains on the tree for 3 seconds before the animation starts playing. The animation has been added in and the speed of the raincloud was slowed down slightly.
The Result: The puzzle is a success and the events happen in the right order. I think that 3 seconds before the animation starts might be a little too long but that might because I am expecting what is about to happen whereas s new player may be more surprised and intrigued to see what happens, and therefore more patient.
The Windmill Puzzle
Test 1
What is being tested?
-
speed of turbine
-
animation does play upon key press
-
how soon it plays after press
The Expectation: The turbine begins spinning after the animations for the gust ability have played.
The Result: I definitely have a problem with my scripts where I have attempted to put in delays. The puzzle works but once again the animations are out of sync. The speed of the turbine is great though it seems it was a bit laggy in this video clip.
The Panpipe Puzzle
Test 1
What is being tested?
-
Barrier works and is destroyed at right time
-
Music notes and sound plays upon using gust on pipes
-
Eagle flies away -smooth
The Expectation: The player uses the gust on the pan pipes because it cannot pass the eagle. The gust plays a note animation and sound and then the eagle flies away, clearing the invisible barrier.
Thankfully, and unlike the other puzzles sadly, the events in this puzzle all take place in the right order. This was the most complicated puzzle of them all so I am really happy that there are no issues with it. I think over time and the process of this project, each puzzle in order has had less and less problems which I hope is sign that my skills in programming really are starting to improve.
Play Testing
Test 1 - Lewis. Took place on the 17th of May
This play-test session took place once I had implemented the first four puzzles in the game. Therfore the fifth puzzle was not functional and neither was the lantern system. There was no UI or prompts of any kind. I told Lewis the main objective of the game is to complete a series of environment puzzles that would in turn light up the lanterns across the level, but of course they were not going to do this yet. I wanted him to play mostly blind to test how intuitive the vertical slice is at this point. There was also no lighting or background details or final scene at this stage. Just the four puzzles.
​
Feedback:
​
How did it make you feel?
​
The game was not as easy as it looks but is rather self explanatory and the description I gave at the start was enough to know what to do without the addition of prompts. He felt a bit of pressure but said the experience was mostly soothing with the inclusion of the soundtrack playing beside him.
​
Describe Anima Mundi in a few words.
​
Tranquil, dreamy and peaceful.
​
If you could change or adapt something about the game, how would you do that?
​
More variation in height across the platforms. More exploration of the environment other than just puzzle interactions. And more challenging puzzles that require more thought.
​
Ratings:
​
Challenging: 3
Intuitive: 3
Clear aims: 5 (with brief explanation)
Relaxation: 4
​
Test 2 - Charlie. Took place on the 19th of May
This play-test session took place once I had implemented all of the features in the game, so the vertical slice was complete, and was just preparing to make final changes and adaptions after the results of these play-tests. This play test ran for five minutes and had to be split into two clips.
​
Analysis: Charlie is a console gamer and has little to no experience with PC games and from the beginning of the play-test he did struggle with with using the keyboard to move the character, so does fall off the platforms a fair few times, and quickly got frustrated. I wouldn't say there is a problem with the jump force, just that he struggled with the keyboard.
​
He got past the first puzzle quickly, understanding what he had to do as soon as he read the UI prompt that tells the player how to use the boulder throw. The same with the cloud blowing puzzle, he knew exactly what he had to do upon reading the prompt. Therefore, I think if the player did have prior knowledge of what the abilities are and how they are used, both of these puzzles would be intuitive.
​
He did get the Shaman stuck in some places showing that I need to make some further adaptions to the island positions and to their colliders.
​
At the tree restoration puzzle, he misses the objective completely so I had to remind him of the game objectives and how he must complete puzzles to light the lanterns. He then turns back and tries to just spam the gust ability rather than work the puzzle out, but that was to be expected from some players. The problem here was that he managed to complete the puzzle even though he was not stood inside the trigger box, which is not how the puzzle should function.
​
I don't have the time to be making loads of fixes but one thing I can do stop players from solving puzzles while in the wrong place or looking the wrong way is by putting in the script a line that says the puzzle can only be completed if they are facing in the right direction.
​
Part 2: Onto the next puzzle, the windmill. Charlie spins the windmill as soon as he comes across it showing that it is clear that it is a puzzle that requires na interaction.
​
At the panpipes he tries to immediately interact with them rather than first investigating the scene of the puzzle so he does not find out that there was an invisible barrier. This was really frustrating for me to watch as the developer, because it was just lazy playing. He moves past the puzzle and onto the end scene where he does get confused on what he is required to do but eventually takes the leap off the platform and finishes the game.
​
​
Feedback:
​
How did it make you feel?
​
Charlie got frustrated with the game pretty early on because he could not jump between the islands but otherwise he felt that the game had a light-hearted uplifting vibe and it was a joyful experience. He said the colourful environment supported this feeling.
​
Describe Anima Mundi in a few words?
​
Peaceful, challenging and vibrant.
​
If you could change or adapt the game in any way, how would you do that?
​
Charlie did not understand the last puzzle, said he wouldn't have understood what to do if he didn't spam the ability button.
​
Ratings:
​
Challenging: 3
Intuitive: 4
Clear aims/objectives: 4
Relaxation: 5
​
I don' think Charlie fully understood what to do because he did not read the prompts properly but has given us helpful feedback regardless and there are some clear fixes that I can make before the hand-in, including the script for checking if the player is facing the right way and fixing the platforms that he got stuck to.
​
Test 3 - Lewis is back. Took place on the 19th of May
This play-test session took place once I had implemented all of the features in the game, so the vertical slice was complete, and was just preparing to make final changes and adaptions after the results of these play-tests.
​
Lewis did not really read the prompts properly but understood the objectives and how to use the abilities from the session before. He said that he was impressed by the game environment and loved the sweet animation of the butterfly and eagle.
​
He breezes through the puzzles with clear intuition and I could tell that he was focused and enjoying the game because he did not look up from the screen and was transfixed. The cloud puzzle was the most enjoyable for him and he enjoyed that it was a repeated interaction and he could keep blowing them further across the level.
​
I was impressed that upon his first interaction with the panpipe puzzle, he knew exactly what to do because it was not clear at all for Charlie in the previous play test. Overall the play test went relally well, the issues had been fixed from the previous sessions and it was a smooth run-through.
​
Feedback:
​
How did it make you feel?
​
Lewis was kept engaged throughout, the addition of the sound and changes made to the scene in the background making the whole experience a lot more beautiful.
​
Describe Anima Mundi in a few words?
​
Calm, peaceful and pleasant.
​
If you could change or adapt the game in any way, how would you do that?
​
More ways to explore the environment, perhaps a different path that could lead off somewhere else. More interaction with the environment beyond the puzzles and abilities. Possibly a different method of movement other than just jumping. More complex puzzles would make the game more interesting. Also thinks there should be more checkpoints as the punishment for death is too severe and the jump should be made a bit smoother.
​
​
Full Game Analysis
Above is the full walkthrough of our vertical slice for Anima Mundi. I have worked hard to make sure that every game feature that we established to be implemented into the game, way back in the project scope, is present and is functional. We met almost every single one of those checkpoints.
​
The features that were planned and designed but are not present are the parallax scrolling and the UI for the pause, settings and end screen, developed by Charisma. The only feature in this vertical slice that does not function the way that we expected it to, is the gust of wind animation that is emitted from the staff. This is because it is out of sync with the other animation and does not move over a given path on the horizontal axis while increasing in size, as Molly designed it to look. One further adaption that we had to make was building the game for PC only despite the fact that this was designed for mobile gaming. This was because the vertical slice had to be shown at an arcade event that is online only.