top of page

Week 10: Book Gameplay Prototype

Updated: Jan 16, 2020



Testing some Initial Ideas

At this point we were coming up with some ideas based on gameplay and mechanics but were struggling to put a finger on one, so we decided to prototype some ideas to see how they might actually play. We wanted to work on the story book transition idea first as we were having trouble visualizing it.


We decided that we wanted the player to have some sort of control instead of just going through an animation so we decided to add some interactive elements in the storybook gameplay like hovering over the book to reveal some sort of rune which you can interact with to uncover text and eventually play through a simple 2D level. Abbie decided to make a simple animated prototype while I started to make a prototype in Unity. We wanted the player to feel like they were in a storybook as our main character Maive narrates the story as you play along.

Unity Prototype

On the other hand, I was having trouble deciding the most efficient way of dealing with text transitions and interactive elements. I tried using Unity's Text Mesh Pro for implementing the text but i felt like there could be a better way of doing it. For the sake of rapid prototyping I used Unity's Particle System to quickly implement the text elements. The prototype was to show how you can interact with the story book world by uncovering runes and playing through the story as the story is being told along the way.



The most important thing was to have some sort of visual feedback telling the player that its a special rune and to do that I added a simple gradient to the Color over Lifetime tab. I asked some of the students around if they could identify any interact-able text among the rest of the text and it was clear that people could identify which piece of text they could interact with

After setting up the particle systems for runes and text, I started scripting them. I made different particle systems for each section of the prototype that will activate and deactivate when needed. I have a fair amount of experience with scripting particle systems so it did not take me long to write this piece of code.


In the start method I decided to stop all the particle systems so I could activate them one by one as the player discovers them by hovering the cursor over the book. detectors[0, 1] is a gameobject that stores different triggers that trigger specific particle systems when the mouse cursor collides with them. This made it so that I do not have to time anything but rather wait for the player to discover these triggers.


The triggers are a cube with the Mesh Renderer set to false so you can not see them in-game.


The next thing I had to do was making it so that the system could read my mouse position in game and to do that I needed some assistance so I did some research online and found some articles and videos that explained how this can be done in C#. This made it so that I could use my mouse movement in world space and the Vector3.Lerp made the movement smooth. Also, I made it so that the Mouse does not calculate the Z-Axis and moves only in the 2D plane (X-Y Movement). I attached a Cube to the mouse movement and added a trail of particle system to it so that the player knows where the cursor is moving also adding some nice visual feedback to the entire thing.

Next thing was to make all the triggers work and have a logic that allows activation and deactivation of these triggers and particle systems so the player cant speed run through this. In total there were three things player has to do.

1) Find the runes

2) Interact with them by clicking on them to reveal the text behind it

3) Character runes turn into playable 2D characters that the player can control.

So far I have designed the Rune particle systems, Triggers and the Mouse movement. For the implementation of this design I used a structured if-else logic that enables, disables and destroys gameobjects after one task is completed.

As mentioned earlier, everything initially would be set to false except for detectors[0] which is the first trigger. After the player finds this trigger it deactivates this triggers after 1.5 seconds, while activating detectors[1] (second trigger) and the rune. The player can now find the second rune and after doing so the second trigger is deactivated, revealing the final rune. Now the player can interact with the Text Rune to reveal the text behind it.

To detect a mouse click, I used a Raycast to find any gameobjects that it hit and used that information to activate the Script enabling the player to read through the story. After a few seconds of reading through the story, the character rune would come to life which the character can control and play through the story. Just as a final touch, I also added a little visual feedback for when the character collides with the triggers to let the player know that they have achieved the hurdle.



I also made a quick dissolve effect for the sake of prototyping to give the players how the transitions might look in the end. This was not really a part of the final prototype but was just a test to see how I might do it later.

After finishing up the prototype, I tested it with some players. Players understood what it was trying to do but did not understand why we wanted runes, as our game idea did not really need them. I agreed and discussed this later on with Abbie and Kerris and they both saw the point.

Overall the feedback on this was crucial as we have been struggling with visualizing the transition between the 3D world where you play as Maive and the 2D world where Maive is telling a little story.

We all agreed on altering this idea and making it seamless like in a game called Devotion. For now, we will all do our research to make this section of the gameplay as interesting and innovative as we can!

Devotion, Gameplay







15 views0 comments

Recent Posts

See All
bottom of page