Launch Pad Blog 8/27/17
‘Scenes 2-4 Alien Spaceship’ progress:
Thoughts from week 10:
I spent a lot of time working on the game this week! A lot of the work was implementing sound effects that Rob made into scenes that Allison made.. We’re doing the work in a couple passes. Today we got together and select the final assets we need to put together a level. I learned that importing old light maps is not worth it.. I’m talking about lightmaps generated previous to unity 5. They don’t really work right, and they take a long time to process when the project ‘reindexes’ itself. I ended up throwing them out, and rebaking stuff. The baking didn’t take too long on my dev machine.
I also spent time picking apart some code that Unity made for VR. This is from the standard Unity3D VR samples.. And there’s a nice event-based system for handling ‘On Over’ and ‘Over Out’ events for looking at things. I’ve been taking that code, and modifying it to make features to deal with things like triggering audio sources. The audio source trigger code I’ve taken apart a couple times so far. The first attempt worked pretty well, however, I decided I wanted a bit more polish on it. When the player looks at a sound object, I want it to take x amount of seconds before it ‘activates’, and when it activates, start playing the audio. When the player looks away from the audio object while it’s playing, then fade out the audio from 100% to 0 over x seconds (about .5 – 1 seems good). In addition, I ordered a couple pairs of bluetooth headphones for testing on GearVR. Here’s the link to them , they are inexpensive and pretty good quality. Our game uses a lot of spatialized audio, so we’re going to recommend people use headphones to play the game.
I learned something about building this week. The AndroidManifest file I use for building for the store, and the file I use for building wireless for development, are slightly different. So I figured out the relevant differences in the files, and saved 2 different versions of AndroidManifest, one for local development, and one for publishing, in a folder outside the Danciverse Unity project. Then I wrote a simple script that will ‘swap’ out the file on command for whatever I need. This is helpful, as I like to test locally as I go along, but I frequently want to test on the Oculus Platform to ensure things are as they should be. Along those lines, I’ve cleaned up my ‘testing on Oculus Store’ workflow a bit. I was putting on the headset, and using the GearVR VR app for managing the installation and upgrades. Well, at some point around build number.. 40 something… I ran into a bug where I couldn’t update or uninstall Danciverse anymore. This was odd to me, and I tried several things to remove it including using the ‘phone’ version of the GearVR app. I tried things for about an hour, and eventually reach out to Gabor… who heard my story, and replied with ‘do adb uninstall ’. Just like that, problem solved! I probably should have thought of that.. So I took that uninstall command, and added it to my ‘ship to unity’ script. Now the script will delete Danciverse from my phone wirelessly, and then I go into the GearVR application on the phone to ‘reinstall’ Danciverse.. I’m not fussing with the upgrade option anymore. As far as I can tell, ‘upgrade’ downloads the entire game again anyway. The last part of this setup is to optionally turn on GearVR developer mode. Developer mode makes it so a GearVR app will run without snapping the phone into the visor. I’ve spent much of my time learning to work with the hardware, and developing tooling to make publishing easier, and I can see where as a studio our iteration time between concept to working demo has come way down. These scripts, lessons, and ways of doing things I’ve learned over the last three months have been invaluable not just for the production of Danciverse, but for the VR products we plan on creating in the future. My mentality from the beginning of my adventures in VR has been to create a ‘studio’ rather than a single title. So these lessons learned at OLP have gone right into our production model. Thank you for that!
This week coming up is going to be about player mechanics, and scene optimizations. The trick for me is to stay just ahead of Allison and Rob on art and sound so when we work on Danciverse, we can focus on those elements. During the week is when I do most of the development work… create features, fix broken stuff, figure out how to ship things as smoothly as possible, and then general production stuff. Many, many checklists and a calendar to manage. It’s interesting to balance production management as well a being the lead developer. In some ways, wearing both of those hats is an advantage. Having the experience of developing my own work gives me pretty good insight as to how long things really take to build, as well as what elements are complicated vs complex. I’ve been a software developer for just over a decade, and a business owner for 5 years, and I’m finding those experiences to be helpful in producing VR content.
Well, that’s it for tonight! Good luck out there, a couple weeks left to go! Hey if you’re OLP and reading this, and have not uploaded a build yet, I encourage you to try it this week! Stuff can go sideways at times, it’s good to get ahead of it now! Imagine that Garbor is going to be busy real quick as this comes to a close. Do it! Do it now! You will feel better having that figured out.
Until next week!