Ok, in case you are talking about terrain, the ground, the floor, and
you want
to send the terrain from the server to the client, I disagree.
The server is currently ignoring terrain. And I think thats a good idea,
mostly.
In fact, we will have to take some of the existing load of the server
already.
See, the terrain has just one purpose. Be there, look good. People dont
care if
the terrain is fully integrated really.
Ok, look at Star Wars Galaxies.
The terrain is more or less ignored by the server. I don't think the
server knows more
about the terrain than some pre calculated heightmaps that both he AND
the client has in
binary form. Do people care? NO! They pay for it.. ;)
The SWG client is SO simple, it almost makes me cry in despair. Still,
it looks good. Why?
It displays nice terrain, it displays nice 3D objects (not even a lot,
just big ones),
and it is fast. Who cares you can shoot through the terrain? :)
Also, the client does his own prediction of where the player is, and its
own collision detection,
which means the clients position is sometimes FAR away from the server
position, but they dont care!
We should not send the terrain over the network at all, terrain should
remain totally client side.
The server will work AGL (above ground level) which means terrain can
change the height on the client.
Also, we need collision detection on the client, and the client should
send the SERVER the position, not
vice versa.
Currently:
Client -> Server : Move 10,10
S -> C : Pos 1,1
S -> C : Pos 2,2
S -> C : Pos 3,3
...
...
New way:
Client -> Server : Pos 1,1
S -> C : Yup
C -> S : Pos 2,3
S -> C : Negative, reason: collision
C -> S : Pos 2,2
S -> C : Negative, reason: dead
C -> S : Pos 20,20
S -> C : Negative, reason: moving too fast
...
...
And so on.
Basicly, the client can do whatever he wants, as long as it isnt
violating rules.
This means people with fake clients can run behind objects, but it
wouldnt do any good cause
there is nothing to look at really. Then we need to add real perception
of course.
I think the new server should employ that strategy, the old one was a
test but it didnt quite work
so well.
SkyFlash
P.S: To your question, we shouldnt transmit 3d meshes over the network,
just object names. In fact, object
IDs would be even better.
> Well, as you know actually in Arianne Map is send as a serie
> of object of
> type Map ( or whatever ) that define a 3D mesh.
>
> Well, I propose to make the map, that is a 3D mesh to be
> that, a 3D Mesh or
> a heightmap or whatever, but directly understandable by the
> 3D engine and to
> send the map from server to client as a stream of data and
> not as Arianne
> objects.
>
> I would make our work simpler and more good looking.
>
> I would like to know if there is any disagree about this.
|