Chapter 1: The Setup
What to make?
At the beginning of the year, we talked about what project to work on next- we loved making animated jigsaw puzzle apps and I'd be happy making them for years and years, but unfortunately larger forces beyond our control suggested we move on to a new type of project. We were both really interested in learning Unity, and how to make a VR game. Previously we've worked in Corona (great engine and amazing community) but for VR we needed a big 3D engine, and Unity came with all the bells and whistles we needed so Unity it was.
I had wanted to do a fairy tale game for a while- if you've seen my work, it's no big stretch to imagine I love fairy tales! We were overwhelmed by the choices, so we narrowed it down to three (I believe it was Sleeping Beauty, Cinderella or Puss in Boots). Our original choice was Sleeping Beauty, but once I got into the story and trying to think how to translate it into a VR game, it wasn't quite jelling in the easy way that Cinderella seemed to lend itself to the medium. The story was a little kickier, there were some fun characters involved, and Cinderella is awake for the whole story which is a plus for a protagonist!
Chapter 2: Planning out Development
Breaking down the Gameplay
After we had our story, we had to break it down into parts. We mapped out the script into three main acts- getting to know Cinderella and her life was Act One, going to the Prince's Ball was Act Two, and the shoe fitting and ending was Act Three. The general plan was to play out the story in a 3d environment using 2D characters- I've done a lot of 2D animation for our other games and the softwares fit together so we thought it would be a fun style. So the story plays out in front of the player, and they jump in occasionally to "help out" with an interactive game.
Who does what? Setting up the teamwork
We sketched out basic game ideas, we had our basic scenes. Then we decided who would do what. I've done the art for all of our other games so I volunteered for art again- I'd put together the 3D sets and do the character art and animation and whatever other design we needed. I also took care of the the script- it's not perfect but I'm proud of it. Scott has strong programming skills so he worked on getting the interactions working in Unity and VR- taking the scenes I put together and making them come to life with interactive objects, particles, and all sorts of fun stuff. Since we are a two-person studio with limited time, we decided to create what we were reasonably capable of, and out source the rest. We purchased a good amount of 3D assets- while I'd love to learn more about 3D modeling I didn't have enough skills for a project of this level. We also sourced music and sound effects, and will be hiring voice actors.
Fun fact, we need dialog to work out the animations and the scenes and timing but didn't want to hire voice actors right away. Since the game will be changing slightly until it's done, we decided to put off the voice actors until the end when we had a finalized script. So in the meantime, I recorded the computer talking for placeholder audio- so all the characters have digital Siri-style computer voices. I've gotten used to it by now, but I'm sure having real non-computer voices will add a lot.
Chapter 3: Tools We Used
What software/systems to use?
We had both decided on using Unity for this new project, since it can be 2D, 3D, VR- and seems like a good one to know. We've used Dropbox for file sharing in the past, so that one was easy. We have both an Oculus Rift and an HTC Vive between us, and both also have mobile VR gear, but we decided to work on just Oculus/Vive since the controllers are similar. My hope is to also port a gaze-control version for mobile one day, but I have a long list of things to do one day, haha.
The biggest question was version control. With our apps, many of them were easy enough to work on without version control. As we got into Disco Cats however, we started using Git and Bitbucket so we could both work on the Corona-based game without stepping on each others' toes.
A quick Google search revealed that PlasticSCM was the preferred version control software for Unity but Git/Bitbucket could also be used. Trying to keep the budget down, we went with Git (PlasticSCM asks for a monthly fee). It definitely had a learning curve as we got up and going, and we ran into more than one problem- somewhere between Unity and Git I'd overwrite prefabs that would erase script assignments and bug everything up- still not sure exactly what we did there and we were able to untangle/rewrite everything again (Sorry, Scott!!), but I was left wondering if PlasticSCM would have averted some of these Unity-specific issues.
But, at what cost??
(probably 10 months of a PlasticCSM subscription)
I'll go more into the art stuff later, but we also used Esoteric's Spine software for the animations- they were importable in to both Corona and Unity, so I was happy to have familiar software to work in.
A game cannot be built on Unity alone! Actually, it totally can be. But we had some other random needs. We're across the country from each other so we needed a chat- we'd been using GChat for years so GChat it was. I liked the ability to archive important conversations- we hashed out a lot of dev plans in GChat. Unfortunately searching was sometimes difficult and we are chatterboxes with a quickly moving chat log, so anything super important I manually copied and pasted in the master Spec Doc.
The Spec Doc is the central document for the game- it's stored on Google Drive and shared between us. I created it to keep track of our sprawling project- characters and sketches, scenes and diagrams, descriptions of scenes, minigames, marketing ideas, game tutorials, and just anything else that was important to keep track of. Going back it's a lengthy document but all the stuff in there is super important.
There's also the Asset Sheet, a Google Docs spreadsheet that lists out 1) All the scenes and our progress on various tasks 2) All the animations needed for each scene and character 3) Just long lists of 3D assets to keep track of what we downloaded from where 4) I know there's more than 3 sheets in there but I think one is just more 3D asset links 5) Also there's a list of audio sound effects, background music, and voice actor links. It's really the sheet I work from the most.
There's also an expenses sheet, which I'll talk about later.
Trello was the other big win, we kept our tasks going and color coded on that for a while, although we both deviated off and on with text file/email lists and Trello lists. The thing I like about Trello is the mobile app- I'm often on the road while making this game and can't immediately access my computer, so if we are chatting on mobile and I have to jot a few things down I can do it with the Trello app and have it saved.
A few others: Text Edit for notes, Photoshop, Procreate and Spine for graphics, Quicktime for recording temporary dialog and taking screencap movies of strange bugs. Terminal for fussing around with Git. Chrome/bitbucket to make sure I haven't mucked up the Git repo. Weebly for a website. Game Bar for screen recording for the trailer.
Hi! It's me, Laura!