Jump to content
Sign in to follow this  
Imbalanxd

Zombies as "Clients"

Recommended Posts

In your typical (boring) multiplayer game, there isn't much AI going on. They are either entirely about player vs player gameplay, or the AI is so minor that it isn't worth considering. However, as we all know, DayZ is a bit different.

The in game zombies can play a major role in gameplay and the experiences of players, and this role is only limited by the processing costs of their artificial intelligence. Many of the processes performed by the zombies are fairly rudimentary and rough around the edges (though the zombies in DayZ actually have some impressive sight/stealth mechanics), but with the sheer quantity of them, the performance load can be quite heavy, I'm sure. The processing required can typically be performed on a separate thread, which is highly beneficial, but the synchronization processes can limit the effectiveness of this, and impose more limitations.

A concept that has always interested me is the idea of non player characters in a game no longer existing and "thinking" on the server, but rather connecting through the network as clients. The obvious benefit of this is that the server no longer has to dedicate any time or processing power to artificial intelligence, and as the functionality already exists and is in use, there is no additional synchronization costs for remote clients. Another benefit is increased server customization. The number of zombies walking around, and how intelligent and sensitive they are, can be governed by the number of "AI machines" connected. This could of course be possible with the current, server side implementation, but scaling up (increasing a single machine's performance) can only go so far, and is only economically viable up to a certain point. However, Scaling out (including more machines) can yield better performance and can be cheaper.

In this system, "AI machines" would connect to the server as pseudo admins. They would have access to more information than the average player, but would still only require data related to their area of influence. Each machine would control a variable number of zombies, and would ideally use a custom kind of connection, minimizing the number of connection threads they would require. Currently in the mod, the zombies implemented would only really require a single, non server machine, dedicating basically 100% of its processing to AI in order to simulate all the zombies. However this is in the "zombie lite" situation we have now, where at any one time you are looking at around 400-500(maximum) zombies being alive, even on full servers. If all zombies were to exist simultaneously, and with improved AI, the possibility of even 3 AI machines could prove beneficial.

This isn't so much a "I really think the game needs this" type of suggestion, but more of a theoretical proposal. I don't even know if it would be reasonable to expect server owners to possibly dedicate more than one machine to a single server. I also don't know if what I am suggesting is technically feasible or expedient, though I am formally educated on the subject.

Edited by Imbalanxd

Share this post


Link to post
Share on other sites

No idea what you are talking about, but if you actually read the Dev blog and read Rockets comments on Twitter/Redit/TwitchTV, you will know that the zombies are being fixed. They will be server side, instead of client side as they are now. On top of that, they are much simpler in AI and in graphics. It sounds like they've already spent the time to fix that problem. Now I want them spending time on new stuff!

Share this post


Link to post
Share on other sites

No idea what you are talking about, but if you actually read the Dev blog and read Rockets comments on Twitter/Redit/TwitchTV, you will know that the zombies are being fixed. They will be server side, instead of client side as they are now. On top of that, they are much simpler in AI and in graphics. It sounds like they've already spent the time to fix that problem. Now I want them spending time on new stuff!

Well that's kind of what I was wondering. I know that zombies are currently "client side", but does that mean they are triggered by the client, or does that mean that whoever gets to a location first is the one who populates the area with zombies, and then he is responsible for the zombies AI as well?

Share this post


Link to post
Share on other sites

I'm not sure it really matters as it's being completely overhauled for the SA. Zeds will spawn server-side at the start of the mission as will loot. Read the Devblog Tumblre and watch the new devblog vid for more info, they explain it better than I can.

Share this post


Link to post
Share on other sites

In your typical (boring) multiplayer game, there isn't much AI going on. They are either entirely about player vs player gameplay, or the AI is so minor that it isn't worth considering. However, as we all know, DayZ is a bit different.

The in game zombies can play a major role in gameplay and the experiences of players, and this role is only limited by the processing costs of their artificial intelligence. Many of the processes performed by the zombies are fairly rudimentary and rough around the edges (though the zombies in DayZ actually have some impressive sight/stealth mechanics), but with the sheer quantity of them, the performance load can be quite heavy, I'm sure. The processing required can typically be performed on a separate thread, which is highly beneficial, but the synchronization processes can limit the effectiveness of this, and impose more limitations.

A concept that has always interested me is the idea of non player characters in a game no longer existing and "thinking" on the server, but rather connecting through the network as clients. The obvious benefit of this is that the server no longer has to dedicate any time or processing power to artificial intelligence, and as the functionality already exists and is in use, there is no additional synchronization costs for remote clients. Another benefit is increased server customization. The number of zombies walking around, and how intelligent and sensitive they are, can be governed by the number of "AI machines" connected. This could of course be possible with the current, server side implementation, but scaling up (increasing a single machine's performance) can only go so far, and is only economically viable up to a certain point. However, Scaling out (including more machines) can yield better performance and can be cheaper.

In this system, "AI machines" would connect to the server as pseudo admins. They would have access to more information than the average player, but would still only require data related to their area of influence. Each machine would control a variable number of zombies, and would ideally use a custom kind of connection, minimizing the number of connection threads they would require. Currently in the mod, the zombies implemented would only really require a single, non server machine, dedicating basically 100% of its processing to AI in order to simulate all the zombies. However this is in the "zombie lite" situation we have now, where at any one time you are looking at around 400-500(maximum) zombies being alive, even on full servers. If all zombies were to exist simultaneously, and with improved AI, the possibility of even 3 AI machines could prove beneficial.

This isn't so much a "I really think the game needs this" type of suggestion, but more of a theoretical proposal. I don't even know if it would be reasonable to expect server owners to possibly dedicate more than one machine to a single server. I also don't know if what I am suggesting is technically feasible or expedient, though I am formally educated on the subject.

No need to jump through these hoops, Virtual BattleSpace, which is the military grade version of arma has a "pluggable AI" system, where you can basically outsource your AI work to a dedicated system.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×