Launch Pad Blog 7/9/17
Thoughts from week 3:
Wireless all the things.
I’m very happy with our iteration and build testing at this point. I’ve got it all going wirelessly. The experience is now like this:
- press ‘build and run’
- wait for build
- put on GearVR headset and enjoy the game
And.. good news, if I ‘rebuild’ again, it kicks out the old copy, and loads the new copy to the phone seamlessly. All the while I’m capturing phone data in Snap Dragon.. Including the elusive yet invaluable thermo data. I need to write a small log item for logcat .. I need to track the FPS data, make sure I’m well aware if it’s going under 60.
Mesh baking. Texture Baking. I purchased Mesh Baker from the Unity asset store and spent some quality time with the well-documented YouTube channel playlist for getting up to speed with this.. I dare say mandatory .. asset. (I’m not trying to write my own batching at this point). So the experiments so far have been very good. I’ve taken an experimental scene with several items, and cut their draw call down by ~90%.
Occlusion Culling is also on my radar, and my experiments have gone very well here. Lots of saving by baking static objects ahead of time. This technique, plus mesh baking are opening up a lot of possibilities for me creatively.
Unity timeline is still a wild card for me. I’m still learning it but wow, you don’t want to know what it sounds like when it rips apart a sound track during a ‘frame debugger’ inspection. Let’s hope this is an isolated incident…
In conclusion, it’s been steady progress on the tech front. The build is running smooth and wireless, and capturing plenty of data. I need to add some Unity logging for frame rate, then grab it using a filter in logcat. After that… I think I’m good with focusing on tooling for a while. At this point I’m feeling comfortable and informed with this foundation, and I’m ready to start building an epic game on top of it!
Game Design Notes:
I’ve been studying story arcs, and watching videos of Kurt Vonnegut explaining his views on how story arcs work. I found the videos informative and well, funny, he speaks similar to how he writes. I’m thinking of ways to ensure the story we’re developing and the experience of the levels and the music stay in sync. The idea of music, writing, and the rhythms of a level could all be represented in abstraction as arcs. I feel like I’m having a Pixar moment.
Most of the time, at least in film, the music comes after the film. For this particular game, we’re experimenting with creating music up front, and seeing if it inspires the game design. Conceptually, it does.. But it’s more of a riffing off each other at this point. Some of the sounds we’re able to come up with are inspiring all sorts of concepts. Sonically we’re not as limited as we are … polygonically? Ahem. Pretty much, we have scouted a large collection of 3D assets and are starting to build a portfolio of potential items we can blend together to tell our story. This is the opposite of the Pixar moment I think… when I remember my resource limitations, and come up with crafty ways to get around them. The Unity asset store has been a great place to find pre-made stuff at a fraction of the price it would cost to develop… speaking as if we had the luxury of development time anyway. Hahah! Time, the most valuable commodity. Here’s $20, thank you for the low poly Space Station! Unity has done a good job of taking steps towards democratizing game development in my opinion.
Finding the right shaders has been interesting as well. At first I decided to try and grab the shaders from the Oculus AvatarSDK models and use them.. I like the luminous glow and the ghost look… however, I wasn’t actually able to isolate and grab those shaders.
Learning the basics of writing my own shaders has been helpful, and now I’m understanding more of what I’m looking for. I also had a look at the Unity default shaders. Seems the unlit shaders for mobile are a good place to start. I need to do a bit more studying about what we’re going to be able to do visually with light mapping and.. (This is actually tech..) How much time I’m going to need to reserve to let these light maps render.
One final thought on game design, game levels.. we’re shooting for about 5 minutes of runtime… so I’ve been designing a way to lay out the levels on paper and start to map out what will be happening in each of the time chunks of that 5 minutes. Also, the design needed forking paths. Graph paper was a big help here.. With simple boxes and ‘doors’ I’m able to map out what looks like timelines for the flow of the level. The design along with a conversation on arcs has given us a way to look at how to make the drama of the music sync with the level. One other idea we’re experimenting with is having the ‘core’ level music play, and each ‘branch’ would have it’s own music accompaniment,… track ‘A’ may have happy strings, while track ‘B’ might have more foreboding synths in the background… along with plenty of sound effects.