Let’s Meet in GingerLand!

Dec 22, 2014

Jonathan Linowes
Things I Did and Learned Today

--

Let’s Meet in GingerLand!

Dec 22, 2014

Last week I completed my simple virtual world “GingerLand” and invited a whole lot of people inside.

Members of my family got a sneak preview earlier this month at a big family gathering.

And on Thursday, at my employer’s annual Holiday Party, I took dozens of co-workers for rides, one at a time through the virtual world. I had added a bunch of company-specific features that surely got a laugh and a thrill from everyone.

Then last night, over thirty people from around the world joined me in my GingerLand virtual room during the weekly VRChat meet-up.

Wow!

Create and Learn

The project started in earnest a few weeks ago, over Thanksgiving weekend.

Scene of the GingerLand virtual world, configured for my day job employer.

I’m learning to use the Unity 3D game engine, and was looking for something to build for my Oculus Rift head mounted display.

Let’s build a gingerbread house! Better yet, there was a gingerbread house contest at my day job’s company holiday party last year, so I figured this time I’d submit a virtual one. And win!

So much to do, and so little skill. Learning new stuff can be hard. I decided to hire an on-line tutor.

I put out a bid for someone with expertise in the Unity tools to about six candidates who I found on Google Helpouts and Guru.com, and decided to work with Adrian and Krystian Babilinski, twin brothers and game engine gurus.

The Babilinski twins, young game engine gurus (photo courtesy of the Internets)

“We can’t meet during the day, only evenings.” OK. “Because I’m in school”. Sure, no problem. What college do you go to? “Well, I’m a senior in high school.” Heh. How long have you been using Unity? “Six years”. Hmm, that means they starting developing, like, in 7th grade?! OK. As it turns out, they know a lot about this stuff, a lot more than me anyway, and have a good demeanor and people skills. We meet twice a week and get along well. I’ve been learning a lot, even if I am old enough to be their crazy uncle ☺

As for GingerLand, I created a snowy terrain, falling snow, a little gingerbread house. I added candy and other Christmas’y stuff. I imported a 3D model of Santa’s sleigh and animated in flight.

For music, I Googled for “free mp3 jingle bells” and found a great catalog, including a retro MIDI version, a concert pianist version, a laughing version, and a spooky version. Ha ha!

I wanted to be sure my co-workers know I built this and didn’t just download it from somewhere on the Internet, so I incorporated familiar media from around the office: A photo of the front of our office building. An actual 3D model of an arterial bloodflow system (we’re a medical data company serving vascular surgeons). Head shots of my co-workers. A 3D version of the company logo.

Krystian helped me solve specific small challenges as I marched my way up the learning curve. How to create falling snow? How to render snow accumulations on the house? How to make an area spooky and foggy? How to add buttons and text? How to optimize for reasonable FPS (frames per second) performance? How to add titles and transition between scenes? And more.

Finish and Build

I have a big list of things I wanted to add but didn’t get to. As with any software project, it’s often more important to finish with something, and show it to stakeholders, than not finish — Minimal Viable Product. That’s really what I was shooting for. A short 2-minute ride to give my visitors their first virtual reality experience which is fun and personal. And give me the experience of create, build, and demo.

I allowed time to finish some of the rough edges and create a demo’able user experience. I ran through it over and over cleaning up little annoying things as much as I could. I made sure it ran on my older sluggish MacBook laptop.

I worked on it evenings and weekends.

The Company Holiday Party

Then last week I got “the” email, from the Holiday Party Planning Committee: this year is going to be an Ugly Sweater Contest. Oops, oh well, I guess I won’t win any Gingerbread House prizes. Nonetheless, on party day I brought my Rift to work, setup the laptop, and started giving demos.

Sit here. Are you comfortable? Put on the headphones. Here’s the Oculus headset.

If you’re wearing glasses, I asked if you’re nearsighted or farsighted, and verified you could see the scene OK with the goggles on. Nearsighted probably looks fine without glasses; farsighted you might want to wear glasses but be careful not to scratch the lenses in the headset.

With the Oculus Rift headset on, take a look around the scene. It starts with an infinite grid (a la graph paper) so you get a real sense of perspective and 3D space on a linear plane. Santa’s sleigh is in front, ready to ride?

When you’re ready, I push the Start button for you (just to keep things simple). The first part of the “game” is like a movie, you just sit and watch as you take off and fly towards a box-like building. As you arrive you realize is our office.

The animation stops, then the building starts to shake and tumbles backwards, like an old Western movie set, revealing a snowy fantasy land with a giant “M2S” company logo and the gingerbread house.

Now you can control the first person camera and walk into the scene. As you approach closer to the snowman, he laughs. As you approach closer the giant candy cane, it plays music. The house has magical moving ornaments and presents. A field of three giant spinning orbs have pictures of people we know. Around the back of the house are giant snowflakes, like a graveyard, with a giant arterial blood-flow model; as you approach it gets really spooky and ghostly aneurisms float up from the ground. Finally you exit through a hole in the ground, falling away to a sound clip of “Mario” (a la Super Mario), and a “Happy Holidays!” title screen.

Some people took the full tour. Some wanted to remove the headset even before it was over. Some didn’t want to exit to keep exploring all around.

Some people sat still just looking forward, even when I encouraged them to look around. Others really got into it, looking up and down and all around, and moved throughout. Fun! The company party reconvened at the bar in Chili’s Restaurant, I brought my laptop and Oculus inside for more demos.

Virtual Chat Room Meet-up

For several weeks I’ve attended a virtual meet-up on Sunday evenings, with other Virtual Reality enthusiasts. Given the time of season and theme of my GingerLand world, I wanted to re-purpose the GingerLand as a virtual chat room and introduce it at this week’s VRChat meet-up.

I built a trimmed down version of the scene, removing the company-specific content. I figured out how to use the VRChat SDK to export the scene, and load it as a chat room.

Me, at the live meet-up in GingerLand on VRChat

Sunday night at the meet-up, wearing my Oculus Rift like everyone else present, I invited my virtual colleagues to enter GingerLand.

It was amazing! There were over 30 people gathered in my world, exploring and having fun. We decided to line up in front of the house for a group picture. Everyone smile and say “Cheese!” Too cool!

EDIT: A full video of the meet up got posted. Jump in at around 50 minutes to watch everyone milling about in GingerLand (duration about 10 minutes).

DOWNLOADS

Try it out for yourself, these are the M2S version builds.

--

--