Sep 232021
 

Diagram one: the client and the server

Apparently, our recent articles have caused a bit of a stir. It’s been gratifying to see so many folks commenting and weighing in on what we have planned, and the metaverse in general.. One thing that’s really struck me is  the enthusiasm for the reinvention of online world technology. Whether a particular commenter is focused on decentralization, player ownership, or user creativity, there’s clearly a lot of interest in new ways of doing things.

In my experience, whenever we are exploring new ways to approach old concepts, it’s important to look backwards at the ways things have been done before. A lot of these dreams aren’t new, after all. They’ve been around since the early days of online worlds. So why is it that some of them, such as decentralization, haven’t come to pass already?

The answer lies in the nitty gritty details of actual implementation. A lot of big dreams crash and burn when they meet reality – and some of our most cherished hopes for virtual worlds have pretty big technical barriers.

Continue reading »

 Comments Off on How Virtual Worlds Work, part one

But First, the Game

 Posted by (Visited 5128 times)  Game talk, Gamemaking  Tagged with: , ,
Sep 162021
 

In the last couple of articles, I might have spent too much time talking about big buzzwords – metaverse this and persistent state technology that. I get it, it can be confusing!

If I were to start throwing around even more technical stuff – like, how we drive Node.js from our highly-optimized C# server backend to implement a TypeScript-based scripting environment so gameplay code can be reloaded without a build or restart – well, plenty of people’s eyes might glaze over.

So instead, I want to talk about why our overall tech approach makes for better lives for our developers and better games for our players.

A fundamental truth

To make better games, we need to enable developers to iterate faster.

Continue reading »

Sep 092021
 

Last week, I talked about “metaverse,” the hype around it, and how much of what people dream about is actually stuff online worlds have done for many years now. I ended the article on a bit of a tease, promising that I would talk about what we are doing.

I won’t tease this time.

We have built a metaverse platform.

Wait, did you say “have built?” Past tense?

Oh, it’s not done. We’re probably going to be working on this for years. But I say “built” because, well, we have the basics of this stuff working. 

Continue reading »

Apr 202015
 

This post is dedicated to the memory of John Roy, lead environment artist on Star Wars Galaxies. Help out his family here.

 

Corellia0023Let’s do some math. Let’s say that you need to have a pretty big world: sixteen kilometers on a side, and made out of tiles.

A tile needs to know what texture it is. That’s one byte. Not much, right? You only get 256 tiles on a planet, though, which isn’t a lot.

But wait, we can add some variety there, by putting in some colors. We’re in 3d, right, so we can tint the tiles slightly and get variation. It’s normally three bytes to apply a color, but let’s instead just say that each planet has a fixed list of colors, and you can have 256 of them, and that way each tile can look up into a list of colors and we only need one byte.

Oh, and it’s a 3d game heightfield, so we need to know what the elevation of the tile is! We’ll just say that there are only 256 levels of height, and that way we can keep it at a nice conservative three bytes per tile.

Corellia0004That’s good, because we need a lot of tiles. They’re one meter on a side. So that means that for a planet we need 16,384 just to make one edge. We need 16,384×16,384 to lay down the whole world.

That’s 268,435,456 bytes for this world. Of course, we need ten planets, not one. So, that’s more like 2,684,354,560 bytes. Nobody uses bytes, so that’s 2,621,440k. 2,048mb. 2.56 gigabytes, uncompressed.

That’s… not going to fit on a CD. I mean, that doesn’t include any art yet.

DVD drives weren’t yet widespread in 2003. In fact, taking up 2.5 gigs of space just for maps was unheard of.

Endor0040

The solution to that problem didn’t just let us ship Star Wars Galaxies, it also unlocked everything from player housing to crafting to giant Imperial vs Rebel battles.

bullet

Patent disclaimer

Before you read any farther, you should know that Sony Online actually patented some of the technology that I am going to describe. If you are someone who should not be reading technology patents, you should stop now.

Continue reading »

Google’s O3D and VW’s

 Posted by (Visited 6974 times)  Game talk  Tagged with: , , , , ,
Jun 012009
 

GigaOM has an article titled Will O3D Get Google Back Into Virtual Worlds?. Apparently, at the MetaverseU conference (which I usually attend but couldn’t this time), the tech lead for O3D said that his team’s next goal is to fully integrate it into Chrome. By the end of the year.

After his presentation, a group of developers surrounded Kokkevis, peppering him with tech-heavy questions. He told me there weren’t any companies creating MMOs in O3D yet, but he raised the possibility that Google might port Sketchup and Google Earth into O3D, “once we become part of the browser.” (Both have been implemented for MMO-related projects.)

I wrote about O3D back in April; its integration into Chrome is certainly interesting, but Chrome itself has quite a lot of adoption barriers yet. But it’s still highly intriguing tech to keep an eye on. If Sketchup and Google Earth migrate to it, that’s a pair of apps to drive adoption, for sure.

Meanwhile, the same article says Unity has reached 10m installs…