Client Rendering Zombie

Hey everyone!

I’m currently working on a client-side zombie system, and while the system is running pretty smoothly, I’m looking for some suggestions to make it even better! Specifically, I want to improve the way I handle the zombies’ position, and I’m open to fresh scripting ideas and optimization techniques to improve.

Here’s a game that I got inspiration from:

Here’s what I got so far for rendering the positions on the server the client creates the model and positions the model to the position in the Vector3Value. (Server):

local amount = 1000 -- amount of zombies

for i = 1, amount do
	local vectorValue = Instance.new("Vector3Value")
	vectorValue.Name = "Zombie_"..i
	vectorValue.Parent = workspace.Zombies -- anywhere really.
	
	task.wait(0.05) -- delay
end

This is interesting, and I’ve had this thought quite a bit throughout the past 2 years, and honestly if I were to do this, I would make a completely custom rig without any humanoid inside, then I would just custom script all the necessities for the NPC, depending on what you needs. If you need it to do more than just walk and maybe jump, then you may be better off with just a humanoid, also when running it on the client, it’s important to remember that it does not mean you can just have 1000 zombies, because that amount of humanoids will still be a monstrosity to mobile and lower end devices.

Now that I think about it, I have done something like this before, I just never used it, but it was able to run fairly smooth on the server side.

I’m not using humanoids. I am using a custom character.