🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Black ops zombie network approach

Started by
3 comments, last by hplus0603 2 years, 11 months ago

Hey game devs all around the world!

Knowing how difficult it is to make a multiplayer game from a network standpoint, to deliver a smoothly experience without lag and jitter, my question is:

how does the dev at trychar managed to make a multiplayer game where there is multiple players and hordes of zombies in the map at the same time all synced across the network clients? I'm talking here about the multiplayer mode and not the split screen/LAN mode of course! What kind of techniques is used to handles that much network entities in a game at the same time?

Thanks!

Advertisement

The zombies don't move particularly fast, so making them “at the same place enough” isn't particularly hard, using regular FPS networking.

They could even start the zombies on standard trajectories – you just need to send the trajectory and start time, and the zombie will follow the same path on all clients. Once a zombie is somehow disturbed from normal (killed, pushed, or whatnot,) you can start sending more information about that deviation.

Finally, if you have REALLY MANY objects, like a large-scale RTS, you will probably end up with something like the deterministic lockstep model. Everyone runs the same simulation, at the same time step size, and just share commands; nobody proceeds past the previous round until the inputs from all players for that round are known. Command latency is hidden with reaction/acknowledgement animations. Look up the “1500 archers” article for a good write-up!

enum Bool { True, False, FileNotFound };

Ok I think i get what you mean. So assuming the pathfinding is done on the server, the path from start to player position is sent to all clients, that would be the trajectory and from there the zombie will follow it. So if there are many zombies in a map, they follow a general path on a deterministic manner. And then eventually when they get close to the player, their position is sent to all client, and they will follow the position of the player. Is that right?

That's one of many ways to do it, yes! I have no idea what they actually do – but if I were tasked to re-implement the function, that's what I would try first!

enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement