Cardboard VR Project – Squishy Toad

I’ve been progressing through my Unity VR tutorials and wanted to share a game that I’ve been working on:

SquishyToad
My First VR Game, Squishy Toad

Squishy Toad is an extension of the Unity VR tutorial I was doing, where the players play as a Frog/Toad and must cross infinite lanes of traffic while escaping from the unyielding advance of the fire behind them. The player keeps hopping forward, watching out for traffic, until the Toad is squished by a car or burned by the fire.

View while in game
View while in game

Integrating VR content is actually fairly straight forward. For this project, the target device is for mobile, so Google VR (previously known as Cardboard) was used. After downloading the Github GVR library and importing it into the Unity Project, I was able to utilize a Google VR “Prefab” (Which describes a set of GameObjects and their associated properties) to replace the traditional camera. After that, I was able to get the stereoscopic display seen above. The overall experience was quite smooth, allowing a designer to focus on creating gameplay as opposed to struggling with the ins-and-outs of getting VR working.

Besides learning about Google VR, this was also the first time I had the chance to learn about procedural generation. Although this was a one-dimensional algorithm, I did get some insight into how this can be extended into multiple dimensions. I also learned about some VR specific philosophies as it pertains to UI, as many of the traditional UI concepts do not carry over when the player has full control of camera movement at all times (One of the core tenets of VR). Therefore, most of the UI is in the World Space (Vs. overlaid on top of the screen), left for the player to discover.

I also learned about some VR specific philosophies as it pertains to UI, as many of the traditional UI concepts do not carry over when the player has full control of camera movement at all times (One of the core tenets of VR). Therefore, most of the UI is in the World Space (Vs. overlaid on top of the screen), left for the player to discover. I find it quite natural, as the concept requires some level of world building built in to accommodate the idea that words are not just floating in thin air.

I plan to continue developing for Squishy Toad until I’m happy with it, after which I’ll put it up on the App store. Stay tuned!

Topics in Leadership – Circles of VICtory

Got something I’m super excited to share about!

So Jonathan Chew and I have been collaborating on a speaking engagement for IEEE in a new event they’re calling the Future Leaders Forum. In it, we were tasked with creating a “Lab” on creativity, particularly as it pertains to leadership. Having had experience in both from our roles in IEEE and Walt Disney Imagineering, this was the perfect role for us to stretch our creativity muscles in a positive way.

We started brainstorming about the idea of Creativity and Leadership and soon delved into the relationship of what Leadership is made out of. Soon enough, we came up with this awesome diagram:

Initial concept of VIC
Initial concept of VIC

We realized that Leaders can be described in two ways; The things they do, and the things that are.

The diagram above succinctly describes the relationship. To become a better leader, you must first become better at the individual components, then do the various things that leadership requires.

We’re super, super excited to be debuting this new concept very soon at the FLF conference in New Orleans…stay tuned for the Prezi!

Learning Blender – Week 2

After learning the basics of blender the previous week, I started delving into some of the really cool aspects of the blender; Rigging and animation. This was a particularly long section that involved numerous new concepts, such as creating an armature to build a relationship between the different limbs of an object, in this case, a lamp:

Lamp
A lamp consisting of a base, a stem, 2 arms, and a lamp-shade.

The lamp is designed with different pieces in mind so that when it comes time to animate, we can utilize Blender’s IK (Inverse Kinematic) feature to automatically pose for us.

LampWithGemTimeline
Lamp, with a timeline below to show motion

The section also explored the shader models, which allowed for complex representations of an object. In this case, a gem was added including a glass-like, translucent property.

Using the node editor to create complex shaders
Using the node editor to create complex shaders

All of these things together create a scene that was photo-realistic, with the correct lighting and reflections. This was achieved using a method called Ray-Tracing, which is computationally very expensive, but produced very good results.

LampWithGemRendered
Rendered Scene. Note the reflections of the light on the plastic base of the lamp, as well as the diffusion of the light through the back of the gem and the mirrored look of the front.

Creating that frame took my GTX960 GPU about 2.5 minutes to compute. Combining the animation feature with the render enables someone to make short films using this method. I created a 6 Second Video of Lamp and Gem , which ended up taking about 7 hours for the computer to create (I put the computer to work overnight to crank this out). It is possible for it to be faster using multiple computers or a better GPU, but for something simple like this, it’s good enough. It was a joy to see the finished product as I woke up the next day!

There’s definitely a lot of fun to be had with 3D modeling using Blender. Although the tool took a little to get used to, once I understood the quirks I was able to make things happen very easily. I highly recommend that anyone who is interested in 3D modeling to take the course that I took (Search Ben Tristem and Blender on Udemy).

 

The story so far: My Journey as a public speaker

Coming back from Shanghai, one of the things I was looking forward to was getting back into doing more public speaking. Although I’ve had the chance to speak in China, I’ve generally found the audience in the US easier to engage, especially since language is not an issue.

Volunteering as a public speaker has really been a fantastic experience. It has helped me come to grips with navigating adulthood and have pushed me to learn new concepts so that I can be more effective as a speaker. Although I started out exclusively speaking with college level engineers, I soon found myself being invited to speak at other audiences, which required me to adapt to different styles to keep the audience engaged. In April, I was asked to speak at a TEDx hosted by a Shanghai international school, where I spoke about following your childhood dreams.


Having worked with IEEE-USA through and beyond UCLA, I have been invited to host a “Creativity Lab” with my friend, Jonathan Chew, at the newly formed Future Leader’s Conference at the end of July. This will be the first time I had a chance to speak in the US since 2014. Looking at the lineup of speakers they’ve booked, it’s shaping up to be the most prestigious event that I’ve had the chance to participate in. I’m incredibly excited to be a part of this event and am looking forward to the new ideas and inspirations that’ll come from my time there!

First steps in VR

Lately, I’ve been putting alot of time and research into Virtual Reality (VR) technologies. My first experience with VR was at a showcase a few months back, where I was able to demo a few different experiences at various price ranges. Of the experiences I had, the Vive stood out to me as the most developed solution at this time.

I was able to try the Vive with an application called Realities.IO, which is an app that sends users to various real world locations. After a short spiel by one of the developers, I don the headset and transported into space, with the earth in the center. I was able to walk around the earth and pan it around using the Vive’s hand controllers; Once I’ve found a location I liked, I was instructed to zoom in.

Realities.IO

 

The location was at a Mayan temple in South America. The scene faded into view and I was instantly awed; I was able to walk short distances around the temple, and was also able to teleport short distances to places beyond the reach of the room I’m in. I couldn’t get over how real it all looked; Coming from software being in a flat surface of a monitor, this experience was able to encompass in my entire view, and my movements matched the movements on my ethereal character, standing on the steps of a Mayan temple I may never visit in my life. At one point, I kneeled down to get a closer look at some rockwork, and without thinking, reached out to touch it; A short moment of immersion that was broken because that rock was never there in the first place, but it seemed real enough to at least try.

Where I was; At least, where I was transported to in VR

The experience was over as quickly as it had began; The headset and headphones were taken off, and I was back in the conference hall, familiar with the murmurs and chatter of the space. But for that short moment in time, I could’ve convinced myself that I was somewhere else entirely.

Learning Blender – Week 1

Having been interested in designing and making games my whole life, I’ve finally had the time recently to delve into some of the aspects of what it takes to make games.

Although I’m primarily interested in the design of games, I believe it’s critically important to at least understand the core aspects of each discipline so that I can at least be competent in the subject. Since 3D modeling has been a major obstacle for me, I decided to dig in and purchase Ben Tristem’s Complete Blender tutorial in order to learn the ins and outs. I’ve used Ben’s course before with his Unity course (also on Udemy) and admire his excellent pacing and structure in teaching.

Having gone through the first week, I was able to go from knowing just basic CAD design from my AutoCAD courses in college, to making this:Bowling Scene

which covered creating complex geometry from both solid extrusion and bezier curves, and then this:Chess Scenewhich was a great tutorial on building low poly shapes using reference material, as well as rendering a scene using textures and lighting.

Moving forward, I’m really excited to see how I can use Blender to empower my future projects!