Name | Pick Your Potion |
Engine | Unreal Engine 4 |
Platform | PC, VR |
Time | 6 weeks |
A VR fantasy cooking game for Oculus Rift and HTC Vive in Unreal 4. I co-developed all the functions, gameplay features, level-scripting and optimized the performance for VR. Won “Best execution in Audio” and “Best technical Execution” at The Swedish Game Awards 2017.
Gameplay Mechanics
Game Design
When tasked with designing the gameplay the team decided to, due to time constraints, apply the philosophy that we should design our game around the strengths of VR and avoid the pitfalls.
During testing of other products we found that movement never felt good enough. Either movement was really slow (to avoid nauscea) or solved using teleports. We designed our game around a stationary character.
We also found that the most enjoyable things in VR was to muck around with stuff. Lots and lots of stuff. Manipulating objects we found to be the most satisfying interaction.
After some prototyping we found picking up, dropping, cutting, pouring, stirring and hitting to be our favorites.
We also tried throwing, bouncing, using a mortar and several other activities where you use your hands. We decided not to go further with them as the satisfaction of these actions relied heavily on physicality of the objects. Since virtual objects have no weight or resistance when manipulated the was a cognitive disconnects between the action, the feeling and the expected results.
We decided on a game where you make magical potions á la carte. Looking up recipes (and making sure the customer isn’t allergic to any specific ingredient), gathering and preparing ingredients, cooking up a stew, pouring it into a flask and (hopefully) delivering the finished potion.
UX
Magically grabbing a book
When grabbing a book from the book shelf we needed to open the book in a magical fashion.
To counter the lack of mobility and the large amount of ingredient-types we gave the player the magical power to “force grab” objects from afar.
Our highly detailed opened book could not fit on the shelf, so a closed version was created. This closed book needed to open and close to the correct page every time and the switching between the two versions needed to be seamless and invisible to the player.
To make the illusion work we use a total of four meshes. The back and the sides of a closed book, which is what is seen when the book is standing on the shelf and the full opened book, which is just one mesh with the texture of the current information needed from this particular book (a recipe).
When a book is grabbed by force and it hasn’t been opened yet, we trigger the events “open left” and “open right”.
These events animate the left and right hand side of the book by rotating them. This happends while the book is travelling in air. As soon as both sides a re fully opened we quickly hide the back and sides of the book and instead show the full opened book (which was hidden before).
The animation is run backwards if the player throws away the book (as it magically moves to its place on the book shelf).
Dynamic Cutting
To cut ingredients into pieces we developed a system where we cut procedural meshes with a plane at the point of collision and angle of the knife. The cut was immidiate and gravity effected the slice immidietly.
However, there where issues with communicating the slice to the player as many slices didn’t visibly move from their original position.
After many failed attempts using visual feedback (think cheesy 60-s TV Batman) the solution was very simple. We added a very small impulse upwards on the sliced piece to make it “jump” slightly.
Here is the effect exaggerated for clarity: