[sldev] history question: physics on the server- first for SL ?

Dale Mahalko dmahalko at gmail.com
Mon Mar 9 16:59:27 PDT 2009


Many qualifiers here so this is hard to answer.

SL was probably the first non-game "3D virtual world" with physics, period.


If you allow 3D and even "2.5D" multiplayer games to count as a very limited
sort of virtual world, where the interaction mainly is to run around
shooting things and typing insults back and forth then no, it is not the
first 3D virtual world with server-side physics at all.

Server-side game physics existed all the way back to id's DOOM running on
IPX and dialup. The physics were very simple, in terms of "you cannot run
through walls, you get hurt if you fall a long ways or are crushed" but it
was indeed all server-side. The game client merely sends information like
"player is pressing the forward key" and it is up to the server to act on
that and actually move the player.


For games with just one or two people, it is possible for one person to play
as the server machine with almost no latency, but historically 8 or more
players doesn't work from a home-based server since the server must send and
receive a large volume of data to all clients equally.

Since most residential Internet service has capped outgoing speed vs
incoming, a home game server can only handle up to the outgoing rate, which
may only be about 4 people. More players than that requires a business T-1
or greater with equal speeds in and out from the game server.

A five-year-old Unreal Tournament 2004 server hosting 32 players may be
easily burning 1500 kbit outgoing and incoming at the same time (48 kbit per
player), making it impossible to run from most home broadband available even
now.

This, by the way, is going to be a real problem if / when OpenSim becomes
popular. A home OpenSim is not going to be able to handle more than maybe 4
people in the sim if your home broadband is capped at 512 kbit outgoing,
even if the incoming speed is 5 megabit.

If you want more people in your OpenSim you will need either a business
internet connection to your house or put the server in a colocation facility
... in which case, why not stick with SL's already colo-hosted servers? (I
really don't think anyone has thought this part of OpenSim through. Is it
really going to be worth it to get a "free" sim that costs $xxx for the
monthly colo bandwidth fees, on a rackmount server that costs $xxxx?)



In most 3D multiplayer games, the information about the location and state
of all players is sent to all clients, whether or not the player on the
client can actually SEE the other players. It is too much work for the
server to deal with 3D occlusion so all updates are sent for all game
objects all the time. If you could somehow connect to the game and hide the
3D map completely you would see all players and game objects like guns and
powerups floating around in empty space.

A way to cheat at 3D games is to modify the game maps to put windows in
walls to see into otherwise unseen nearby rooms and hallways. Although these
windows are unknown to the server and cannot be fired through, this lets you
gain an advantage to see the players moving around in parts of the map you
should not normally see into, so you can fire a rocket at someone just about
to come around a corner 50 yards away, etc. Servers do checksums on client
game files to protect against this sort of 3D mapfile hacking.

In this regard, SL is probably the first 3D multiplayer evironment to NOT
send this data to everyone all the time, since it is just too much data and
would overwhelm slower clients. AFAIK, SL doesn't do 3D occlusion checks
either, but instead just uses your viewing distance and camera's view
frustum to determine what updates it needs to send to your client. I have no
idea if the hiding of small distant objects is part of this limiting of
updates sent to clients.


- Scalar Tardis / Dale Mahalko


On Sat, Mar 7, 2009 at 11:18 PM, SignpostMarv Martin
<me at signpostmarv.name>wrote:

> A question thats been bugging me lately: Was SL the first major (or ever)
> virtual world environment/mmo to simulate physics almost entirely on the
> server ?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20090309/cfbe3585/attachment.htm


More information about the SLDev mailing list