This week is the final week for Oculus Launchpad program. For those who has gone through game jam and hackathons, you know what this means… the most productive time!
On Monday, I stayed at PAX until it ended. I took one day on Tuesday to recover from PAX Dev and PAX.
Unfortunately I did not have much time to demo my latest build there, since there were too many things going on. I did sat in the AFK room for about an hour, to observe how they run things there. I noticed the room was very quiet. There were people going in and out, but most of them sat down and either take a break, or talked to each other in very soft voice. It was a peaceful place. There were several tables inside with chairs around them. On each tables, there were several children and adults coloring books, crayons and color pencils. There were also flyers about the organizers (TakeThis.org), information about mental health and where to seek help. They even provide professional helps for those who need it during the event.
I flipped through several coloring books, and spent a lot of time going through one book called “Color Me Calm” by Lacy Mucklow. This book was designed for adults who needed to relax, and I took a lot of notes while I was in the room, which I listed below:
Images used to evoke more relaxing responses in people:
- mandalas – for concentration, meditation & calming
- sanskrit word for circle or round, even container for secret space
- in book: circular, repeatable geometric pattern, round or curvy in nature, not jagged
- nature aspects and patterns – inspirational calming
- wooded scenes – quiet scenes of forest area evoke calm feeling
- animal patterns – fish, nautilus, etc
- natural pattern – snowflakes, ammonites, trees, shells, leaves, flowers
- geometric pattern – regular, symmetrical pattern can be meditative
- math basis, symmetrical design = balanced, evoke order, calmness and focus
- asymmetrical patterns also convey the sense of balance because of exponential and logical pattern they create
- water themes – envisioning steady or rhythmic flows and picturesque scenery can be soothing
- water scenes are relaxing for many people, especially photographs and artwork of beaches, ocean
- music with ocean waves in the background has a calming effect. Some says it reminds them of heartbeat sounds
- environments of still water such as lakes, ponds, etc give soothing effect similar to white noise
- water scenes are often associated with vacation, relaxation and fun times
With all these information, I will have to change the other rooms design for Enliven VR.
Back to project. For the final submission, I tried to cram as many polish as I could. Changes for this week:
Per feedback I got from a couple Oculus Launchpad participant and some friends, I decided to remove the keyboard. Most people expected to be able to change the background music by interacting with the keyboard. It was also hard to see from below, and felt unnatural.
Added butterfly behavior and modify existing wing material. Previously, when user gazed at animated creatures, my script enabled and disabled their animation property in Unity, which caused them to animate or freeze in the middle of their movement. It did not feel satisfying, and one feedback I got even expressed concern about ‘harming’ the butterflies. So this week I created a new script that made the butterfly hovering around when we gaze at them. The starting positioned seemed a bit jittery, but once it moved, it looked natural. I also set the butterfly to always animate, so they either float or hovering this time. For the wing material, it was originally very transparent, with a bit black outlines. Based on optimization documents I read, transparency really affects performance, and it is generally better to have less transparent areas. So I updated the butterfly texture to reduce the transparency and made it more colorful as well. As a result, they are easier to spot this time.
Added pets behavior. Similar to the butterfly, previously each pet started with disabled animation, and as user gaze at them, they started to move. I used the generic animator controller too, so their movements were not the greatest. Those who tested my app could tell that although the red panda was very energetic, the kitten only blinked and the husky pup walked in place unnaturally. This week I spent some time to create custom animator controller for each animal. Each pet now has four to five different animation cycles, and as user gaze at it, the pet movement changed randomly. The cat starts at idle, then it can meow, jumped a bit, or do a high jump. The pup starts at idle (sitting on its butt), then laying down, scratching its head, or sleeping. The red panda also has different movement per gaze, instead of one giant set of movements like before. These behavior will need to be tweaked more in the future to give even more personality and natural feeling.
Updated terrain geometry. Previously, I have had no luck in building Gear VR application when using Unity terrain tool. My builds tend to not running on the phone during testing. I have tried smaller terrain, with like 10 x 10 and still facing the same issue. The terrain geometry also cannot be scaled using transform properties. So in the previous builds, I just use a quad as a terrain and colored it green. This time around, I created a bumpy 10×10 planes in 3ds Max, brought the mesh to Unity, applied material and it worked like a charm. No issue in building, no performance issue during run time, and it looked a lot better than the flat quad.
Added temporary art for pillows and blanket. One of my tester was confused about the bed, since it is round, and not a standard rectangle-shaped bed. For a clear visual, I added pillows and blanket, but since time was limited, I did not have much time to implement any textures. Originally I wanted to create a Turkish comforter and bedding set, after my conversation with a fellow Launchpadder with Turkish background who mentioned about the dying tradition of handmade comforter. This will definitely be implemented in the future.
Fixed spotting and weird shadows on light-baking. After I started playing around with light baking in Unity, some assets, like the gazebo floor, pet tower, and the new added blanket had mold-like spotting or hatched lines. I was not sure what causing it and had been ignoring it for a while. Near the end of the week, one of my client started getting his hands wet lighting for his game as well, and he saw similar issue. He asked me about it, and I told him some lighting setting I have tried, like turning off shadows, etc. Also, out of curiosity, I looked up this behavior on google, and found out that it was caused by overlapping UV in the model. I updated the blanket model, fixed its UV overlap, re-baked the lighting again and voila, the spots were gone! I shared my finding with my client, and proceed in updating the rest of problematic geometry. My environment looked a lot cleaner afterward.
Due to the natural disaster happening in Florida and Texas, Oculus Launchpad submission got extended from Sunday night to Tuesday at noon. As much as I tried to get much done, on Saturday I started to feel sore throat, and by Sunday it proceed to sinus infection. My husband had been down with flu since the end of PAX, and I was miraculously unaffected. However, the bug in the air finally hit me. So on Saturday, I finished writing the proposal, budget list. I spent half a day on Sunday to set up a wordpress site for Enliven VR main page, but I couldn’t get any style to work to my liking, so I scrapped it and just built it from scratch, using handy dandy notepad++ and my outdated knowledge of HTML and CSS. I spent Sunday night building the latest version of the app, and as previously having issue with jarsigner.
After taking some medicines this morning, I proceed to rebuild the app, resigned, and after a couple failed attempts, I noticed typo on the application path during jarsigning session. Once I use the correct path, it worked! Again, based on my experience from game jam and hackathon, when you have a working build very close to submission, might as well submit it before proceeding into making a broken build in the next few minutes. I did the submission for both builds and documentations, and that’s it for this week.
Time to fight the PAX pox now. Next weekend will be the anticipated Seattle VR Hackathon, so I will try my best to rest before then. I might also take a bit of break from Enliven VR development to get a clear vision and reconsider design changes. So, see you in a week or two~