Jump to content

  • Log In with Google      Sign In   
  • Create Account

Moving & Spawning Objects Working! Need help with smooth moves!


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
3 replies to this topic

#1 bernatripoll   Members   -  Reputation: 122

Like
0Likes
Like

Posted 03 May 2014 - 09:32 PM

Hi! 

 

This is a demo video about how everything is working in our MMO game! Now, the server is capable to:

 

- Login system

- Moving characters

- Spawning objects

- Spacial partitioning

- Create objects (game master mode)

- Everything is stored in ram/database

 

Video Link

https://mega.co.nz/#!qFwTUJTb!s5PDqdCB9WZfWzsOsrG-b1t6G_FMGoEkAbVfuiCqdoQ

 

 

Now, the question!

The server sends player's positions 2 times per second, so, like you could see in the video, other players moves are sketchy, they "teleport" to their new distance every .5seconds, how could we "smooth" their moves? 

 

We have tried to do interpolation but maybe we're failing in something, best way to do that? Thanks!

https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking


Edited by bernatripoll, 03 May 2014 - 09:36 PM.


Sponsor:

#2 hplus0603   Moderators   -  Reputation: 5693

Like
0Likes
Like

Posted 04 May 2014 - 02:24 PM

When you receive an update for a remote player, instead of snapping to that position, make the entity start moving towards that position, such that it will arrive there one-half second from now.
That way, the displayed objects will always be one-half second behind when they are received, but that's better, because they move smoothly.
If you want to forward extrapolate the positions of the entities, check out EPIC: http://www.mindcontrol.org/~hplus/epic/

For most MMORPGs, half a second of delay isn't a big problem. If that turns out to be a problem for your gameplay, you'll need to send updates more often, at least for players/entities that are "important" to each viewing player.
enum Bool { True, False, FileNotFound };

#3 wodinoneeye   Members   -  Reputation: 876

Like
0Likes
Like

Posted 04 May 2014 - 08:55 PM

Teleporting...

 

There is that idea that the Clients view (presented to the player) tries to 'smooth' more jerky updates from the servers (not quite equalling the 'official' movements from the authoritive server) and as long as it doesnt effect game play the visual smoothing  is an improvement.

 

Possibly this may be selectively employed - with object out of interactive range being more 'smoothed' and closer objects which MIGHT still be jerky (when the differential between client and server positions is NOW impacting interactions) arranged to get more frequent updates (finer granularity) being more important to that client's player.


--------------------------------------------Ratings are Opinion, not Fact

#4 ferrous   Members   -  Reputation: 2146

Like
0Likes
Like

Posted 05 May 2014 - 10:05 AM


Now, the question!
The server sends player's positions 2 times per second, so, like you could see in the video, other players moves are sketchy, they "teleport" to their new distance every .5seconds, how could we "smooth" their moves? 

 

Smoothing aside, have you thought about scaling this depending on how close the other player is to the person?  At 500 meters, you could probably get away with even less than that.  At 10 meters, you might want to send it more often.  Granted that's introducing a great deal more complexity than just sending all players all the other players positions every half second, so I'd try to get the smoothing working first.






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