Let me just front out and say it, I’m not the best coder. I only had about one month to develop my prototype on the Vive. So to prevent myself from pulling out my curly hair and raging at what the hell is wrong with my syntax, I decided to do visual scripting.
Visual Scripting, The Saviour
In the past I’ve used Playmaker in my first year of college. I was hoping to go back into that tool, but the price was $65 USD, which calculates to about $80 CAD. So I looked up other — free or cheaper — tools I could use, and found uScript. This tool had a free learning edition, a basic version for $35 USD and the full version for $135 USD. Sounds good to me.
Learning version of uScript available for free on the Unity Asset Store.
I started diving right into the tool, experimenting with it and looking at their official documentation. I found the documentation to be helpful when it came down to getting an understanding how it the entire tool works, but I was not getting enough information on what sort of nodes were available. Fortunately, I found a YouTube playlist by Brent Farris that goes over the basics and even covers some common nodes one may come across using. I highly recommend checking out this playlist if you are interested in using uScript!
There’s are shit ton of nodes in the tool, which is fantastic, but also extreme overwhelming because it was hard to find the right one I was looking for. I spent a majority of my time searching up my questions in uScript’s forum, which helped me a lot.
Here’s how my node map started off looking like for the main gameplay scene.
Early process screenshot of developing the game’s system, and dialogue tree using the visual scripting tool uScript.
Basically here is what is going on:
- Start Todd’s Dialogue instantly. He is immune and moving around the player.
- Turn on the Right Trigger’s collider and play Todd’s rambling dialogue at that location. This is where Todd will be located for the Intro Round. He is vulnerable and the player is able to stab him.
- If the player stabs him (Player’s controller enters Right Trigger), Todd will react to being attacked with a reaction dialogue line. Also, the Right Trigger turned it’s collider OFF.
- After the reaction dialogue is said, Todd will go back to moving around the player, immune, to give the player time to get ready for his next move.
- Todd is now located at the Front Trigger. Turn on Front Trigger’s collider and play Todd’s rambling dialogue from there. This is a new round, so he vulnerable and the player is able to stab him again.
After a few days and over 250+ nodes later, the game turned into this:
First complete draft of the visual scripting map of the entire game.
Oh boy.
Overall, my experience using uScript was great. I hardly run into any problems. When I did, it was usually something stupid like forgetting to save my node map before going into Play Mode. I’m definitely going to look into buying the Basic version of the tool.
Developing for VR… Without VR
The VR setups for the SPF90FPS program was at Gamma Space in Toronto. I was welcome to come in any time to work on my game there which was awesome! However, I could easily develop at home when I don’t necessarily need to test with VR. Working from home also means less time commuting and more time developing! I would go to Gamma about two times a week to plug my game into VR to check to see how it functions and plays.
So at home I don’t have VR, so I created my game using a third-person controller at first. Whenever the player hit the right Trigger Box, the dialogue went off. I was able to play a complete run-through of my game, and it ended up being around 3-5 minutes long. Which is pretty good for a game made in one month on my own. Later, I went to implement it into VR at Gamma. I come home and the project file crashed on startup and was broken. Thankfully I had a backup of the game before I implemented all the VR packages, so I was able to keep working on it at home. ALWAYS HAVE BACKUPS FRIENDS. ❤ HEY YOU READING THIS, BACK UP YOUR STUFF NOW.
The following week I head back to Gamma, this time leaving backup files on the computers there, and also re-opening all my updated files with the VR content onto various different computers to make sure it didn’t crash. Luckily, it didn’t and I went home to a working VR project file! Yaaaaaaay.
The game prototype using, at the time, a third-person camera. This was the VR file brought home successfully. What a momentous day it was.
Once I got VR working in my Unity project file at home, I decided to switch over to a FPS camera instead — since VR is first-person after all! Over the weeks I would create a new save file and bring it to Gamma and toggle to the VR camera. I got to spend hours there testing in VR and adjusting content that I wouldn’t be able to do at home, so I made sure to have a priority list and backlog of what needs to be done first before heading home.
Creating Dialogue Placeholders
Because this game is mainly audio, I had to have audio in my game in order to prototype it properly and get a better sense of it’s timing. I had friend interested in doing temporary dialogue to help out, but unfortunately I realized it would take up too much time to work on something that will not end up in the final game. So I went to www.text2speech.org, to get some robo voice dialoge of my writing. I typed in my dialogue lines and it created audio files in a automated robotic voice. It only took about 20 minutes to get all the lines produced, and I was able to quickly drag and drop them all into uScript. Only bad side was… I felt so uncomfortable typing in all my foul-mouthed disturbing dialogue into an online converter. And then later on, I found out that Adobe Audition has a new feature that does exactly that… offline! So I’ll be using that for future projects. The more you know.
Text2Speech.org
Recording The Dialogue
I absolutely love voice directing. Getting to spend so much time designing and writing games and then finally hear your story coming to life is such a magical feeling. So of course, this was one of my favourite parts of this VR dev journey. ❤
I only got to do about two drafts of the script before realizing I have’t even organize recording sessions. So, uh, the voice recordings were literally done three nights before the party. I unfortunately forgot to put out a casting call earlier, so I quickly message VO actors I’ve worked with on Disco is Dead! — my previous project. Luckily, one was available and happy to play Todd the Ghost, and I also got my friend’s boyfriend to take on the smaller role of Brad. I was hoping to do recordings the week before Damage Camp, however one of my VO actors lost his voice! So it had to be pushed to a later and tighter date. Thankfully he healed and it all worked out! I still created a tiny casting call package and sent them the scripts and reference material. To see the scripts and reference material, check out Part 2: Narrative & Comedy Design.
Brad
Brad is a minor character of the story. To establish the VR game’s story, Brad leaves a voicemail for the player in their office before heading into the game. The voicemail states the player’s objective, which is exterminate Todd. I was lucky enough to get my friend’s boyfriend to provide the voice. Brad is meant to be a normal, typical nice guy — whose personality is highly contrasted to Todd’s profanity, thus being a foil. Todd quote “fucking hates Brad.”
Because this was only 1-3 lines of dialogue, it was not worth my time to go all the way to Gamma Space just to record it. So I found my old-school wired Sony microphone I had since high school. The cord wasn’t USB so I had to use my Mom’s older laptop, so I had to install Audacity in order to record with it. Because it was a phone call dialogue clip, I recorded it in various different ways with different phones. We recorded it on it’s own, recorded it through my friend’s mobile voicemail, and recorded it through my home phone answering machine. I ended up going with the one that was recorded through my friend’s voicemail, cause it felt more authentic. The plus side to recording it this way was that I didn’t have to spend time editing and designing the sound to seem like a phone call!
Todd the Ghost
Since Todd is the star and his voice is very very important to the game, I needed a better audio setup than a long wired-Sony microphone in my living room. Also… I needed to record in a space that was quiet and also where people would be comfortable if my VO actor screamed and threaten terrible things… without calling the cops. Luckily I got the opportunity to record at Gamma Space in the evening hours (Thanks Robby)! I got to use a Zoom H6 for recording. I’ve had experience using a Zoom H4 and Zoom H5 for past projects, so I was excited to try the newer one. With this setup I was able to record crisp audio with hardly any white-noise, pops or muffles… and thankfully no one called the cops.
Left to right: Zoom H4, Zoom H5, and what I used for this project: Zoom H6.
Here’s some behind-the-scenes of recording Todd, who’s voice is provided by my (insanely talented) friend Paolo! Note how highly expressive and loud these recordings had to be.
Click here for Part 4: Playtesting, Showcasing & Accessibility!