Jump to content

Why 6 people is maximum?


Recommended Posts

It's about keeping the world consistent between all clients. The server would need to track not only the players but all interactions and items and inventory etc. This is more about memory constraints thatn network/cpu.

 

Also it's dont starve, and having a batallion people roaming around is not only a balancing problem, but it doesn't keep with the theme of the game either. sometimes 'more' is not 'better'

@Maris, I don't think so. I think the bottleneck now is single-core speed, because sim ticks are extremely linear (not parallelized). Although there are memory leaks over time.

Does that mean that as it is now, dedicated servers need to be restarted every now and again?

No, it means that the game at the moment was coded in a single threaded nature rather than one that's multi-threaded.

 

If you can enable that information that appears to the top left corner on the screen for a list of entities, you can see that the more players active and out in the world, the more entities around them that are 'active' hence puts constant strain on the host's system.

 

25,000 entities, with 3000-4000 entities being awake, will surely see a small frame rate drop to around 40fps or lower on standard i5 cpus. The more people, the bigger the map needs to be, and the greater the inefficiency of the server managing the sync of monsters and players across all players.

 

For 3 players, a single monster is synced three times and each player's sync is given to the host which is then used to sync back to the other players.

 

I don't believe it's RAM intensive, it's more likely CPU intensive in regards to entity capacity.

@dra6o0n, Well, the memory leak part does mean the servers need to be restarted regularly, which is what i was referring to. But yeah, in general CPU is the bottleneck. I hope that part of the game's optimization will involve parallelizing things (it seems like brains could be parallelized, for example-- no need to have every single spider brain on the same thread, right?). Unfortunately threading brains is actually incredibly difficult, so it almost certainly won't happen. There are other places to look for performance gains, though.

@dra6o0n, Well, the memory leak part does mean the servers need to be restarted regularly, which is what i was referring to. But yeah, in general CPU is the bottleneck. I hope that part of the game's optimization will involve parallelizing things (it seems like brains could be parallelized, for example-- no need to have every single spider brain on the same thread, right?).

It could be possible to utilize your GPU to multi-task compute the numerous entities by offloading the work onto it.

 

A CPU compute linear, while a GPU computes data in parallel.

 

I mean, people build rigs with powerful GPU to make bitcoins using algorithms, why can't we offload that to GPU and free up CPUs?

A CPU compute linear, while a GPU computes data in parallel.  
Nowadays both compute in parallel, although GPUs are far more parallel than CPUs. That being said, Lua is not threadsafe, so multithreading the game simulation is almost certainly not going to happen. Separating other stuff (e.g. rendering) out onto other threads might happen, though.

 

In general, though, offloading computation to GPUs only works for "embarrassingly parallelizable problems" -- that is, where there's no dependency in the problem on prior computation, and it's immediately obvious how to separate out the task. The easiest example is to look at what GPUs are designed for: rendering. For this, each pixel (or block of pixels) can be rendered independently of the others, so you can have as many parallel tasks as pixels. The game logic, on the other hand, is dependent on previous results, and many parts of it update the central data that is accessible to anything else. This makes parallelizing difficult even in theory, and in practice it's more difficult due to the virtually nonexistent support for threading in Lua. 

 

(I realize this is contradicting what I said earlier-- I've learned more about Lua since then :p)

I honestly don't understand how people can believe anyone here, think about it simply any server with any game that has multiplayer that is hosted by anyone has increased amounts of updates sent by the server per user, but that in no way means that it will cause that much/fps drop, mainly because any hoster that is gonna be doing more then 10~20+ is going to be doing that on a dedicated box, so for one it doesn't even affect your client, and to the guy above me hell no - look at Terraria and the mess it gotten itself into with all its client side crap, do you see how many hacks there are for that game.

 

The real reason why you guys are even thinking about this is you are assuming that the standard pc will be hosting from  the client, sure they can host but they won't be the major high capacity servers out there.

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...