Launch Pad Blog 7/2/17
Game Design Notes:
Arabian Knight Sound Track:
The build process went.. pretty well at first. I did run into some issues. For example, while I was able to get a APK build to work from unity without the oculus SDK, I was not able to get the the Oculus Utilities 1.16.0 to work with Mac Sierra OS.. various places on the net seems to suggestion mac support was dropped by oculus. Eh, for now I can let this go, i don’t *need* to build APKs on my laptop. I plan to do builds from my Windows 10 machine.
So I configured my windows 10 machine, ‘beast jr’, to build GearVR ready APK’s.. only a few hiccups there. I’m using Unity 2017.1.0f1 and Unity Collaborate as a way to manage the project with my art and sound directors. When they downloaded the Collaborate project, it caused an error on their side, something about OpenVR was missing. This is odd because the original project only used OculusVR.. anyway.. I re-created the project again from beast jr and shared it on collaborate fresh, that ended up fixing the issue.
I’ve taken the majority of the lessons I’ve learned about optimizing the ‘build’ settings for GearVR and applied them to this project. I’m at the point where I’m pretty happy with the build iteration time (using USB debug builds, direct to phone, click into headset.. skip the APK install routine). The next time I sit down for an hour to work on my build processes I’m going to setup wireless building and logging! After wireless build and logging, I should have my iteration time down as low as possible.
So far I’ve build a few technical tests. One test I’m trying to figure out a good balance between speed and graphics. I’m exploring the effects of low poly unlit shaded humanoid models with high quality motion capture data. Early test are showing me that this might be a low processing intensive way to communicate some engaging story through movement. I’m also testing the VRSettings.renderScale to make the graphics look sharper. VRSettings.renderScale get expensive quickly, so that’s another balancing act.
The GearVR controller is pretty darn cool. I built the demo project to the phone and tested it out on GearVR. There’s a panel that floats in space with a bunch of data on it, which represents the various states of the GearVR controller’s state.. button up, button, down, etc. Seems there’s also a secondary set of data, so I’m guessing this demo could be used with the Rift Touch as well. See how the data works is giving me some idea of how to implement fun mechanics into the game. The demo runs very slow.. doesn’t even get close to 60 FPS, so it’s choppy, but this is probably due to no optimization and just crazy amount of calls per frame. This
sample will act as a good beginning point to working further with the controller.
Game Design notes:
Where to being? Agency. Agency is key to what we’re making. I find the more agency I have in a VR game, the more immersion i feel. I think agency gives the mind something else to focus on instead of ‘I have a visor on my head’ or ‘I’m moving but my inner ear is not’. I think the user can forgive a lot if they are really engaged with what’s going on.
Branching. I’ve kicked around a few ways to make it interesting to go back and play the same ‘level’ over again, and the idea that the user can ‘pick’ a path to the end is where we’re at. High level, we’re going to make it so the user determines a path based on passive and active inputs. Active, something like a button click, and passive as in the level reacting to what they are looking at. I have some ideas to try and use the microphone as well. It would be fun for players to choose this door, or that door, but not both doors in one play. Story wise, we’re working on something that encompasses a mini world, with it’s own larger objectives, played out on a smaller scale per level. We’re trying to keep mindful that it all needs to wrap into a nice package, rather than disjointed actions.
Currency. Gold, gems, and artifacts. In app purchases and rewards. The idea that people can ‘purchase’ additional levels, as well as more gems, but not gold. Gold is a currency earned by playing the game only. We’re going to have mini games for players to play once a day to earn some gold. As they save up, they get to unlock more content. The artifacts are rewards from completing a level. The game will be free to play, and act like a container for more content. The code around this is more complicated, but I feel up to the task. I was researching the API for transactions, and I’m relieved to see it appears well documented with some examples. I also did a few in app purchases with other GearVR games to test out how it works, and it seems pretty clean! The idea of invoking the GearVR store to handle most of the transaction seems helpful.
Runtime. 5 minutes per level +/- is what we’re targeting. It’s +/- because we’re letting sound kind of dictate the runtime within that range. The auto tracks we’re making ourselves. The tracks are EDM, and each will have it’s own ‘theme’. This largely dictates how the story arch of the level will play out. I’ve been sending Rob (sound director) links to composers talking about how to tell a story with music. That’s what we’re going for in essence, an interactive VR music video. Having a good amount of variety, rises and falls, in the music is important to keep it interesting while playing the level. The level in turn supports the music’s movements. To really step it up in the sound department, I’ve taken the Oculus travel reimbursement cards, and placed an order for Kontakt Komplete 11 Ultimate. I figure I can absorb the cost of the travel expenses myself for now, and invest in our product in the short term. It will be worth it I’m sure!
Oh! We have a logo for Danciverse! Allison (Art Director) was able to come up with a few iterations, and the group agreed on one pretty quickly. These things can change a bit over time perhaps, but for now, we’re happy with it.
I’m going to wrap up here, and include some of the design notes we’ve been working on. I’m excited to continue working on our project this week after the holiday weekend. Hope everyone out there has a good one as well! We’ve got a lot on our plate coming up. I’m excited, now I’m getting to the fun stuff.