Why a Virtual World on a Webpage is Awesome

Is running a virtual world in a web browser really that big a deal?  If you have to download a browser plugin, then why not just download a standalone application?  What’s the point of having a virtual world sitting in a webpage?  Does it really make any difference?

I hear these questions a lot.  So let me share a few of my recent experiences with Jibe and setting up my own web-based Jibe world.

I need to get folks into my Jibe world quickly.
Ah right, it’s just a URL.

I can’t overstate how powerful it is to be able to give out a URL and tell folks “just click on it and you’ll be in my virtual world.”  And even though they have to download a Unity plugin to make it work, the whole process still happens within the web browser itself.

Think about how much time you spend each day in front of your web browser.  If you’re like most folks, a web browser is probably always open on your computer.  Which means that anything happening in your web browser is always right at hand.

And since my Jibe world is just a URL, I can make it something short and easy for me to remember.  Easy for me to quickly jot down on a piece of paper, too.  I just write or type bit.ly/Jibe_Pathfinder and that’s it.

I need to add links to useful info for people visiting my my Jibe world.
Oh wait, I can just add that as HTML inside the webpage where Jibe lives.

Since my Jibe world lives on a plain old webpage, I can easily add additional text and hyperlinks that appear around the Jibe world on the page.  Tweaking a web page like that is a snap, even for a web-wrangler like myself who uses a pretty basic HTML editor.

I want to use Google Moderator and Dabbleboard with people in Jibe.
Hold on, I can just embed them next to the Jibe world on the webpage.

Again, my Jibe world lives on a plain old webpage.  Which means I can use iframes to embed a useful web-based application and have everyone see it while they are inside my virtual world.  And there are a lot of great web-based collaborative tools out there.

Standing around in a 3d environment looking at 2d documents hanging on virtual walls has always left me scratching my head a bit.  Especially when those 2d documents need to be dynamic and collaborative.  Why not use the right tool for the right job?  Have the 2d content live on the webpage, and have the engaging 3d content in the 3d window.  That gives you the best of both worlds, and both can exist on the same webpage.

I need to track visitors to my Jibe world.  How do I script that inworld?
Oh duh.  I can just add Google Analytics to the webpage where Jibe lives.

Took me about an hour mulling things over before I suddenly realized this one.  A quick copy/paste of the Google Analytics javascript code into my web page, and I was done.

For those of us used to using virtual worlds as standalone applications, you can see how realizing the real power of a virtual world in a webpage requires unlearning some things.  You don’t need to do everything inside the 3d world itself.  You have the power of other web-based applications right there on the same page.

And I haven’t even touched on the more complex affordances of Jibe and the web.  Like being able to tie in preexisting web-based registration systems on the backend.  Or being able to integrate Jibe with a preexisting web-based content or learning management systems.

A virtual world on a webpage is awesome simply because the web is full of awesome tools.

And they can all work together.

-John “Pathfinder” Lester


Encouraging Exploration in Virtual Worlds: The Subtle Power of Sound (and chickens)

One of the most beautiful qualities of virtual worlds is that they are perceptually immersive.

By simulating environments that mirror reality, virtual worlds can evoke in us a surprisingly strong sense of place and space.  We feel like we’re “really there.”

But one thing that is sometimes overlooked in the design of virtual worlds is the fact that we perceive the world not just visually but also through our sense of hearing.

The ambient sound of wind and bird chatter in a forest.  The subtle creak of a wooden floor as we walk across a room.  The cracking of a fire in the distance.

Ambient and contextually relevant sounds can make any virtual world a much more immersive place.  We often don’t notice them consciously.  But when such sounds are absent, we usually feel like something is missing.

My primary interest in virtual worlds is immersive education.  Teaching through storytelling that naturally unfolds as a person explores the world around them.  Encouraging people to discover new things by creating environments that engage them.  And a big part of creating any immersive learning experience is making sure that it is perceptually immersive in as many ways as possible.

Rewarding Explorers

I’m currently spending a lot of time learning how to create multiuser virtual worlds on the web using Jibe and Unity3d.  I’ve been building out my own Jibe world and testing different ways to make it more engaging.

In my experience, the best way to encourage exploration in a virtual world is to simply reward people for exploring it.

I’ve been doing this by placing a few interesting little scenes to discover in my virtual world.  Some of them you will just stumble upon as you walk around.  But others call attention to themselves in subtle ways.

Visual cues, especially movements, are very useful ways to indicate “hey, come over here and check this out!”  But never forget the additional power of sounds.

What was that?  Did you hear something over there?

You may notice that I’ve got a lot of animals in my Jibe world.  This isn’t just because I like animals.  I’ve placed animals everywhere simply because animals both move and make sounds.  And those characteristics in a virtual world make it feel more alive.

Worlds that feel alive are worlds people love to spend time in and explore.

How to add sounds in Jibe and Unity3d

In Jibe and Unity3d, you can embed sound files in any object in the world.  These sounds sources exist in 3d, which means they can be perceived the same way we perceive sounds in the physical world.  Sounds get louder the closer you get to them.  And you hear things spatially when using stereo speakers or headphones.

You can learn all the details of how sounds work in Unity3d by checking out the Unity3d manual entry on sound. But here’s a quick crash course on how to add a basic looping sound to a specific object.

Crash Course in Sound Design: The Chicken

Chickens are awesome.  Visually, they move in very interesting ways.  And they make great sounds.  So I definitely wanted some chickens in my Jibe world.

1) Find a nice animated 3d model of a chicken.

I searched the Unity Asset Store but alas, no chickens.  However, I found a great animated chicken model for sale on the web.  I bought it, downloaded it, and placed it in my Jibe world using the Unity editor.

I made her super-sized because I wanted folks to easily see the model detail.  But my chicken lacked sounds.  Bummer.

2) Find a chicken sound.

If you’re looking for sounds that are free and Creative Commons licensed, I highly recommend checking out FreeSound.  I searched FreeSound for chicken sounds and found a nice WAV file of a chicken clucking.

Just one problem.  The sound file was too long and large.  Remember, when you are deploying a Jibe world, size matters.  The more you add to your world in the Unity editor, the slower your Jibe world will load on the web.  Remember this fact when you are adding sound files.  You’ll always want them to be as short and small as possible.

3) Edit the chicken sound.

I love Audacity.  It’s a free and open source program for recording and editing sound files.  So I opened up my chicken WAV file in Audacity and cut it down to a very short clip that looped nicely.  I also saved it in Ogg Vorbis format so it was compressed and as small as possible.

4) Get the chicken sound into my Jibe project file in Unity.

I opened up my Jibe project file in the Unity editor, went the Assets menu at the top of the screen, and chose Import New Asset.  Then I found my chicken sound on my hard drive and selected it.

You can now see the short chicken sound file sitting in my Project folder, and the details of the sound file in the Inspector window.

5) Get the chicken sound into the chicken.

I dragged the short chicken sound file from the Project folder onto the chicken model in my Scene window.  Then I viewed the new details of the chicken model in the Inspector window.

There’s the sound file in my chicken.  I turned on the loop function, and I was done.

6) Enjoy and learn more!

You can visit my chicken in my Jibe world on the web.  And if you’d like to join a community of people interested in creating virtual worlds using Jibe and Unity3d, please check out my Jibe and Unity3 Google Group.

If you are designing a virtual world, spend some time not only thinking about how it should look but also how it should sound.   Got a fire?  Make sure it has a nice crackling sound.  Building a train station?  Add ambient sounds of crowds and trains.  You’ll be giving your users a much richer experience.  And maybe you’ll learn some new tricks along the way.

-John “Pathfinder” Lester

How I Learned to Stop Worrying and Love the Unity Asset Store

It’s important for people to identify their own talents and cultivate them whenever possible.

And likewise, it’s important for people to realize where they lack talent.

Personally, I’m terrible at 3d content creation.

I’ve tried very hard to learn various 3d modeling programs in the past, and I continue to push myself at doing my best to use them.  But I’ve pretty much accepted the fact that, aside from being able to whip up the basics, I definitely lack the artistic talent and technical prowess to create beautifully detailed 3d models from scratch.  I’ll always be a hack.

But that’s OK.  I’ve stopped worrying about it.

Because the trick is to accept one’s limitations while finding ways to work around them.

My Best Friend in Jibe: The Unity3d Asset Store

I’ve recently been learning how to use Unity3d to create my own multiuser virtual world on the web with Jibe.  And I just started using the Unity Asset Store.

The Unity Asset Store is a place to buy things you can import and use in your own Unity3d projects.  Anyone can submit items to be sold, too.

Pretty neat, right?  Well, it gets much more interesting.

The clever folks at Unity decided to integrate the Asset Store with the Unity editor.

Hello, my friend!

So while you’re busily working on your world in the editor, you can simply pull up the Asset Store from the menu, search for something, buy it, and have it immediately dropped into your project file.  And if you lose or break something you previously bought, have no fear.  The Asset Store remembers that you bought it and can send it to you again whenever you like.

Of course, anyone can find 3d models for sale or freely available on many different websites.  I do that all the time, and it works great.  But it can sometimes get complicated depending on different import settings and optimizations.  With the Unity Asset Store, I’m guaranteed everything will work in Unity3d.  And the store is right there for me to access while I’m actively building my world, at the precise moment I need new content.

“Hmm.  I need wildlife in my Jibe world.  Like rabbits.”

“Oh look, there’s one in the Asset Store.”

“Done.”

I get excited about technology.  But I get even more excited when I find tools that have a very positive philosophy behind them.  The Unity Asset Store is a great example of how the folks at Unity are thinking very carefully about how to best empower people who want to create engaging 3d experiences.  Connect, integrate, and build communities where everyone can best leverage their unique talents.  That’s a great philosophy in my book.

Jibe + Unity3d = Sharing your World

At ReactionGrid, we like to think we too have a very positive philosophy.  We give people the tools to create and then share their virtual worlds with others.  Being able to easily publish your vision on the web is pretty amazing, and I’m having a great time putting myself in our customers’ shoes.  Learning by doing.

Visit my Jibe world and see if you can find my fully rigged and animated mesh models of rabbits, courtesy of the Unity Asset Store.  I’ll be using them and other animal models to tell a little story over time for folks exploring my Jibe world.

Creating fun and immersive learning experiences through storytelling is something I can do pretty well.  Thankfully, I don’t need to be a 3d model expert to create engaging  experiences in Jibe.

And guess what?  Neither do you.

Join our Jibe and Unity3d Discussion Group and learn how easy it is to get started!

New Group to discuss Virtual Worlds on the Web using Unity3d and Jibe

I’ve just started a new Google Group for folks interested in creating virtual worlds on the web using Jibe and Unity3d.   You can join it here.

Unity3d is a very popular professional game development platform for creating 3d environments.  Jibe is a platform that we’ve developed at ReactionGrid to allow anyone to deploy multiuser virtual worlds on the web that are built with Unity3d.

Unity3d and Jibe have some really cool affordances for developing immersive and interactive projects, particularly for educators.  The worlds are accessible from a web browser, voice and text chat are both available, all content is based on industry-standard mesh models, and you can write scripts in C# and JavaScript.  There are also ways to integrate a Jibe world with web-based CMS /LMS systems, and future versions of Jibe will also support deployment on things like iPads and other mobile platforms.

I’m not a professional 3d content creator, and I can barely script my way out of a paper bag.  But I’ve managed to create my own Jibe world online.  Learning Jibe and Unity3d is not insanely hard.  Anyone can do it, really.

Which is precisely why I’ve started the Jibe and Unity3d Google Group.  I’ll be posting my own experiences to the group and sharing resources that I’ve found very useful.  Bring your questions and creative ideas.  Let’s build a supportive and helpful community together!

And if you’d like to listen to a presentation I recently gave at VWBPE on the educational affordances of web-based virtual worlds, Jibe and Unity3d, please take a look at this video:

My Office Hour in your Browser

Welcome to Jibe!

We’ve been working very hard at ReactionGrid on our virtual world platform called Jibe.

Jibe is a great way to give people access to virtual worlds through a web browser, and future versions will support mobile devices and even game consoles.  You use the Unity3D editor to create environments in Jibe, and I’ve been having a lot of fun learning how to use it as well as finding cool places to get reusable 3D mesh content.

I now have my own Jibe-based virtual world online and accessible by anyone who wants to visit.  So I’m officially expanding my weekly Office Hours to include a couple new meetings each week that I’ll be hosting in my Jibe world.  See my Office Hours webpage for all the updated details.

You can visit my Jibe world even if I’m not around.  Just open it in your web browser and have fun exploring.  I’m still building it out, so please mind the mess.  I plan to add some fun games and hidden secrets in the future.  Hope to see you there!

Sitting at my workbench in Jibe. And yes, having a fire that close to my spaceship is probably a bad idea.