Jump to content

  • Log In with Google      Sign In   
  • Create Account

Need explaination how multiplayer works (i made example)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 aterkotoc   Members   -  Reputation: 101

Like
0Likes
Like

Posted 27 June 2014 - 05:26 AM

Hello i ripped some part of Isogenic Game Engine huh icon_lol.gif and made simple example with linear interpolation: http://jsfiddle.net/Pvs5r/
Really i'am trying to build a multiplayer pure-html5 game.
Works not bad, but i have questions.

1) Why do we need to render in past time -100ms from now. Cause that smooth entities movement?

2) Do i need to render all world in past time, or just entities which is NOT created locally (example my character).
How i'am think i need to render all NOT locally created entities in past time, and do direct input on locally created entities+send inputs to server.
Then when server receive inputs, he apply inputs on snapshot at time Now - (PING / 2) - InterpolationDelay;

3) Do i need to make code render entities just in past or just interpolate them to Now time?
I think if we try to interpolate them to now, they may bounce cause example entity change direction.

4) Nothing can travel faster than light, cause that we have ping, so we can delivery commands from client to server immedatelly without delay.
So question is: in games based on source engine, all clients at MOMENT NOW see similar world with small difference or they just render in past time and server deals with it? I Mean move players back using world snapshots in past time to register bullet hit e.t.c

Thanks, can wait for a reply.



Sponsor:

#2 hplus0603   Moderators   -  Reputation: 5304

Like
3Likes
Like

Posted 28 June 2014 - 02:56 PM

1) Because information takes time to travel, you can render accurate positions from the past, or predicted (guessed, inaccurate) positions in the "now."

2) Both ways can work -- everybody in the past, or locally-controlled actors in the "now" (or, more accurately, "future" as seen from the server.)

3) Depends on whether you choose option a or b from 1).

4) The Source Engine Networking article does a better job of describing that than I can.
enum Bool { True, False, FileNotFound };




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS