Jump to content

Multiplayer Experiences


Recommended Posts

wacko and I played a multiplayer game. These are my notes about the game. I'm sure he'll have his own.

Some of these are so small, but make a big impact.

* BUG: Multiplayer desynced right after joining, but continued to work anyway. The error needs to not show. It's alarming!

* HMM: Multiplayer was slow. I have a powerful computer (4GB RAM, 1GB VRAM, and fastest internet connection I can get). It was playable, but very laggy compared to other 3D RPG's I've played (like Vendetta Online or EVE). Can the games networking packets be optimized?

* WANT: The game needs a chat history. Even if it's just a scrollable view above the chat input when you hit enter. Ideally though, the key 'h' would toggle between 'hide messages' (which it currently does), 'always show 5 messages', and 'show all messages', the last being an in-viewport chat scroll widegt.

* BUG: FOW needs to take into account sounds. Shouldn't be able to hear what the other person is doing.

* BUG: Moving on the minimap zooms in. This is not expected or wanted.

* WANT: Pressing ESC when the chat input is open should close the chat input, not offer to quit the game.

Link to comment
Share on other sites

* BUG: Multiplayer desynced right after joining, but continued to work anyway. The error needs to not show. It's alarming!
It's meant to be alarming :victory:. The usual cause of immediate desyncs is when the players have slightly different versions of data files - we probably ought to check for that specific problem at the start of the game and report it so it's easier to see when that's the problem. Other causes of desyncs are serious bugs and need to be fixed, but I think they're quite rare.
* HMM: Multiplayer was slow. I have a powerful computer (4GB RAM, 1GB VRAM, and fastest internet connection I can get). It was playable, but very laggy compared to other 3D RPG's I've played (like Vendetta Online or EVE). Can the games networking packets be optimized?
Slow framerate, or smooth framerates but jerkily-moving units? The first problem needs general engine optimisation (there are certain cases where e.g. pathfinding becomes very slow); the second problem needs better latency-adapation in the networking code (currently it'll be jerky if any players have >200msec RTT) and reduced non-network latency (move the network message processing into threads so it's not delayed by rendering).
* BUG: FOW needs to take into account sounds. Shouldn't be able to hear what the other person is doing.
Good point - filed as #591.
* BUG: Moving on the minimap zooms in. This is not expected or wanted.
#572.
Link to comment
Share on other sites

A temporary work around for the chat is to check the console. The chats stays there until it is pushed of by new messages. It also holds more messages I think. (The ` key shows/hides the console.)
True, but still not an elegant solution. Ideally, in multiplayer, the console shouldn't even be present to prevent people giving themselves resources for free.
It's meant to be alarming :victory:. The usual cause of immediate desyncs is when the players have slightly different versions of data files - we probably ought to check for that specific problem at the start of the game and report it so it's easier to see when that's the problem. Other causes of desyncs are serious bugs and need to be fixed, but I think they're quite rare.
I was running the latest Windows autobuild. I'm not sure about wacko.
Slow framerate, or smooth framerates but jerkily-moving units? The first problem needs general engine optimisation (there are certain cases where e.g. pathfinding becomes very slow); the second problem needs better latency-adapation in the networking code (currently it'll be jerky if any players have >200msec RTT) and reduced non-network latency (move the network message processing into threads so it's not delayed by rendering).
The second (smooth, but jerky units). I worked with another project a year or two ago that had a great multiplayer infustructure. http://globulation2.org Their code is GPL. You should be able to use it if possible. It's available at http://hg.globulation2.org/glob2-new/file/9fcbd36fe414/src (take a look at all files starting with Multiplayer*, Net*, or YOG*).

IIRC, it had latency scaling, as well as either gaming through a server, or P2P routing if the user had the right ports open. i.e. it found the fastest way to let players play. It worked really really well. Seriously worth checking out!

Edited by k776
Link to comment
Share on other sites

It is possible that there were differences in one or more entity files or scripts, as we've been messing with these a lot lately and it is usually advisable for players to both update the game immediately before initiating a multiplayer match for just this reason. :victory:
wacko and I were both using the same copy of the code at the time we ran it.

Phillip found a bug that caused desync when hovering over a unit. http://trac.wildfiregames.com/changeset/8255

So hopefully no more desyncs.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...