Help Me Optimize My Entity System

here if you want more things for me to show tell me here it is updated

Thanks, can you make one where the characters arent completely inside each other, which would make roblox cull them and only do 3 draw calls, and better with 1000 Entities?

Oh, and a microprofiler export please

Yeah you just opened your microprofiler, I need a export

And how fast do the characters teleport here, and how fast do they teleport in this image?

this is the export?

Tower Invasion Test - Roblox here is the game bc i am kinda new to scripting

https://www.youtube.com/watch?v=PA2LIPMzfLk&ab_channel=Terrsus this is how you export / dump, and select as many frames as possible

skip to the last 0:45 soo you can see the micro profiler

The link I provided literary shows you at 0:30 up to 1:00 how to take a micro profiler dump. You don’t have to record anything.

oh sorry i didn’t watch the entire video
let me watch it

it doesn’t let me download it
for some reason

Unsure it this has been said but instead of manually moving the characters with a synced loop, try using Humanoid:MoveTo instead. I am seeing that not many developers use it when it is so powerful and allows for server-sided movement that is synced and not laggy.

I also see you constantly running :WaitForChild(tostring(entityId). This effectively slows down your code alongside the task.wait() as well.

Instead, you should wait until self.Mobs contains every single possible entity (for this you can use waitforchild) at the beginning of your script and then just straight up call self.mobs[tostring(entityId))

Oh and by the way, Humanoid:MoveTo is much better than any of your pre-mentioned solutions such as tweening/loops/etc. I’ve had experience with this myself and MoveTo worked so well with about 250 mobs. You can call it on the server which removes the client load entirely and makes it much better for the user experience.

Hello, thank you for replying but I am not looking forward on using humanoids move to or any other things I was told humanoids has heavy performance soo the humanoid option is kinda not useful for me right now.

I do not know who told you humanoids are heavy on performance but in my experience they are quite the opposite. You are currently handling more than 1,000 movements a frame on the client which has a CPU and Memory bottleneck (memory around 2K), I doubt using MoveTo 1,000 times every second instead of a loop every 1/60th of a second is inefficient. Humanoid:MoveTo is also able to be called on the server and still run smooth, which is just an added bonus.

Try it and see.

bro the receive rate will be mental

1 Like

can you help me optimize it at least?

move it in one render stepped, also when will you need 1000+ enemies

It’s Roblox’s servers anyway, as in Roblox you can’t host your own servers. You can only play on Roblox’s servers that or if the game is editable, locally aswell but with certain things like datastores and teleports not working so if your starter place is a lobby, get used to their servers.

So yeah in a way, the developer doesn’t have to optimize their game’s networking but due to Roblox’s servers not being that…well good, you will make the experience worse that way.