Tuesday, 1 June 2010

World clocks now in sync

The game world clock is now synced across network clients, time advance and day-night cycles locked. Accuracy is down to round-trip packet times plus a few milliseconds. More than enough to keep entity spawn times and waypoint navigation in close sync.

I'm as yet unsure how often to send clock updates, currently it's every half-second which is quite aggressive, it's easy enough to tweak. Clocks run on client and frame-rate independent so they don't need to be updated  often. They just need the occasional time sync from the host or when the host is changing the time-of-day.

Chat channels work well, need to add the player name to the prefix. We have a player profile set in the game config but this carries no player name or any other data as yet.

Almost ready to test that NAT punch-through.

** update **

More testing with the network raised some points. My wife likes to chat a lot, console input buffer isn't long enough to accommodate all in one entry. The flashing Cursor sucks isn't very good.

Clock sync every 2 seconds works just as good with forced update on time-advance.

Issues with keeping track of current client/host connection were resolved. Status bar now shows connection status and number of connected clients as (H:n) as a suffix.

Using GUIDs instead of IPs to map clients.

Sent first goldspam message in Combat-Helo, which doesn't even use gold.

2 comments:

  1. I don't know about how many times you need to actually refresh time but every 2-5 seconds sounds nice enough. You can always make it available through the game settings or an external config file for people to tweak it if necessary.

    ReplyDelete
  2. Hello friend. Can I interest you in some gold? We have over 100k gold in this server. Speedy delivery (less thank 10 minutes).

    Ah... The joys of gold spamming. Misty eyes here.

    ReplyDelete