3 ms·
The main problem with multiplayer is that 0ad is still just using a single thread for everything, so all the path finding, rendering etc. competes with network
by Dunedan 8y ago
The main problem with multiplayer is that 0ad is still just using a single thread for everything, so all the path finding, rendering etc. competes with network related requests. One effect of that is that the player with the slowest hardware might introduce lag for all players in multiplayer games at the moment.
Splitting the game logic into multiple threads to have at least network related stuff happening in another thread is afaik on the roadmap for the next development cycle.
- ddtaylor 8y agoA group of friends were playing and really enjoying this game but suffered from these may problem. We all fired up Visual Studio and started debugging while playing and found the problems your discussing, but the problem doesn't have a simple "throw more threads at it" solution because of the deterministic nature of the game simulation relying on the path finding. What we were able to do was put a hack into the path finding code that bailed on one of the loops after X amount of steps. It made complex paths less accurate (clicking units across the map to attack far away) but actually made the game playable. We could actually control our units whereas with the lag it's completely unplayable late game with 3 players and 3 AI.
- Imarok 8y agoMaybe you want to help develop 0ad? Seems like you have some knowledge there...
- ddtaylor 8y agoUnfortunately I'm not in a financial position to donate my time right now.
- StanleySweet 8y agoCould you at least submit a diff of whatever you changed ? There are quite some changes planned for the Pathfinder see D13 on code.wildfiregames.com. But it might help any way :) Making a patch (diff file) shouldn't take you more than ten minutes :)