This post was reposted from my (from entry) on medium.com
Hope you all enjoy
my first dev blog post
So, It’s been many weeks since I’ve been developing my Virtual Reality experience code-named Project Bubble Labs. What came about after experimenting with making a chemistry educational experience surprised me, and the purity of my new project gives me fresh ideas for the VR medium. As more and more people get to try the leading HMDs on the market, it is important to make experiences that can be replayed and passed between a group easily — without the need of long onboarding processes. I have tried to stick to this motive while making my game and I hope my insight onto details for user friendliness go un-noticed.
what started project bubble labs?
In the past quarter before dedicating time towards unity3d and my own personal projects, I took a chemistry class. I didn’t really get the best grade in the end but it made me think about what kinds of ways can students get more excited for chemistry. For me, the labs were fun and spectacular with beautiful colors and interactions between substances; while the tests were hard, it was always easy to get involved with the lab directive. However, I know this was not the case for many students in my class in college, and even more so for those in high school chemistry. Or perhaps, the students would not have access to good lab equipment, teachers, or more than even an intro class. I wanted to make a Virtual Reality experience that would mimic the lab experience, in an environment that does not punish the user.
I started brainstorming what my MVP for this kind of interaction would look like. All I wanted was to pour one glass of liquid substance into a container with another with a log detecting the shift. I ultimately landed with using Nvidia Flex for my particle system. For those who don’t know what Flex is — “ FleX is a particle based simulation technique for real-time visual effect. Because FleX uses a unified particle representation for all object types, it enables new effects where different simulated substances can interact with each other seamlessly.” Basically this particle interaction system would allow me to create a realistic liquid effect in VR.
Immediately I was met with technical difficulties with these particles. Only reaching 50fps avg was no suitable and I began to explore other options. However, despite the framerate, the technology was very fun and enjoyable to use. The more than I played with it, the more I wanted to make an experience just using Flex and playing with liquids. The thrash got real, and I put the chemistry game on the backburner. It was time to turn off the gravity and have some fun with liquid bubbles.
Everything changed when I removed the gravity in my scene. I was brought with great delight to play with these liquids in zero gravity — it was seriously like being on the International Space Station! Watching the particles interact organically was very rewarding. I quickly threw together an emitter and a random color changer onto the Vive controller and began exploring this new physics world.
Something about bubbles made me giddy. I decided to dive right into this project. Next up was a full HSV color wheel picker. I experimented with different designs but the one I ultimately decided on was to use the steam controller touchpad to radially input Hue, and then take the distance from the center to affect both Saturation and Value. The design worked great and the users loved it. I might put some more effort into this and try and list this to the asset store.
One thing you may have noticed watching the this first gif was that there were not that many particles in the world (only about 1000). This changed drastically when I updated to unity version 5.4 beta and then soon there-after to 5.4 stable. The update drastically improved my performance which meant that both this experience and my chemistry application could come into fruition. Things were really coming together for Project Bubble Lab.
design considerations and polish
The user had to interact. Spawning bubbles was fun and all, but without a way to interact, you would lose a lot of the freedom that the vive gives you with the one-to-one controllers. I ultimately decided on a hand fan to interact with the bubbles, and the choice was solid. You get these really neat interactions with the bubbles, and having your hands in the world drastically improves the replayablity of this experience. (Look towards the bottom to see this hand fan in action!)
This game had to be simple. The mechanic is pure and playful and seeing others try this environment really set the idea into stone. Over the next week I focused hard on making haptic feedback work as well as some sound design. I tried to go the route of procedural sound but it seemed all too complicated and in the end detracted from the experience. The point of this experience was not to have a point, and overly complicating things would be silly.
I had to add something to the controllers too. At the time they were the only objects in the scene and they had to stand out. I’m a huge fan of splatoon, and I thought squirt guns would be perfect for my design. I had a friend make me a bubble gun model and then found an asset on the store for a liquid shader to put in the containers. The effect turned out pretty cool:
the trigger is sensitive for velocity, and moves the liquid inside the tank accordingly
the future of bubble labs
This week will all be about polish and as I approach the launch to steam, I will be adding a small UI-tutorial, and a pause menu. The great thing about being in a class is that I get to do a lot of user-testing. I have made a small questionnaire for students to answer after they experience my game, and it provides a lot of good data regarding trends of bugs and requested features.
However, as these changes roll out, I’ve considered the further applications of this kind of environment. I really love audio reactive visualizers and music games. VR games like AudioShield and the now audio reactive TiltBrush. This is a concept that has always been with me since my days of messing around with Milkdrop presets on my old thinkpad — love it. As I approach the time leading up to launch, I hope to really think about the further application of Bubble Labs and how it can be used as a peaceful tool for pure relaxation.
I'll post the steam store page when I pay the greenlight fee !