Let us take you to a whole new learning experience deep down into your mind, heart and soul with the voice-controlled psychological horror game “The Voice Inside“, created for the Unity Global Student Challenge 2018/19.
- Just listen to your inner voice & follow your intuition! -
Control your journey over 4 different paths to the inner values, only by using your voice & let the inner voice guide you to find your way out. But be careful, the enemy is close - "darkness" is chasing you!
Inspired by the projects “One Hand Clapping” & “TerraChi”, presented by Unity Connect, we had decided to pair a life lesson topic with an audio based single player horror game, supported by a clean & plain design.
Main Preview Video
Old Preview Video
The Team Behind
We, as a team of two students from Germany, are proud to present you the making of “The Voice Inside”.
Student: Humboldt University
Concept, Art, Design, Modeling, Animation, Level Design, Music & Sound
"Let the voice inside guide you to give a thumb up, if you like the project ;D"
Student: TU Berlin
Performing Tasks: Idea, Programming, Game Design, Shader Development, Level Design, Music & Sound
"Sometimes (the way of) programming is a big Mystery"
We are proud to present our voice actors, who performed their lines for us without charging, to improve their skills and show their abilities to you.
Name: Luke Hall
Role: "The Inner Voice" - Guiding Part
Luke Hall is an ambitious and hard working voice actor, who has additional skills, such as audio editing.
He is also made good use of our tips and instructions. Make sure you check out his profile:
CastingCallClubName: Shelby Atkinson
Role: "The Inner Voice" - Narrative Part
Thank you for your voice actingProfile on CastingCallClub
Among innovative gaming and media systems as VR & AR, "Voice-Operating-Systems" are popular and high in demand, as seen with Cortana (Microsoft), releasing in 2014, after Microsoft had started their speech recognition system, operating on Windows Vista.
Today many different speech recognition systems, provided by several well-known companies, are becoming ever more ubiquitous in our everyday lives.
During the challenge process, the most heard comment from friends and others has been, that they've (personally!) never seen such an in-game "Voice Operated-System" before.
Challenge Theme - "Teach People Something New"
People of our modern age turn their backs by rifting apart & have already forgotten about the meaningful values of life, “Kindness”, “Trust”, “Patience” and others, that forms us to a good person and influences social behavior. Several of these valuable inner “items” of life are hiding in people’s hearts, these days. We just need to recover them, instead of hiding behind masks, even if it leads us over a challenging life lesson path.
To convey this meaningful message, we have created a game, that sends you to a journey to your own inner self & teaches you, how to act responsibly in an extraordinary way of playing an innovative voice-controlled horror game.
Relearn to listen to your inner voice, that leads you intuitively through the game. Take action, using your outside voice to give commands and control the main character to make it through the dark places of your heart. You will learn, that not every movement you will make is advisable, to avoid the enemy’s attraction.
To recover your inner values, you will need to pass 4 different paths, that teaches you different life lessons in various ways. You will need to make small, but impacting decisions, which will change your path to the final instance. Face a challenge at the end to test what you have learned.
Let it inspire you & learn how to use an unusual game-controlling system to recover responsible acting in real life, what means to learn something new, that you have already thought to be known.
The 4 Paths
1.) Path of Mercy, Kindness & Forgiveness (unlocked for the challenge)
2.) Path Truth & Trust (in progress)
3.) Path of Modesty & Selflessness (in progress)
4.) Path of Patience (in progress)
More paths & stages in planning
Find 3 collectible guiding lights and reach the 4th, the inner value of each path, to pass.
Navigate your character by using your Voice. You will know which commands you can use when you start listening to the inner voice. But here is an overview of all currently implemented commands:
Stop (wait/hold on) - stops the character immediately
Sneak - slow movement to avoid the enemy’s attention
Slow Down – decreases your current speed
Speed Up – increases your current speed
Move (go/walk) – normal speed
Hurry – lets your character run
Turn Right (right) – turns 90° right
Turn Half Right (half right, 45 right) – turns 45° right
Turn Left (left) – turns 90° left
Turn Half Left (half left, 45 left) – turns 45° left
Jump – short jump
Cover (find sanctuary/shelter) – character covers behind masks, hiding from the darkness
Push - moves objects (noisy)
1,2,3,4: chooses between answers
Exit Game (exits the game)
Aggrometer & Enemy
Watch out for "The Darkness"! - The Aggrometer is rising, when your character makes loud noises (jumping, running, pushing objects e.g.).
If it hits the critical level, it will immediately start hunting you. Look out for Masks to hide, or use your last chance running to find another save place & escape the enemy.
You can recover the Aggrometer. Just sneak, calm down or simply stop, to avoid the enemy’s' attention.
Follow the paths & recover your heart, by answering questions with 1 to 4 to pass the test.
If you have already understand the paths values (mercy, kindness & forgiveness e.g.) and own these attributes, your path will be easy to pass with some decent gaming skills.
If not, your path might be longer and more intensive, until you'll understand the meaning of it.
Design & Conception
For the implemented, innovative speech recognition system, we chose a modern, clean style, that supports the voice-control-based feature.
To create a suitable world look for the game, we had designed a plain & clean look, based on black-white contrasts (light & dark/good & bad/save & dangerous). We have developed an idea of the world, that is supposed to represent your inner self, a heart, or a soul, filled with darkness. Our aim is to put the player into a world, that feels dark and threatening on one hand and to give a save light place (save zone, end of challenge) on the other hand, if the player is on his right way.
In this connection, the main character symbolizes an “inner creature”, born out of the infected heart, because of the loss of the meaningful inner values.
- From scratch to the final contest version -
General Start of Development: 12/18/18
After the 2D Challenge, we found out about Unity Connects' Global Student Challenge. There was no time to lose. So we started with a long Briefing.
First Briefing Results
The results of the very first briefing.
It is pretty close to the version we have now. The commands for example, are even further developed. But we also needed to reduce some parts, because of the short time we had left and there are things we have decided to use in the close future, if we can not implement it in time for the deadline.
A tough scheduling. The main question: can we do everything in time?
The order has also changed several times as new parts were added.
Level Design Concept
"The real challenge is to understand, what the meaning of the hand-drawn conception is, that we made a few days ago than..."
Here is the solution:
The game is separated into 5 main parts. The main area in the center with the spawn section and 4 different learning paths.
The smaller drawing parts are objects and obstacles we are planing to place in.
Model (3D Modeling & Texturing): 12/21/18 - 01/02/19
Armature (Rigging & Animations) 01/02/19 - 01/23/19
The creation process of the main character was literally from scratch.
As a 2D hobby artist, I had never fully worked with 3D modeling, rigging or animation before, which gave me a real challenge, immerse into the subject matter quickly enough to make it in time. But fortunately it worked well and I had a great time, acquiring a 3D workflow.
After a day of research, I had decided to choose the reference images of an axolotl (cute look), a lizard (agile form and movement) and my favorite one, the little creature from the series "Legion" (by Noah Hawley), which has been the main inspiration to create a poor little clumsy being, which is supposed to represent the inner creature of a human being.
I started to merge all three inspirations into one image and finally the first sketch was made, which has changed several times then, during development.
Step 3 was to get familiar with Blender 2.8 (great free 3D software), and begin 3D modeling, working with the box/subdivision modeling technique and the edge/contour modeling method.
Here is the final version of the object/mesh. Think it looks pretty fine for my first time, making a full 3D model. What do you think?
Step number 5! Good warm up. Now: texturing time! I decided to choose the shading method in the node editor for a quick and clean result.
Showing one detail:
I used the vertex paint mode and set dirty vertex colors (by one click), to use it for different shades of black, highlighting several parts.
Finally baking the maps! It was almost a torture, waiting for my slow motion GPU to render the end results.
Much more interesting was the rigging part. It needed 80 bones to bring it to life. For the sake of time, I skipped the control bone part, proceeding with the next stage.
There is not much to explain here. I just tried out weight painting and failed several times, doing the extensions on the head, which took me a lot of time.
Last but not least, the final version, rigged and animated.
All in all, it was a pretty hard time, but I am quite happy with the end result! :D
Just tell me what you think about it and leave a comment, make suggestion for improvement, or give a thumb up, if you like it!
12/20/18 - (in progress)
DevLog: Search for a Fitting Speech Recognition System
Trying to build our own system would not be possible within such a short time
- Option 1: Unity System, which is only working with Windows 10 (but its working)
- Option 2: Research in Asset Store , most of the assets are using Google or IBM Watson (fee-based)
Final choice is the implemented Unity System because it is working out of the box.
First tests are looking good.
Choose between: keyword and dictation mode. Dictation mode seems to be faster, but needs to be activated in Windows
- ToDo: fallback to keyword system later
Programming keyword -> action catalog
- Speech recognition System is not 100% accurate
- Solution: connecting several keywords to one action
- Short example of how the "Action Resolver" is working
Trigger Word Issues
We had some trouble with the trigger-words,
because the dictation mode, which was changing the words to gave a quick response, which meant, that the speech recognition system gave hypotheses about the incoming phrases (guessing the words) and sometimes words, such as "run" triggered the commands "run" and "right" at the same time.
Therefore we had to change some trigger-words to avoid this collision.
On the other hand some words, such as "hide", didn't get recognized at all. So we had to change it to "cover".
Shader System, UI Animation, Custom Scripts
We wanted to use a shader that gives our game a unique look, simulating thesmall, restrictedfield of view of our character and the bizarre look of your inner self.
We came up with a solution that uses local vertex displacement in the world-y direction and a shifting texture to get some movement into the objects. Apparently, it was important to add tessellation to the objects to have enough vertices to make the effect look well. It took some time to figure out how to wield the mesh vertices, to avoid gabs between the edges.
The small field of view is simulated with a distance color changer that transits it between black and white. Also the normal map is simulated to remove the light on the black areas.
Additionally we added a strong depth of field effect to the camera to avoid objects being visible in the distance.
Custom Action Script
We needed a tool to trigger custom events (Unity events, movements, scales, colors etc.). Because it would take too long to write a script for every event, we came up with an easy system that inherit from a main action script. So its very easy to add new actions to the container script.
The script slides a value between 0-1 with many different settings so every add-on is catching the value and remap it to a new custom action.
With this approach it is really easy to add new actions like moving along a path.
As you can see above, it is really easy to add new actions to the script (left example rotation; right color transition)
Final result (below) is working and looking good so far:
Cinemachine & Timeline
We added Cinemachine & Timeline for our intro and (ending scene).
It was very interesting to use it for the very first time. We added Cinemachines' dolly track driven virtual cameras & played around with the camera movement animations, until it was fitting. The intro animation of the game has been added after that.
While editing, we encountered some problems with the camera transition (main camera interfered with the main camera from a different scene). So, we used the tutorial videos, provided by Unity, to fix the problems.
The first version of the animation controller was not organized well.
We used a blend tree to smooth the animation transitions, driven by the current state of the character.
During the challenge it felt like climbing up a hill, to fall down and climb it up again, to fall even further. But in the end, we have finally climbed the hill and improved a lot, what has been a hard but really interesting journey!
Thank you for all your views, comments & suggestions, that gave us a lot of motivation!
- Music & Sounds: Pond5, Audiojungle, Music: Universal Sound FX (Asset Store)
- Credit Music: "Shadows" by The Bends
- Fonts: "Megrim" by Daniel Johnson; "Hacked" by David Libeau
- 3D Model: Heart - Sketchfab (Game -Ready Studio)
- Blender 2.8