Somebody Make Me A 3D Platform
Face it: there just isn’t a single virtual world platform that can do everything. They’re all either too difficult or too simplistic.
While we’ve considered developing our own, software development would take us out of our core competency of events in virtual worlds. Its not that we can’t, its that we really probably shouldn’t right now.
So I’m going to ask you, gentle reader, to go out there and make the 3D platform that the world deserves. I know you’re up to it!
Here’s the wishlist:
- Just focus on the engine and open the API up to developers.
- Crowd-source the extensions, not the core. Make some hard decisions and get it done this century, rather than arguing everything to death.
- Make it browser-based, and avoid plugin downloads at all costs! (beyond maybe the standard Flash or Java)
- Make logging in optional! People should be walking around your world immediately, with the option to log in at any time (to receive special access, abilities, customization, virtual goods, etc).
- Stick to free or open-source standards whenever possible. (Example: COLLADA!)
- Allow HTML and PHP calls to the web, and draw ALL data from the web.
- Allow avatars to hand files to each other. For example: I meet Ted, we’re talking, I say “hey Ted, here’s my card” and then I hand him a JPG or vCard or something from my hard drive… and then he gets it. It KILLS me that this function doesn’t exist anywhere!
- CONCURRENCY for crissakes… if you can only get 10 people in a room, don’t even bother. Just format your hard drive and get the hell off our Internets. We need 100 minimum, 1000 preferably, 10000 ideally. For so many reasons I can’t even begin to get into in a post like this one, I need to be able to fill this concert hall:

About the interface:
- Give the webmaster 100% control over the interface. Ask any webmaster: putting the content in is less than half of their job!
- Respect the standards. Billions of user-hours spent testing them have borne them out. Arrow keys, WASD, with E, R, and C for special functions like strafing or flying. SPACE to jump.
- Voice should just work. (See web.alive for a great example of this.)
- Put nothing on screen at all by default. Open the API up to allow individual content creators the ability to do this themselves if they want. This, for instance, is unacceptable:

CAUTION: red herrings (things people talk to death but aren’t super important… yet):
- Walking from one world to another (“interoperability”)… later. Crawl before you walk.
- Social networking. If you’ve left your platform open enough, a content creator will come up with it eventually.
- Facebook. Someone will probably adopt it into Facebook for you, but putting an app in Facebook is like putting web content in a frame: an awkward design choice that ultimately distracts users from the content.
Things you need to encourage independent developers to create:
- Voice – seriously, encourage competition between providers.
- What avatars actually look like
- Surface textures (on the back-end webmasters should be able to install developer plugins for video, HTML, custom PHP, etc…)
- Transfer protocols (ie: while avatars should immediately be able to hand files to each other, open the API enough to allow plugins for multiple protocols so that they can do FTP, Torrents, or direct HTTP/HTTPS requests)
- Animation protocols (ie: you’ll probably have a default way of doing this, but conventions here change constantly. Let the experts develop tools for you.
- 3D Object standards (You’ll need to pick something to support directly, but there’s just too much innovation out there to lock yourself down. Allow developers to create plugins for accepting other kinds of 3D content.)
- HOSTING. You are a software developer, NOT A WEB HOST. Let people find their own solutions here. Stay focused! Focus dammit!

Ok, go!
[...] Caleb Booker has created a great wish list of features that would make a truly successful 3D platform. Lots of stuff I totally agree with, although I [...]
[...] different pieces that I read, but the one that seemed share worthy is a piece by Caleb Booker on Somebody Make Me a 3d Platform. Platforms like Second Life are amazing because of the potential that they have, but honestly the [...]
You definitely right, plug-in + concurrency is really what i need so damn hard !!
Maybe a little work on client ergonomic can help tho
Go, yes, and fast if possible !
Your vision is more or less what we are doing at A World For Us. Our first product http://www.assemblive.com offers many of the features you ask for. Our middle term strategy is to open progressively Assemblive to third party developpers using simple standard web API for customization and 3D content uploading. Virtual Worlds service companies can already contact us to work hand in hand to provide a customized solution for them. Right now Assemblive already offers a pretty good online event environment for the rest of us.
I disagree with you one one point though: 3D plugin install. It’s not a deal breaker (think about Disney’s Fusion Fall or Habbo Hotel), they both need a plugin and yet have millions of users. Flash is not ready yet for really intensive 3D, and java web plugin is so badly maintained by Sun. Native browser based 3D is the future, in the meantime installing a 3Mo plugin without a restart doesn’t seem that hard for us.
I agree with everything except the need for 1,000 or 10,000 concurrent users, in one shared space. The benefit of a virtual environment is the interaction with other people. You can interact with 30,40 people, even 100 will stretch it. 1,000 or 10,000 is a broadcasting event. Unless you break it down again into 30-40 smaller groups.
Henri: that sounds interesting, I’ll have to do some follow-up today.
Claus: I’m going to have to blog about this. It keeps coming up.
[...] « Somebody Make Me A 3D Platform Why Concurrency [...]
Immersivity is the key; the more immersive the better. I do think that realistic and accurate models and animations could be added to the wish list. Animations are very informative.
Oh; AI needs adding to the list; good informative and helpful AI is a useful addition to the Isquared environments.
I agree with you completely, and even more in your “why concurrency matters”. Our platform is able to handle over 1000 simultaneously connected users, and it is really relevant for our customers and visitors.
From these 1000 users, only about 200-300 are actively interacting among each others, most of the audience is normally passive!.
Check it out at http://demo.imaste-ips.com
Regards!,
Miguel