Jump to content

NPC server / client


ClayPigeon

Recommended Posts

Pimps, any plans to move the NPC/mob code outside of the core 7D2D binary ?

 

Many of us have tried the bigger servers and 'enjoyed' the underwhelming experience of mobs.

This isn't critique by the way. I understand the server needs to prioritize game play.

But imagine a 64 player PVP / PVE server with a master daemon and 32 clients, each managing 32 mobs .

With distributed computation over several hosts, the mobs could be vastly more active in large ( to extreme ) numbers .

 

Even on a coop with four players, each player could host a mob client, for more 'lively' mobs.

Link to comment
Share on other sites

Distributed computing needs a little bit more then just separating the codepart out of any big binary.

 

All your clients run the same blob and therefore also have the code to compute this. So basically they are able to compute, but it is not exchanged with the server. For distributed computing you need a protocol that manages data exchange.

Client 1 does some Mob-Management, Client 2 does some Mob-Managment, too, but is far slower. Both need to send their results to the server, the server has to sync them, deal with e.g. different calculation speeds or inaccurate results, merge them, and redistribute it all other clients. Furthermore, if a client does ai-calculation lokally it opens many doors for cheating, because the local client can be manipulated and just send manipulated results to the server. If the server doesn't doublecheck the results or even can't check, hello cheaters.

Link to comment
Share on other sites

Nothing is ever just... ;)

 

This client server idea would only be server side. It would not involve player binary.

 

7D2D main server + Mob control Daemon + Mob Client [1,2,3...n]

Instead of having a singular binary calculating for all the mobs, it would hold list of mob identifiers. Or something.

The mob control Deamon would hold list of which mob Client maintains the calculation for which mob identifier.

Perhaps even moving all mob controls over to a mob Deamon.

 

A scalable mob service.

Link to comment
Share on other sites

Doesn't change any point of my reply. The problem is not just outsource the code from somewhere, but having a whole protocoll running the distributed stuff. Doesn't mind if the player clients participate in that or some other non-player-servers.

 

So this would be indeed a VERY HUGE change, not just moving code from somewhere to somewhere else.

 

Basically the same problem is to make the code multithread capable, which is a prerequirement to make code even over network distributed executable. Haven't looked into this closely, but is 7D2D even able to use mutiple cores on one single server effectively? Lets say a 8core/16thread cpu on a server? Or even a Threadripper? If the game can not even fully use this, you don't need to waste any fruther thought on distributed computing.

 

When i was running my 7D2D server last time on a 4core/8thread server i could at least clearly see that the SI doesn't make use of more then one thread, because when we let a whole building collapse, the game started lagging as hell, and the server was at ~20% cpu usage. One core at 100% and the other 7 dumping around below 5%.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...