![]() if one player uses an item first, then the other player uses the same item that should be “gone” because first player was first but server receives later player’s packets before it receives first player’s packets, so server decides “first was last and last was first”). Some form of prediction (client predicts where moving objects will be, because it can’t know where they actually are due to networking delays) and it's going to hit games like Stonehearth harder, purely because the data that has to be sent for Stonehearth is all "keep the game" running data (unlike some other genres of games, where a lot of the data can tolerate a little more latency without grinding the whole game to a stop.A) Mitigating “Internet lag” (round trip network latencies that are often as bad as a quarter of a second) which requires: Sadly, until we have like instant quantum-computing with teleporting data packets/instant transmission, those external factors are always going to be an issue for multiplayer gaming. ![]() whatever) is going to compound the effect, since the whole reason that the distance/latency/processor time problem comes up is that eventually the combination of high workload and delays in information sending combine to overwhelm the server's ability to keep up. That said, obviously every new thing you add to the game (another hearthling, another set of jobs, another tree to keep track of. So, the issue isn't "20 workers", it's all the outside factors that make the game so much more difficult to run over a long (or even short!) distance than just running it locally. ![]() although a couple of players did build up a bit of everything and play lone wolf towns.) Really, that's the ideal situation any "real-world" multiplayer scenario is going to be less optimal. some players focus on food, some players focus on crafting, some make armies everyone trades and works together. on a local area network, everyone using high-end dev machines, with a dedicated server on a similarly powerful box, and with most players trying to work together so they don't have everyone making duplicates of everything (i.e. The devs showed video of the game running very smoothly with like 4-6 players. In an ideal world, you'd run a headerless dedicated server that's geographically positioned in the centre of all players' locations (obviously this is tricky to do unless you can rent a server somewhere or you're really lucky about where your players are located and the person in the middle can run a dedicated host machine), since that cuts down the travel time for game data by as much as possible. Also ignore multi-core power, the only thing that matters is the threadwidth/power of an individual core since Stonehearth runs one "main" thread (it does shift as much as possible into other threads, but the way it's built simply works better with a "main" thread for all the simulation to happen in) it's better to have a few really powerful cores than to have lots of less powerful ones. *ignore graphics power for this, it's all about the actual CPU processor. ![]() I've seen a few people complaining of lag where it turns out that the person with the better-suited PC for running Stonehearth only experiences lag because their host is running a less suitable PC, and where switching the host makes a dramatic improvement. It's also important to ensure that the more powerful* computer is the host, otherwise you can get into a situation where the clients have finished all their current tasks and are waiting on new info from the server to move on to the next tick/frame. Even with the fastest internet in the world though, if your players are spread far apart (e.g opposite sides of the US, or one player in Europe and one player in Australia) you're still going to see some lag. The biggest/most important one is always going to be the physical distance between the players, since longer distance for data to travel = higher latency = processing delays (the server being "stuck waiting for info" before it can update the next tick/frame.) The second biggest factor is internet speed, since that's basically the same problem. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |