Top

Interview: Areae’s Raph Koster Talks Metaplace

Published October 11, 2007

| Print Print | Single Page Single Page | Discussion Discussion: 10 Comments

Our interview with Raph Koster continues…

Interview, Part Two:

The MMO Gamer: You’ve said that you’re “client agnostic.” Could you tell us what you mean by that?

Raph Koster: Metaplace uses an internally developed tag language. We call it “metamarkup,” because we just stick “meta” on the front of everything. We’ve also in the past called it “game markup language,” because that’s really the core of what it is. It’s a markup language for describing games.

Like any markup language, how you render it is up to you. So, we’re providing some reference clients, and instructions on how to write a client, but we’re letting anybody write a client from day one.

And the markup language is designed so that you can ignore tags that your platform can’t handle, so you could write a text client if you wanted to, you could write a passive webpage client, you could write a client that is a graph view of the data. you could write a cellphone client, you could write a 3D client, you can really write any client you want.

By default the worlds don’t make assumptions about what client is displaying them. You can make a world that requires a certain level of client, you can make a world that’s like, “Hey, this is Tetris, if you don’t have graphics, you can’t play,” or, “Hey, this is an FPS, if you don’t have 3D you can’t play,” and you can tell the client, “No, you can’t come in.”

A lot like on the web when you’re on a mobile browser and you can’t do something, that kind of thing.

The point is that the system doesn’t care what the client is, and that’s the level at which Metaplace is client agnostic, an individual world might not be.

The MMO Gamer: Do you think that broadband penetration has gotten to the point where moving entire games onto the web—even up to the scale of an MMO—is viable?

Many people, for instance, still only have 756K DSL. Would that be robust enough to handle anything that, say, a high-end game could throw at it?

Raph Koster: We have been doing bandwidth testing, and it looks to us if you can get around 1.4K per second, per user, you can handle quite a lot of real-time action with physics and whatnot. That’s 1.4K per user per second, bytes, not bits.

So the answer is yes, you can. You can actually do it.

The MMO Gamer: You’ve said previously that someone could have a barebones MMO up and running in five minutes or less, right?

Raph Koster: That’s right.

The MMO Gamer: So let’s say I’m Johnny Q. Player, and I want an MMO to put up on MySpace. I’ve never so much as heard of Lua, and I think games are delivered to EB by the stork.

Walk me through it.

Raph Koster: You come to Metaplace, and you register. You don’t have to fill out very much info to register. Then you click on the Create World wizard, and it says, “Great! What do you want to start with?”

And you want the apartment to put on MySpace or something, so you click “I want to start with the apartment for MySpace!” and it says, “Great! Ok! Do you have like a Flickr photo stream or something that you want on your wall?”

You say, “No, I don’t have anything like that.” It says, “Ok, what’s the name of your apartment?” And you name it the Steve Crews Apartment. “Ok, here’s your URL, and here’s a block of code for you to paste into your MySpace profile.”

Those of you who are only listening to this don’t know this, but he actually got to see this. It took a lot less than five minutes, you can actually do it—even if you stop and read everything—it’s more like forty-five seconds.

The MMO Gamer: Someone who has never even heard of Metaplace comes to my MySpace page. Is there a plug-in to install? Or do they just see the apartment like that [Snaps fingers]?

Raph Koster: They just see the apartment. That client is written in Flash, and at this point everybody has Flash—it’s so close to everybody there’s no point in counting the remaining one percent or whatever. So it’s just there.

And we don’t actually require a login for you to get into a world. A world might require a login if it wants, but we don’t require one. So if you make an apartment and you just use our default style sheet, everybody who browses to that page will be transparently logged in as a guest avatar.

If they have an identity that they want, they can choose to log in, and at the bottom of the embeddable client there’ll be a little bar that probably will say “Powered by Metaplace” and there’ll be a login choice there. But by default it’s just there. It’s just right there just like the ad banner is there, and just like the streaming video things are there.

The MMO Gamer: What about the editor? Is there a contemporary that our readers could use for comparison? Like, say, Neverwinter Nights Aurora, The Elder Scrolls Construction Set… maybe even Dreamweaver?

Raph Koster: I would say it’s simpler than NWN, and it’s simpler than Oblivion. Some aspects of it are a bit more like GarageGames, but it’s overall really simple.

Let’s say that you wanted to just make a nice little forest landscape. You would log in to your world using your tools client—again, we’ve got one on the web, it runs everything in Flash and Java, so you don’t need to even download a tool.

You go to the accordion of tools on the side, you click on the build accordion, it pops open, and you to see, “Oh, do you want objects, or do you want sprites, or what do you want?” You click on terrain, one of the options there will be, “Give me a hilly landscape.” You click “hilly landscape” and it generates a height field for you.

The MMO Gamer: Kind of like the Sim City map editor?

Raph Koster: Actually very directly inspired by the Sim City map editor.

That would give you a simple height field, you can smooth it, you can go in and edit it. Yeah, a lot of stuff actually is inspired by the Sims tools.

Then if you want to change it to have your smiling face for the terrain texture, you find a link to your smiling face from anywhere on the web—it might be on our image hosting, it could be on other people’s image hosting, it could be you already have it—whatever. You paste that link into the editor, and then you paint. It’s that easy. There isn’t any extra steps.

It’s similar for adding even more complex objects: You import the art, then you can start adding stats and stuff to it, but it’s basically the same process.

The MMO Gamer: No programming experience is required to build a basic world, correct?

Raph Koster: That’s right.

The MMO Gamer: How deep could you get if you had, say, professional programming experience?

Raph Koster: You can get pretty deep, because at that point, for a veteran programmer I would start comparing it to using Director, where you have behavioral properties that expose essentially properties that you can modify via a wizard, or you can click the Advanced button and actually open up the code.

And if you open up the code then you’re working in lots of bite-sized Lua files, each one an event-driven script with execution entry points and all that jazz. We have blocked off some of Lua, so we don’t let you for instance just do straight file system access, but we’ve added a lot of stuff to it, so you can do web services access, talk to a remote database, for example, or a distant website.

You can go pretty far. One of the games that we did internally was basically a clone of Subspace. It was like a sixteen player Subspace clone, and it has web facing high score tables, and physics, and a dozen kinds of pickups and all kinds of stuff, and it’s all built in this object-oriented fashion, so that you can drag just the little health bar module out and use it in other games, and all that kind of thing.

And that was basically one guy for three weeks. So, you can get pretty far.

The MMO Gamer: What if somebody is really, really antisocial… could you make a single-player Metaplace world?

Raph Koster: Yes, you can. This actually isn’t something we’ve talked about that much, but yes, you can make a single-player Metaplace world.

One of the things you as world owner get to set about your world, part of the building process, you get to say things like “I want my map to be this big, I want art, scripts, how many people it holds… and at what threshold it instances.”

So, you can set up instancing at one, whereupon it will create instances of single player games, but you’ll still have the advantage that each of those instances can talk to the web, spit out high score tables, that kind of thing. You can also set it up so that it is one player playing and everybody else just watching. So, that’s kind of cool, too, you can do it that way.

The MMO Gamer: Once your world is up and running, when you use the editor to add content, can you do that in real time, or, do you have to update it when you’re done, or take the entire world offline while you update it?

Raph Koster: It is real time editing. Imagine if you were messing around in Sim City and other people were messing around at the same time you could see the stuff that they were changing.

The MMO Gamer: You mention that all of the worlds in Metaplace are going to be linked together. How is that going to work? You just have a link sitting around to someone else’s world? Or, for instance, could a friend and I link our two worlds together physically, and have the ability to move back and forth between them?

Raph Koster: Because Metaplace works the way the web does, a location in Metaplace is a URL with an anchor. So, a coordinate is literally an anchor.

As a builder you actually get to specify what anchors there are, so what you usually would do is mark the entry doorways, or teleport spots, or spawn points, or whatever. You can easily—I mean this is one of the stock, obvious scripts that we have—is have a script that what it does is tells you to go browse to another anchor point, which, what that does is essentially takes you to that other world.

The other world might not have a link back—again, it works the way the web does. You don’t just walk from world to world, necessarily, because walking from Tetris into WoW is kind of a dumb idea. There is no “you” in Tetris to walk.

If the worlds are both avatar-based, and they happen to share the same style sheets that it even makes sense for you to walk from one to the other, then you can set them up to walk from one to the other. But it also doesn’t make sense for you to fly your EVE spaceship into WoW and start blowing up orcs.

The MMO Gamer: That was actually going to be my next question.

Raph Koster: [Laughing]

The MMO Gamer: If someone would say, be in my far-future sci-fi laser blaster world, and clicks on a portal to an elves and pointy sticks land, how would that work out?

Raph Koster: If they have never been to elves and pointy sticks land they’re probably going to create a character there.

Our take on this whole “universal identity” thing is that people don’t actually want it in their virtual worlds. People like having alts, and they like being a spaceship person in one and an elf in another. They like that and they like that consistency.

So, we’re not going to break that. We’re going to say, “If you want people to be able to move, then you’re going to have to agree upon standards between your worlds so that it would even make sense for somebody to move across,” and the easiest way to do that is for them to actually be worlds that use the same game rules.

You can do that, you can have worlds that show the same game rules linked together, and then each world is more like a zone of a larger thing.

The MMO Gamer: So is all of this running entirely on the web? Is anything client-based?

Raph Koster: The client is really, really thin and stupid, actually. Our Flash client is currently around 30K. It’s really, really thin and stupid.

The client is basically a network client, and, hell, we even use telnet as our base protocol for Flash because it can’t do UDP. It’s very simple network, it’s got a web browser in it, that’s how it fetches assets from the web, and it has essentially a tag parser and an input mapper, that’s it—oh, and a renderer, if you want one.

That’s it, really. So the clients are really, really thin. Really, really thin.

The MMO Gamer: On your personal website you have a somewhat famous quote: “Never put anything on the client. The client is in the hands of the enemy. Never, ever, forget this.”

Raph Koster: Yes.

The MMO Gamer: Is Metaplace perhaps the ultimate expression of this? Moving the entire game onto the web?

Raph Koster: Yes, actually. It’s interesting because I think a more typical question would be the reverse, it’s like, “You’re letting everybody write clients, ahh!” you know? But it’s actually the opposite.

All of the game logic is on the server. We have a cool thing with the markup, which is that you can define, for example, keys that all they do is send markup to the client locally. But, again, that doesn’t let you do anything to effect anybody else, and so it’s mostly for doing things like playing sound effects locally, stuff like that.

All of the logic is on the server, always.

The MMO Gamer: What if someone wanted to write, say, a standalone full-screen client that people could download to their desktop. Would they have the ability to do that?

Raph Koster: [Yes they would], I hope they do, and if they do we’ll host it for them.

The MMO Gamer: What about a client on the Apple] [? [Read companion article for the background on this question]

Raph Koster: I would not only host that for them, I think I would spotlight them. Only, I’ve got to tell you I was an Atari 8-bit guy, myself.

The MMO Gamer: You’ve stated that the system will have the capacity for 3D, but it will not have 3D support at launch. Would that be something you’d be developing in-house, or something you’d leave to the community?

Raph Koster: We’re currently planning on developing it in-house. If the community decides to pick up that ball and run with it, we will gladly cancel said plans.

Our plans for that are—the system is architected because it’s markup based, right? To us, adding 3D is essentially two things:

One, it’s creating a reference client stuff that handles more file formats. So right now we handle a whole bunch of file formats, 2D assets, audio, streaming video, stuff like that. It would essentially be adding loaders for things like COLLADA, SketchUp, or whatever else. And we probably would start with stuff like COLLADA, or SketchUp, because they kind of cut across a wide array of tools.

And then, the second piece that we would develop would probably be a standardized fallback system, so that an asset could be represented with a 3D asset and a 2D asset, and the client picks which one it’s capable of drawing. So we would want to add the fallback support to the tag language so that it becomes part of the standard that everyone can write to.

But, we’re not a company that’s going to be out there writing cool renderers, that isn’t really our expertise. So, more power to ‘em.

The MMO Gamer: As to the capabilities of the renderer once it is available, what sort of features do you anticipate being supported? I assume we’re not talking about Unreal 3, here.

Raph Koster: The nice thing is that because of tags, you can actually add features. It’s fairly easy to say, “Hey, we’ll support a mesh, and then we’ll support skeletal animation for that,” and then we could do things like say, “Ok, now a new tag sends down a specular map, and you can apply it on top of an existing texture. Now a new tag sends down a bump map that you can apply on top of an existing texture.” It is possible to actually add stuff like that.

Currently we’re not doing any of it yet, but it’s not hard to envision. Again, we’re not really client developers, so we haven’t wasted a lot of cycles thinking about it, except to make sure that the system will support that kind of thing.

The MMO Gamer: Tell me about the portal, Metaplace.com. When you go live, what are people going to see there?

Raph Koster: They’re going to see a front page that has spotlighted worlds, that will be cool ones from the community, maybe ones that—frankly—we sold the real estate on the front page to.

There’ll be listings a lot like the front page of YouTube: Popular worlds, most recently added worlds, top worlds within categories, popularity based on rating, based on traffic, based on critical acclaim…

The front page is basically a way for you to come to the page and find something. If you dig a little deeper you’ll find much deeper indexes of the worlds, broken up by category, tag cloud, search indices, all kinds of ways to locate stuff.

You’ll also find user profile stuff. You don’t need to be a member of Metaplace to play anything, you only need to be a member to build something.

However, that said, players may want to have a profile anyway because the profile is if you sign up with us then we can do things like track what worlds you play, give you quickie shortcut lists, track your play history, gallery of avatars that you could stick in a widget on your blog, your favorite worlds widget, stuff like that.

And, access to the virtual currency that we’re going to have across the network, which is a marketplace for buying things like disk quota, bandwidth, more worlds, stuff like that.

We’re not out to replicate social networks, we’re really basically not out to replicate anything, the whole idea with a lot of this stuff would be that you could export it from your profile onto any other page on the net. So we’ve been talking a lot about essentially having an achievements kind of system that exists network wide, badges, for creators and players, stuff like that that is across the whole spectrum of all the Metaplaces rather than being about one world.

Pages: 1 2 3

Comments

  1. Morrighu posted the following on October 13, 2007 at 5:37 pm.

    I’m with an open source gaming project and we’ve been working on this very thing for 3 years. We’re split into two teams - one working on the RML or Ruleset Markup Language and one working on rest of it, which is actually or game.

    Our RML team’s web site is http://www.rpg-gamerz.com/smf

    Our Epoch team’s web site just being built at http://www.magnaturris.com/site

  2. Trackbacks and Pingbacks

  3. Raph’s Website » The MMO Gamer Metaplace interviewPingback from

    […] The MMO Gamer » Blog Archive » Interview: Areae’s Raph Koster Talks Metaplace […]

  4. Metaplace Place - News » The MMO Gamer interviews Raph about Metaplace.Pingback from

    […] http://www.mmo-gamer.com/?p=273 […]

  5. The new DIKU? - Top Mud Sites ForumPingback from

    […] in more detail — this is a good one to get an idea of what this thing actually is all about: The MMO Gamer ? ? Interview: Areae’s Raph Koster Talks Metaplace I have to admit It’s starting to sound pretty damn cool. What are people’s opinions on […]

  6. Grand Text Auto » Koster on Metaplace, MUDs, MMOs, MorePingback from

    […] on Raph’s website, I came upon a link to a large (three part) interview about Metaplace on MMO Gamer. It’s wide-ranging and generous, delving into the history from which the project grows, its […]

  7. Areae's Metaplace announced - Page 8 - Fires of Heaven Guild Message BoardPingback from

    […] about Metaplace. It is very indepth, about 4 pages I believe, and answers a lot of questions! The MMO Gamer ? ? Interview: Areae’s Raph Koster Talks Metaplace __________________ Uberguilds Radio - Internet Radio for the MMO […]

  8. Elektroblog - techsty i okolice » Metaprzestrze?, czyli Internet przysz?o?ciPingback from

    […] a “?wiaty” internetowe zast?pi? “strony” internetowe? Po przeczytaniu wywiadu z Raphem Kosterem - kiedy? jedym z g?ównych programistów legendarnej Ultima Online, a dzi? projektantem […]

  9. Jeff McNeill » Blog Archive » links for 2007-11-13Pingback from

    […] The MMO Gamer » » Interview: Areae’s Raph Koster Talks Metaplace (tags: metaplace) […]

  10. The MMO Gamer » » Metaplace Part Two: A Meeting at Rancho BernardoPingback from

    […] (which I will not be largely not be getting into, as this article is long enough as it is), we have an extensive interview on the subject you can read right here. Or, for those who prefer a slightly more visually stimulating medium, you can also watch the […]

  11. Interview: Hermann K. Peterscheck on Jumpgate Evolution, and NetDevil’s Design Philosophy : The MMO GamerPingback from

    […] last from between ten to fifteen minutes. Some last for twenty, a scant few for thirty, and only one has ever approached anywhere close to an […]


Leave a reply

Bottom