Needs more nerd with a laser pointer. by Rogerborg (2.00 / 0) #6 Tue Feb 05, 2008 at 08:58:18 AM EST
How much trust does it put in the clients?  This bit confused me:


Collision detection on client side

...

Server verifies and replicates a hit "packet"

I'm not clear on what "server verifies" means here.  Does the server actually verify the hit check based on its master copy of the world state?  If so, presumably it has to do so every time a client reports a hit, so how many cycles are you saving over having the server perform all collision detection all the time?

Also, what language are all those "functions" written in?  Is this yet another scripting language that devs are expected to learn?

-
Metus amatores matrum compescit, non clementia.


By doing the calculations both places... by fluffy (4.00 / 1) #7 Tue Feb 05, 2008 at 12:23:39 PM EST
You're not saving time or bandwidth, but you are reducing latency, which is very important in twitch-factor games like Unreal.
busy bees buzz | sockpuppet revolution
[ Parent ]

difference by codemonkey uk (4.00 / 1) #8 Tue Feb 05, 2008 at 12:34:43 PM EST
Well, in practice, for us, the server side check is more of a feasibility check than an accurate collision test.

But even so, if it was doing polygon perfect collision verification server side, it is still much faster for the server to do:

this->check(that)

Than:

for(all-entity)->find(all-possible-collisions)

So adding players doesn't cause the work load on the server to go up exponentially. 

But as fluffy says, the goal isn't reducing work load or bandwidth, but the player's impression of responsiveness and accuracy to his actions.

The RPC functions are all written on UnrealScript, a unique and special programming language, hand crafted by the scientists at Epic Laboratories.

--- Thad ---
developer of ... ?
[ Parent ]

Fair enough by Rogerborg (2.00 / 0) #9 Tue Feb 05, 2008 at 01:52:34 PM EST
What happens if the servers cries foul on the check?

Ah, scripting languages.  Why bother to go through the tiresome business of designing something when you can simply elevate suck-it-and-see hacking into a goal rather than an avoidable evil.  YMMV, of course.

-
Metus amatores matrum compescit, non clementia.
[ Parent ]

If the server says no by codemonkey uk (4.00 / 1) #10 Wed Feb 06, 2008 at 03:45:30 AM EST
Then the hit is not processed any further by the server, and any game state modified by simulating hit consequences on the originating client gets overwritten by replication (eventually), so the client using hax sees the hit  as if it went off, but doesn't get any advantage from hit.

--- Thad ---
developer of ... ?
[ Parent ]

Login
Make a new account
Username:
Password: