Wednesday, November 7, 2007

A Toy Virtual World Game

I invented a toy-game for thinking about virtual worlds, since attempting to think or discuss a complex system like SL is just too difficult due to so many variables. The idea is to boil down an SL-like VW to the smallest possible subset that still exhibits the same scaling properties of the current SL region server.

Its a game called Boxes and Balls

There are 2 entities in the world: human controlled avatar Balls, and game artifact Boxes.
They both have two forms of state: position of their center in the world, and color.
All balls and boxes all have uniform size.

Humans can freely choose any unique color for their ball to begin with, but the color remains constant for the life of the ball avatar.
Each box can have variable color depending on world conditions.

The world itself is an infinite plane to which the player can move about; however the player is restricted to motion on the plane.

Balls have these actions available to them:
1. move at a uniform rate
2. create a new box that is the same color as itself
3. eat an existing box that is the same color as itself
4. paint any box the to be the same color as itself

The rules that apply in the world are:
1. when a ball collides with another ball, or a box of another color, their motion is halted
2. when a ball collides with a box of its color, it can pass through it
3. created boxes have the same center-position as its creator, at the moment of creation
4. to eat a box, the ball's center must be within the boundary of the box
5. each ball has an Effective Radius, outside of which nothing can be seen or painted

The requirements of the game design:
1. that the game is experienced uniformly by all players -- all players will agree on a consistent interpretation of the game state
2. that the game is scalable to 2M concurrent users

The way in which this models the tough parts of a VW is the way in which any player can affect the state of any other player's physical world within the effective radius.

The way in which this doesn't model the tough parts of a SL-like VW is there is no scripting.

No comments: