I've just tried my first Multiplayer Ashes game with a friend. The results were horrible.
Players: 3 - Me + Friend + Challenging AI
Results: As already mentioned by someone else in the Multiplayer thread the game works fine for a couple of minutes then starts to lag with the message that the other player is slowing down the game. This happens regardless who hosts. Units then start not responding to orders, jump around the map and generally WEIRD things start to happen like dreadnought bays vanishing and more.
Reason: The reason for this is rather easy to diagnose if you know what you are looking for. Ashes simply uses ALL of the available upload bandwidth after a couple of minutes. This starts of at a relatively heavy 12 KB/s and goes up to 60KB/s which is the limit my connection can support in the upload direction.
This begs the question of who designed that netcode. Its horrible. We have not yet tried to see whether it is the AI which is causing this much traffic or if it is the syncing of the gamestates. If it is the AI then maybe the netcode is not at fault but rather the AI Design. If it is not the AI then we need a fix for this netcode. Soon.
Sorry if this post sounds a bit hostile but I know how bad multiplayer performance can kill a game in its early stages and I do not want this to happen to this game. If there is one thing modders can't fix about a game it is engine details like this.
I wonder if Ashes actually works by syncing the full gamestate all the time in a star topology? In that case you would have to have a very strong server in the center which I think is rather hard for the normal client to handle (upstream wise).
Actually I'm a bit confused about how you do the simulation in this engine. The fact that units can suddenly move lets me think that you're actually diverging from the model of synchronized symthreads for this game (which in and of itself is not a bad thing). It would be interesting from a developers point of view how you are trying to approach the netcode in this game.