Advertisements
 

Re-Thinking 3D Virtual Worlds Development


Introduction

Scratch is a programming language developed by Mitchel Resnick’s research group at MIT Media Lab.  Scratch “makes it easy to create your own interactive stories, animations, games, music, and art — and share your creations on the web.”  Scratch was designed for youngsters, to encourage them to build applications and games without having to learn the ins and outs of conventional programming languages.

Scratch programmers use their mouse to snap together blocks to form “stacks”.  The stacks embed actions.  For instance, some blocks allow players to control characters via keystrokes.  Programmers sequence their blocks to create animations and games.  Let’s consider how the concepts behind Scratch could be applied to 3D virtual worlds.

Virtual World Evolution

Previously, I wrote about the evolution of virtual worlds from self-expression to marketing to monetization.  With the concepts behind Scratch, however, I wonder whether a similar framework for 3D virtual worlds can re-ignite the Self-Expression stage.

Wider Adoption via Easier Development Tools

Scratch was created to empower youngsters by making it easier to build computer applications.  A similar approach may be needed to empower creators of 3D virtual worlds.  Let’s face it, creating a virtual world is not easy – it requires specialized skills.  Those who can afford it (e.g. corporations) often outsource 3D virtual world creation to agencies or development shops.

What results is a classic “chicken and egg” problem – the barrier for creation results in less supply (e.g. fewer interesting 3D worlds), which depresses demand (e.g. less people interested in visiting virtual worlds), which keeps the supply low (e.g. less interest to create them, since no one will visit).

This phenomenon may explain why IMVU is thriving, while other services (e.g. There.com, Google Lively, Vivaty) have folded.  IMVU brings the world to you – that is, the self-expression is focused around your avatar, rather than building worlds.  It’s easy to customize your avatar – and, if you’re so inclined, you can design virtual clothing and accessories, that are then made available to other users within IMVU.

Importance of Feedback Mechanisms

Scratch has two feedback mechanisms that are central to its success.  First, users can see the result of their work (in real-time) as they’re building the application.  The conventional cycle of computer programming is “code, run, debug” – with Scratch, you don’t debug, so much as you adjust your application as you go.

The second feedback mechanism comes from the Scratch community. Users can upload their application and have others post comments and suggestions.  This gives programmers the positive reinforcement behind their work (e.g. there’s an audience for my creation), which creates more incentives to create more applications and be part of an active community.

Both mechanisms could be effective in 3D virtual world creation.  The community aspect, in fact, addresses the chicken and egg problem, as the developers create an audience for each other – and can encourage their network of friends and colleagues to visit virtual worlds that they’ve found and reviewed.

Open Sourcing, Sharing and Remixing

The name “Scratch” is derived from the way disc jockeys scratch records to re-mix existing songs into new creations.  Community members can view the code for any uploaded Scratch application and are free to re-mix and modify existing applications.

This is a tried and true way to learn computer programming – take someone’s existing program, study the source code, then add some pieces to it.  Once you’ve done that a few times, you’re ready to write your own program from scratch (pun intended).

Sharing and re-mixing makes it easier to get started, will encourage wider adoption and is sure to generate interesting creations.  Imagine if a similar framework existed for 3D virtual worlds.

Conclusion

One of the prominent barriers to 3D virtual world adoption is the lack of easy creation tools.  Let’s learn from what MIT Media Lab has created with Scratch and see if we can apply their concepts to 3D virtual worlds.  How about it?

Related Links

  1. August 2008, NewScientist, “Creating your own computer game is child’s play
  2. March 2009, Wired, “Scratch Lowers Resistance to Programming
  3. May 2008, American Libraries, “Minds at Play
Advertisements

3 Responses to Re-Thinking 3D Virtual Worlds Development

  1. Just curious Dennis if you knew about the version of Scratch for Second Life which outputs LSL script. Scratch4SL is a http://web.mit.edu/~eric_r/Public/S4SL/

    We’ve got a bunch of kids in pilot project in a school here in Ireland using it to program interactivity into their Opensim based virtual world.

    • Dennis Shiao says:

      James – great to hear from you, hope you’re doing well. I wasn’t aware about Scratch4SL – thanks for letting me know about it. Love the concept – and the video was great.

  2. ScratchLover says:

    I’m making a virtual world on Scratch. It is like soo cool!! LOL!! 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: