A Post-Mortem On Yú

Introduction

Yú is a 5 minute VR mindful experience that makes use of slow controlled breathing of which is one of the most common mindfulness exercises.

In Yú, the loop is short and simple. For one minute, in the beginning, the player is able to interact with the environment to help guide them into mindfulness, this includes, being able to make the fish jump up and over where the player points and clicks above the water level. Also on top of that, the ability to control the water with a slow two-handed push out to push the water level away, and a to pull back to bring the water in. After that one minute is up, the player is brought into guided three-minute breathing exercise (3 seconds breathing out, holding for 3, breathing out for 3 and finally holding their breath for a further 3 seconds. This process is repeated for 3 minutes). Once completing this exercise, the player is brought back into another intractable state for another minute before the game loops back. There are no scene reloads, the loop is fluid and smooth with no cuts.

In this post-mortem, I plan to outline the development process, assess and evaluate the failures and successes.

Planning & Documentation

For the planning of this project, after having a chat with our clients (both of whom are experts in psychology). We talked about mindfulness and the means in which to achieve that state. We came to the conclusion that what most works for our team is the breathing technique:

A good GIF that helps follow these steps:

A good GIF that helps follow these steps:

  1. For three seconds, breathe in.

  2. Hold breath for three seconds.

  3. Breathe out for three seconds.

  4. Hold for another three seconds

  5. Repeat steps 1-4 for 3 minutes.

After knowing the method in which we were going to achieve a mindful experience from the player we, from there, had to think about how we're going to go about achieving that state within the game in an organic manner.

Before we got started we were informed of some limitations of the VR hardware, some technical (including performance). We were also informed of what might take the player out of an immersive experience including colours that don't render well on the VR hardware and also, text can be hard for the player to read. On top of that, showing commands to the player in text form is not something we wanted to do - we can do better.

And so, we thought up our ideas and thought about how they’d pair with the limitations.

We took not just the technical limitations into consideration but time, skill and team size into the creation of assets in the project. 3D realistic models would better immerse the player, not denying that, but rendering that on what is essentially a phone (speaking of the Oculus Go) would not go well. So we thought we would cut back visually as much as we can to ensure there was no need to lower quality and pursue intense and time-consuming optimization.

So that meant no realistic models and no taxing water shaders.

Our design decision was made with limitations in mind. I believe this was an incredibly good approach on our part. By doing this the team had opportunities to approach design in a more elegant way to ensure our desired experience in the best possible way.

With our ideas locked in, we went through our usual process of documenting all our ideas out on paper.

There’s nothing really to be said about how we went about documentation, it was smoothly delivered on time and to rather a good standard. That consisted of:

  • Clear and concise details on features/mechanics.

  • Fully laid out and comprehensive high concept document

  • A really thought out art style detailed in the art bible.

This, as usual, made the implementation process smooth. Due to the detailed and thorough FSD, I was able to implement the enclosed features without worry or confusion. Without these well-delivered documents, I’m sure I would have struggled with direction and purpose. Although I didn’t even remotely and going forward we should and will be continued in further projects.

Steps to consider moving forward;

  • Focus the game’s design around the varying limitations of the project.

    • For example, if the hardware is ineffective at a particular aspect, save the drama and avoid that aspect and work the games design around that.

  • Remain diligent and keep maintaining the documentation for all projects moving forward.

    • Ie, Once a document is needed to explain an aspect of the game, it is completed immediately. Also at any time throughout the project, if it loses its similitude to the project - it is updated.

Pitching

For this project, we were to pitch two concepts that we thought would achieve a mindful state in the player and once they were pitched, we’d receive feedback to help iterate our ideas.

After getting the pitches ready and filling out an HCD for each concept of ours, we pitched the two ideas one after the other and since there were double the ideas being pitched than the usual, the quality of the presentation wasn't as good as it could have been. Although, it was very beneficial to be able to pitch two ideas, convey the idea well and receive feedback to help in the deciding factor on which concept to cut and which to proceed with.

When it came to my contribution in the pitching and the work needed prior, although I put in as much effort as I could, it was difficult for me with lack of motivation to do this kind of work due to my demotivating lack of skills in this particular area of production. I struggled to write the script for my sections of the presentation and I also struggled to put my slides together and to a higher quality standard. Pitching is a very important process and I need to understand its value and find the motivation to do the work and do it well. I believe that the more skilled I become in this area, the less and less I will feel demotivation due to the lack of skill. I’ve already noticed I enjoy it more and more with each go at publicly speaking.

Steps to consider moving forward;

  • Keep the - rather evident value in pitching concepts and the important work that leads up to their presentation - in mind. (Get involved more)

    • Pitching various ideas is something I'm going to do a lot of and I need to hone my skills in presenting them and the sooner I get good at it, the better. Although I believe I’ve come along way with the quality of my presentation there’s still much more to improve on. (Steps are already undergone to improve in this area)

Fish Movement

After pitching we decided on the riverside with intractable fish concept due to its achievability. We also believed, with feedback in mind, that it would be the one more likely to achieve a mindful state over the adjacent concept.

In this experience, the core interaction the player will have across both platforms (Oculus Go and Rift), is the fish movement. Since this mechanic was the core interaction, it went through some iterations but the core concept was always the same; the player can point and click with the VR controller and send a fish to travel around that point in an arc movement.

In the final version of this mechanic is 2D fish that jump up over the water level into the air and fly up over the selected point in space and drop back down into the water.

Originally I was confused by whether to do this with calculated points in space up and over in an arc. Or to do it with physics, a simple add force in the direction to the selected point in the air.

I decided on using physics because it would be a simpler implementation and also I believe it would feel more real and less predictable.

In the effort of implementing this, it wasn’t difficult to get working eventually. Although, there was the usual weirdness that comes with using physics. This was the result of simply overlooking edge cases and having hilarious bugs as a result. But in the end, the mechanic was implemented and it was as the creatives director has envisioned it.

Steps to consider moving forward;

  • Continue on making choices to better the player experience.

    • For example, the choice I made to use physics over calculating the arc movement.

  • Keep staying in contact with the designated creative director to turn the envisions of features into a reality at the lowest cost with the highest reward.

    • Implement their desired mechanics of the best achievable quality with resources (time, skill, etc) in mind.

Water Interaction

The next mechanic was an interesting one that too received iterations due to our change in assets (3D models to 2D) and perspective.

2017-03-01-06-56-19.jpg

The feature was only available to our oculus rift users due to them having two controllers instead of one and better hardware performance over the oculus go.

This particular mechanic derived from the calming movements from we has seen from Tai Chi.

Our desired behaviour was for the players to, with both hand, push forward and once fully extended, pull inward toward themselves. Repeating this process until they experience a calming state.

Here’s a beautiful drawing I did to demonstrate this feature:

Here’s a beautiful drawing I did to demonstrate this feature:

This mechanic was implemented by using something I find really cool and useful, a dot product.

  • I use this dot product solution to check the distance the two controllers are away from the player and feeding that result into the object that slides under the waves between two points.

    • This object uses that same result to move in a line under all the water sprites, having a min and a max point.

      • The furthest the player can reach with the controllers is the endpoint

      • The closest is where the player is.

  • The water sprites themselves do a dot product check on the object to lift up an amount depending on how close the object is in relation to them.

This mechanic was an interesting one to implement and like the fish movement had its moments in development of hilarious bugs. But in the end, I achieved yet again what was desired by the designers and I believe it added a great deal to the experience.

Steps to consider moving forward;

  • Put cool new/foreign solutions into practice to solve a problem.

    • When finding a new cool way that can solve some problems in programming - it's always enticing to band-aid slap this new solution onto every problem you encounter. What I need to do is keep any interesting new solutions in mind but not try to apply them to everything if it isn’t needed.

Marketing

Wow, never done one of these sections in a postmortem before…

Throughout the development of this project, we had the chance to market an in-development product to the public through Twitter. This provided a good chance to practice and experiment how we use Twitter for marketing, the type of content we show, the tone in which we tweet, how we each use our team or individual accounts to market a product that’s under production.

Initially, we thought to assign one person the responsibility to find what was valuable to post and post it themselves. Although, since we all had easy access to the shared Twitter account (@AChairTooFew) via tweet deck, we made the choice to tweet updates to our responsibilities of the project to the account (ie, I implement mechanics, so I would post updates about the new mechanics) and we would sign off on a tweet with the member to write it.

We had also struggled to decide on the right tone to convey in the tweets. We experimented with a professional tone but that felt weird so we went for a more, casual, jokey and light-hearted tone and we liked that.

In Example:

tweetexample (1).PNG

Additionally, the group decided to make a few tweets first to the group account before setting the account to public so that we had some content already in there before enticing people to follow us (nothing make me not wanna follow an account like no tweets...).

Although we had only made 6 tweets on the project, which wasn’t much but a start nonetheless. This process for our marketing was a great start and it got us familiar and settled in to make a lot more tweets to that same account in the future.

Steps to consider moving forward;

  • Continue to market the projects I’m developing.

    • The more I practice at marketing the better I’ll be and the less terrified I will be that the content I make public is terrible.

Conclusion

In conclusion, I have a lot to take away and put into practice in further projects I contribute to.


Ethan Tilley