Seeking tips to optimize a game with humanoids

Hey devs,

Been seeing some posts in DevForum about how to optimize a game these days. However, the guides I found are either unrelated to/not focused on humanoid or RTS optimization guides, the latter are indeed some very good guides. But there’s a problem: all these guides do not involve in Y-axis management in the environment, which means that the tutorials don’t cover actions such as jumping, Y-axis shifting, etc.

One common thing of these tutorials are manual replication of crucial data, such as unit positions, but, they don’t involve varying Y-axis positions either. So I would be very grateful for any tips on optimizing and doing custom replications.

3 Likes

Hi there,

Here is a video that may be useful to you. I haven’t checked if it fits your problem but I thought I might as well post it here.

Humanoids are mentioned around (7:28)
Minimize client memory usage on Roblox

3 Likes

I appreciate the help but theres nothing about Pathfinding and client rendering ._.

2 Likes

Ah, sorry about that. I couldn’t seem to find any tutorials/guides that fit your problem sadly.

2 Likes

You’ll just use the same concepts for the yaxis. You have to first know what data you actually need. For example, if the map only has one level, you can assume the height of x,z is y. If you need jumps then you have to find how high they are allowed to jump, and what resolution is acceptable for replication and send only that. Like if they are jumping you maybe only need 4 bits for 16 unique positions total and just tween between those. You could probably get away with less depending on the specifics.

If you have multiple layers it gets more complex. You could define what layer they are on by a number, or you’ll have to include enough states that you can resolve to close enough to the correct height.

Overall though remember that optimizations are purely to get the game to work. We could spend 10 hours making the perfect serialization/deseerislization for maximum data compression, but that’s useless if you only need like 200 guys since you can probably just send that data directly. Often people say to wait on these optimizations until you know you need them because the lowest end systems you support are actually struggling.

2 Likes