Portobelly Production Journal #7

21/01/2019

Last week I set myself the goal of finalising the absorb and digestion ability and as a stretch goal I wanted to refine the shrink and expand ability. I feel that I have achieved both of these goals as I adapted the absorb and digestion ability so that they were functional for both skeletal and static meshes. The shrink and expand ability was also refined as I changed this ability so that the size change happens gradually rather than instantly changing from both extremes of size. I feel I am ahead of schedule as I exceeded my expectations from last week and I was able to fix issues with the systems I had created.

This week I have set myself the goal of finalising the players movement and creating a blockout for the tutorial area. I will also be attending the Global Game Jam during the weekend so that will occupy my weekend.

Fig 1 - Changing Belly’s jump hold time from 1 to 0.5

Fig 2 - Changes to the jump velocity based on Belly’s size.

Fig 3 - Feedback about the changes to the jump height

Jump hold time controls the amount of time the jump can be held down and when the amount of time is reached the player can no longer apply jumping force until the player has reached the ground. After many discussion with classmates, I discovered that the player was able to jump incredibly high and that this made the environment feel much smaller than we intended. To prevent the environment feeling small I decided to reduce the jump height (as seen above) and I reduced the jump hold time from 1 to 0.5.

Fig 4 - Basic obstacle that teaches Belly the jump ability

Fig 5 - The first obstacle Belly will encounter that forces the player to learn how to jump

During the tutorial area we planned to gradually introduce new mechanics to the player using obstacles. The first obstacle (as seen above) can only be completed if the player uses the jump ability. I wanted to create a similar experience to one of the tutorial levels in Super Meat Boy (as seen below) where the player is forced to learn a mechanic, in this case it was the sprint mechanic, in order to complete the level. In Portobelly, I want to tell the player as little as possible in the form of instructions as I would rather let the player learn the mechanics of the game through discovery.

Fig 6 - Super Meat Boy Walkthrough 1-3 - The Gap

Fig 7 - What should tutorials accomplish?

During a GDC (2016) talk, Asher Vollmer explains that “the tutorial also has its own goals like for example teach it needs to teach the player and on top of that it needs to comfort the player because if the player enters the game and feels like terrible the entire time there not gonna want to keep playing and on top of that tutorials happen to be in the very beginning of the game so you want to excite the player so they keep playing in the game […] but the one that like most tutorials just sort of disregard and take totally throw away is basically they don’t respect the player“. The four goals are required to make a great tutorial according to Asher Vollmer and I will consider each of these principles when creating the tutorial of Portobelly. I feel I have covered the comfort aspect of this Venn diagram during the the first obstacle as there is not a time limit or way for the player to take damage or die.

Fig 8 - Obstacle that teaches the player about changing size

This second obstacle is aimed to teach the player about the size changing ability, the first section teaches the player about increasing the players size and the second section teaches the player about decreasing their size. The first section should be completed by the player increasing their size so that they are unable to fall through the gaps. If the player falls through the gaps they have to return to the start of the obstacle as they are unable to jump back onto the blocks since they are higher than the maximum jump height.

Fig 9 - The second obstacle can be completed without utilising the size changing ability

Although I planned for this section to force the player to use the expand ability so that the player can complete it, I soon found out that this obstacle can be completed without expanding at all. To prevent the player jumping over this obstacle we decided to add something that would push the player towards the ground. After to many discussions, we settled on adding a waterfall to this area as waterfalls provide a downward force and it would fit the cave environment.

Fig 10 - Waterfall component setup

Fig 11 - Waterfall components in the viewport

Fig 12 - Waterfall blueprint increases the gravity of characters when they overlap the waterfall area.

The waterfall volume is created by making a bounding box with a cube with a translucent blue material applied to the mesh. The cube will be a temporary marker so that the player can see the bounds of the waterfall volume and will be replaced for a waterfall asset. To make the player be forced towards the ground I increased the gravity scale of the player when they entered the volume and when the player left the volume the gravity scale would return to the default gravity scale.

Fig 13 - Obstacle that teaches the player about changing size with the waterfall volume

Fig 14 - Waterfall blueprint reduces jump max hold time to prevent players from jumping under the waterfall

After some testing with the waterfall volume I decided to increase the gravity scale of the player when they enter the waterfall volume so that the play gets pulled towards the floor faster. When the player enters the waterfall volume I set the JumpMaxHoldTime to 0 so the player is unable to jump as I found it was still possible to jump between the platforms.

Fig 15 - The player can no longer jump through this section due to the waterfall

Fig 16 - Completing the size changing obstacle as I intended

With these changes to this obstacle the player is forced to the expand ability in order to complete the section.

When you are convinced that it’s the perfect tutorial just realize that it isn’t and you’re totally wrong and that you have to playtest over and over again
— Asher Vollmer, GDC (2016)

Fig 17 - 21/01/2019 Portobelly Playtest

The two players in the playtest were classmates and they gave these pieces of feedback after playing the game

I really like the mechanics and it was quick to learn. I found the jumping quite weighted but I think that was to do with the size change.
It was a decent introduction to the mechanics
— First player
The speed and momentum of the different sizes felt apt, but with the jiggly nature of the character, it feels wrong to come to a dead halt when you hit a wall.
I liked the waterfall bit, that was a nice surprise, to have underestimated the physics of the game and then be proved wrong, and have to adapt.
— Second Player

They both raise good points about the movement and mechanics of the game. These responses seem to match up with their experience during the playtest as the first player managed to get through the two obstacles within the level quickly and instantly solved the waterfall problem. The second player’s response also matches up with their feedback as they fell on the waterfall obstacle on their first attempt.

I agree with the points raised by the second player about the movement of Belly. To resolve this issue with Belly, I plan to make him bounce off objects slightly when he collides with them at high speeds. This should make Belly’s movement feel more natural.

Fig 18 - Belly can get stuck in platforms that are different heights

During the playtest, I found that players were still having problems with getting stuck between object. To partially solve this issue, I increased the radius of the sphere traces from the player. Doing this checks a larger area than before, for walls that the player could potentially collide with. This fix still needs some tweaking as the player rarely gets stuck in the terrain but I would like this to no longer to be an issue.

Fig 19 - Sphere traces changing radius size based on Belly’s size

Fig 20 - Sphere traces change radius depending on Belly’s size

 

Figures List

  1. Rees, O (2019). Changing Belly’s jump hold time from 1 to 0.5. [Offline]. [Accessed 22/01/2019].

  2. Rees, O (2019). Changes to the jump velocity based on Belly’s size. [Offline]. [Accessed 22/01/2019].

  3. Powell, W (2019). Feedback about the changes to the jump height. [Offline]. [Accessed 22/01/2019].

  4. Rees, O (2019). Basic obstacle that teaches Belly the jump ability. [Offline]. [Accessed 22/01/2019].

  5. Rees, O (2019). The first obstacle Belly will encounter that forces the player to learn how to jump. [Offline]. [Accessed 22/01/2019].

  6. Appiquette (2012) [online]. Super Meat Boy Walkthrough 1-3 - The Gap. YouTube [video]. 8 September. Available from: https://www.youtube.com/watch?v=Xh8sZkaPIZg [Accessed 22/01/2019].

  7. GDC (2016) [online]. How to Make Great Game Tutorials. YouTube [video]. 24 August. Available from: https://youtu.be/Uf7xLHUpKHE?t=313 [Accessed 22/01/2019].

  8. Rees, O (2019). Obstacle that teaches the player about changing size. [Offline]. [Accessed 22/01/2019].

  9. Rees, O (2019). The second obstacle can be completed without utilising the size changing ability. [Offline]. [Accessed 22/01/2019].

  10. Rees, O (2019). Waterfall component setup. [Offline]. [Accessed 22/01/2019].

  11. Rees, O (2019). Waterfall components in the viewport. [Offline]. [Accessed 22/01/2019].

  12. Rees, O (2019). Waterfall blueprint increases the gravity of characters when they overlap the waterfall area. [Offline]. [Accessed 22/01/2019].

  13. Rees, O (2019). Obstacle that teaches the player about changing size with the waterfall volume. [Offline]. [Accessed 22/01/2019].

  14. Rees, O (2019). Waterfall blueprint reduces jump max hold time to prevent players from jumping under the waterfall. [Offline]. [Accessed 22/01/2019].

  15. Rees, O (2019). The player can no longer jump through this section due to the waterfall. [Offline]. [Accessed 22/01/2019].

  16. Rees, O (2019). Completing the size changing obstacle as I intended. [Offline]. [Accessed 22/01/2019].

  17. Owen Rees (2019) [online]. 21 01 2019 Portobelly Playtest. YouTube [video]. 22 January. Available from: https://www.youtube.com/watch?v=_RSJOy_03LM&feature=youtu.be [22/01/2019].

  18. Rees, O (2019). Belly can get stuck in platforms that are different heights. [Offline]. [Accessed 22/01/2019].

  19. Rees, O (2019). Sphere traces changing radius size based on Belly’s size. [Offline]. [Accessed 22/01/2019].

  20. Rees, O (2019). Sphere traces change radius depending on Belly’s size. [Offline]. [Accessed 22/01/2019].

Bibliography

GDC (2016) [online]. How to Make Great Game Tutorials. YouTube [video]. 24 August. Available from: https://youtu.be/Uf7xLHUpKHE?t=251 [Accessed 22/01/2019].