Print Story Inside the Unreal Networking Model
Diary
By codemonkey uk (Mon Feb 04, 2008 at 07:05:36 PM EST) (all tags)
As presented by me, at the Game Focus Germany conference, 2008.  See here: homepage.mac.com/codemonkey_uk/gfg08-transitions.html.  Exported slides as flash, which is missing the transitions, but all the content seems to be intact, so that'll have to do.  I kinda planned to record a voice track and export as quick time, but then I realised if I waited till I'd done that, it most likely would never get done.  It's a 2MB flash file, so be patient, it'll load eventually, just click to move through the slides.


Enjoy. :)
< A little bit of what's going on with me right now | Argh Sorry Yeah >
Inside the Unreal Networking Model | 10 comments (10 topical, 0 hidden) | Trackback
I don't know anything about the content, by muchagecko (2.00 / 0) #1 Mon Feb 04, 2008 at 07:42:36 PM EST
but I kinda expected some bits of animation.

But don't mind me - I'm not a programmer.

"It means more if you have to earn it, even if it's by doing something as simple as eating a meal." Kellnerin


FWIW, by fluffy (2.00 / 0) #2 Mon Feb 04, 2008 at 10:10:03 PM EST
you can also export as Quicktime without a voice track and then all your transitions will be preserved (Quicktime supports pause points).
busy bees buzz | sockpuppet revolution


And that would have been a lot better, even by fluffy (2.00 / 0) #3 Mon Feb 04, 2008 at 10:11:30 PM EST
Argh, this thing keeps on interpreting a single click as multiple page-forwards, and I can't see any way to go back a single page.
busy bees buzz | sockpuppet revolution
[ Parent ]

"easy" way by bobdole (2.00 / 0) #4 Tue Feb 05, 2008 at 05:49:59 AM EST
is manipulating the URL... the #anchor part indicates which slide to show, however it seems the slides that "double-click" automatically fast forwards even when you manipulate the URL so it seems like the thing is borked in the first place.
-- The revolution will not be televised.
[ Parent ]

nah, its just fugly navigation transitions by codemonkey uk (2.00 / 0) #5 Tue Feb 05, 2008 at 06:33:08 AM EST
you don't miss any content when it appears to skip a slide, that's just the weird way I set up the (visual) transitions, since the whole thing was set up with a "rolling blackboard" theme, it sometimes goes "back" scrolling past a slide you've already seen.

Ie, slide A has 3 bullet points, and extra information for each point is on slides A1 A2 and A3, so the transitions go (A [click]-> A1 [click]-> A2 [click]-> A3 [click]-> A [auto]-> B).

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

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 ]

Inside the Unreal Networking Model | 10 comments (10 topical, 0 hidden) | Trackback