Metaplace! That's what!

Build a virtual apartment and put it on your website. Work with friends to make a huge MMORPG. Share your puzzle game with friends. We have a vision: to let you build anything, and play everything, from anywhere. Eventually, anyway. We have to finish first.

Latest Forum Posts

Diehvel on Alpha Closed?

July 24th, 2008 at 8:54 AM PDT
3 Replies, 29 Views

DarknessFalls on Alpha Closed?

July 24th, 2008 at 8:49 AM PDT
3 Replies, 29 Views

Diehvel on HELLO RED NAMES

July 24th, 2008 at 8:42 AM PDT
12 Replies, 127 Views
MetaForums
Media Info

Feel like writing about Metaplace.com on your own site? Maybe you're a journalist? Here you'll find all sorts of materials that might make that easier: fact sheets, screenshots, logos and other artwork, and all the other handy stuff that goes in a Media Kit. Go nuts -- you've got blanket permission to use any of this stuff!

Contact Info
Areae, Inc.
11770 Bernardo Plaza Court
Suite 101
San Diego, CA 92128
USA
Phone: 858-451-2700 Fax: 858-451-2722
For press enquiries, please email:
FAQ

Our motto is: build anything, play everything, from anywhere. Until now, virtual worlds have all worked like the closed online services from before the internet took off. They had custom clients talking to custom servers, and users couldn't do much of anything to change their experience. We're out to change all of that.

Metaplace is a next-generation virtual worlds platform designed to work the way the Web does. Instead of giant custom clients and huge downloads, Metaplace lets you play the same game on any platform that reads our open client standard. We supply a suite of tools so you can make worlds, and we host servers for you so that anyone can connect and play. And the client could be anywhere on the Web.

We hope there will be millions of worlds made with Metaplace. It could get hard to find stuff if we're right, so the portal lets you easily search, rate, review, and tag worlds and games of all sorts. You also get a user profile so you can find each other.

That's sort of the whole point. You should be able to stage up a massively multiplayer world with basic chat and a map you can build on in less than five minutes. It's that easy. Inherit a stylesheet -- puzzle game, or shooter, or chat world -- and off you go! Building maps and places is as easy as pasting in links from the Web, and dragging and dropping the pictures into your world.

What's more, you can link your world to someone else's world. Put a doorway in your virtual apartment that leads to Pirate Vs Ninja-land! Stick your world in a widget on your Facebook or MySpace profile. Mail it to a friend and they can log in with one click.

You can make pretty much any sort of game or world you want. You can decide whether it's massively multiplayer or not (it's MMO out of the box, but you can set it to a lower size if you want). You can decide whether to have physics or not, you can change the keymappings and the interface, the sort of stuff there is in the world, the maps... basically, it's all up to you. Game logic is written in MetaScript, which is based on Lua. So it's easy to make whatever kind of game or world that you want.

Metaplace will support everything from 2d overhead grids through first-person 3d. However, right now we only have clients that do 2d of various sorts, including grid view, 2d isometric, 2.5d heightfields, and so on. We expect to keep working on the 3d client support.

We speak Web fluently. Every world is a web server, and every object has a URL. You can script an object so that it feeds RSS, XML, or HTML to a browser. This lets you do things like high score tables, objects that email you, player profile pages right on the player -- whatever you want. Every object can also browse the Web: a chat bot can chatter headlines from an RSS feed, a newspaper with real headlines can sit on your virtual desk, game data could come from real world data... you get the idea. No more walled garden.

Metaplace is made by Areae, Inc. We're a team of veterans of the game and Web industries who thought that the current way of doing things was kinda slow and didn't give users like you enough control. Check out the company website to learn more about us!

Developer Blog

Modules and Stylesheets

If you’ve been following Metaplace for a while, you have probably seen these two terms tossed around. But there’s hasn’t been a clear explanation about what the difference is – and they are very different! These are pretty central aspects of the Metaplace system.

A big part of the point of Metaplace is making world- and game-building much easier. After all, over the last few years, it’s gotten really hard to even make game mods, much less make games from scratch. And in the case of virtual worlds, it has basically been out of most people’s reach since the days of text muds. With Metaplace, we wanted to attack this problem on two fronts: make it easy to base a new world on an existing one, and make it easy to use stuff that others have made in your world.

Stylesheets

A stylesheet is basically a whole world, ready to go out of the box. When you go through our Create World wizard, you are asked if you would like to use a stylesheet as a starting point. You can choose to say no if you think you’re “l33t,” but if you say yes, you can basically have a fully-functional world up and running in thirty seconds instead of thirty months.

How does it work? When you are in the build tools, instead of hitting the usual “save world” button, there’s a “save as stylesheet” choice. This will save everything that you have done thus far in that world: all map building, placed objects, scripts, imported art, everything. If you choose to publish it to everyone, it goes into the stylesheet directory on the website, and then worldbuilders can use it as a starting template.

For example, we have a space shooter game that we made in-house called Uberspace – we’ve posted screenshots of it before. You fly Asteroids-style through space, in an overhead view, and shoot each other. We have an "Uberspace stylesheet" that you can create a fresh world with. The original Uberspace will be untouched, of course – but your new world will look identical, and it’ll be just as functional as the original pretty much as soon as you finish the wizard.

But then you can log into that new world of yours with the build tools, and start replacing the sprites with hand-drawn pencil sketches of World War II tanks. Change the walls to isometric trees, change the view to isometric, and change the movement script slightly so that your tanks don’t fly forever with a little bit of thrust, but instead coast to a stop pretty quickly. Just like that, you’d have a very different feeling game that still had all the other nice stuff that the Uberspace stylesheet supplied, like online high score tables or a power-up system.

Bottom line, stylesheets are a very powerful way to get going with a world of your own without needing to design from scratch. We plan to create a bunch of stylesheets internally, including a few common types like puzzle games, a few types of arcade game, chat rooms, and so on. But we also expect the library to grow rapidly, because any user can make their world into a stylesheet.

To help you find stylesheets, they get profile pages just like actual worlds do, so they can be discussed, reviewed, rated, tagged, and searched for.

Modules

What if you don’t want a whole world, but just a small piece of functionality? That’s what modules are for.

A module is a package of world elements. It could include scripts, template data, art, or commands and keymappings. You build a module by identifying all the pieces that you want to bundle up, then exporting those pieces as a standalone little package. Unlike a stylesheet, a module cannot be booted up on its own and logged into. It has to be imported into a world. One of the building tools is, naturally enough, the tool to bring in modules from elsewhere so you can use them in building.

A well-designed module is a standalone piece of functionality that doesn’t rely on other scripts or assets to be present. In other words, it can be pasted into any world. It might even be configurable – the scripts in a module can choose to expose configuration values so you can set them up in a properties window, without needing to actually open the code.

An example might be a little radio that chatters out headlines from an RSS feed – say, from the Metaplace blog. The module builder would select the script for the radio, the art, and maybe two commands – turn on and turn off, let’s say. The script might expose some configuration fields, like the address of the RSS feed to read in, and an interval at which to spit out text.

These elements get bundled together and exported as a module. You can browse modules on the website and import them into your world. In this case, you might see “RSS Radio” in the search results. Bring it into your world, and you automatically get everything needed to just place the radio. Click on the radio’s script, and in the properties window you can change the RSS feed’s address and the chat interval. Then just place the radio in your world somewhere.

Modules are great for adding “smart objects” like the radio, soccer balls with physics, dance mats, etc., but they’re also good for adding things like leaderboards, health bar systems, online high score tables, web services, and so on. Think of them like widgets for your world, applets or plug-ins. We expect and hope that buying and selling of modules will be one of the top activities on the Metaplace marketplace. And again, any builder can create a module, so we hope that the library will be large.

So that’s the low-down on stylesheets and modules. We’re especially excited not only about how they make it easier for non-technical folks to make stuff, but also how they provide a nice on-ramp for people who want to learn scripting. With these tools, you can start out by making small projects, like modules, or just modifying an existing world, before you tackle that giant three-year project you’ve always wanted to make.

-Raph Koster
Founder

Previous Post | 3 Comments | Next Post
Posted on Monday, November 5th, 2007 at 2:41 AM PST

Reader Comments

Mycon said:
Once you have a module in your possession are you always able to see the code/scripts behind them and break them down into their individual parts such as sprites, sounds, etc? Or can modules be 'locked' prior to distribution?

-Mycon-
on Monday, November 5th, 2007 at 1:19 PM PST:
Eolirin said:
In some interviews, I believe Raph said that you could basically make modules closed source, such that they could be distributed but not read/edited. I think that's part of the reason, besides the obvious advantages for ease of use, for why there's an ability to configure various fields for a module without touching the actual code.

Also, the way I'm reading it, a module may contain more than one script, but a well formed module shouldn't have outside dependencies. Internal dependencies should be fine, since they're packaged up with the module... but if you need a script outside of the module to run the module, then you're going to run into problems. That's pretty common sense though... it defeats the entire purpose of easy drag and drop functionality with the modules if you can't actually get them to work because there's a script missing. That being said, I'm *not* a dev member, so I could be wrong. It just wouldn't seem to make much sense for them to do it the other way...

I am curious though if you can package up graphical/audio assets into a module? I know that you wouldn't, or shouldn't at least, have a module package that requires a specific external asset, but is it possible to include one inside the module? At that point you've very easily be able to make it a requirement, since it's sent around with the scripts. I think it could be kind of interesting to allow that, even though there are some issues with it. If you make the asset part of the closed source functionality, such that you couldn't change it for a scripted object if the maker set it to closed, it would basically allow content generators to have very easily identifiable objects. It'd be almost like putting their signature on an object, and after a while, you'd be able to easily tell when their object was being used. It would however, prevent the object's use in worlds that have conflicting styles, so there is a big downside to allowing it. And granted, you *can* achieve a similar concept of "signature" simply by using the scripting system (having a button or popup that says "item scripted by ... " for instance, but it's not quite as immediately obvious, or impacting on a sensory level, and if done badly it becomes extremely annoying.

I'd also hope that if that were possible, that it's equally possible to make the assets changable respective to the script, assuming the content creator allows it. Preferably without having to edit the scripts directly.
on Monday, November 5th, 2007 at 2:13 PM PST:
dr0 said:
Very cool. You can start out just tweaking and switching artwork out and gradually move into scripting at your own pace. Exactly what I need, lol.

Modules kind of remind me of Maya's basic structure, which is 'nodes with attributes that are connected.' Everything is a node with an input and an output, and you can build really powerful objects and processes that way.
on Monday, November 5th, 2007 at 8:10 PM PST: