Chickynoid, server authoritative character replacement

Interesting, does it lag for you locally?

3 Likes

i didnt try locally but yeah i do have a bad internet so its possible its that

1 Like

If you need to simulate lag easy and fast there’s a github project (clumsy) to do just that on Windows. I used it to test lag in my fighting games and it definitely helps! Also pinging OP @MrChickenRocket since you might be interested in that to test your model

6 Likes

Humanoids can be used on anchored models to provide a HumanoidDescription, which is the case here.

6 Likes

Adding onto what @MrChickenRocket said, humanoids are only for rendering. Their physics and replication behaviour is not used, which is what allows Chickynoid to run faster than Humanoids.

3 Likes

The benefits don’t turn up when you’re using a single humanoid, because there is an overhead for managing your own local simulation. When we were testing with 100 chickynoids, we were seeing ~3ms cpu usage on server, and around ~30kb/s of bandwidth usage, which was a good chunk lower than the same test using humanoids and server owned humanoid rigs.

15 Likes

Not that we have anything to prove here, but here’s a couple of screenshots to help you understand what’s going on :slight_smile:

Roughly the same thing, but just doing things the stock-roblox way with server owned rigs+humanoids.

7 Likes

This stuff is awesome! besides for a couple things…

Platform snapping - When going up to a platform, instead of a smooth humanoid like transition between both planes, it just crudely snaps to the highest possible point.

Angled movement(?) - Even if the platform is less than a degree tilted, the player can still walk up it the same way it can with a near flat platform.

image
(get down from there)

Slope misprediction - When running down a sloped surface with a walkspeed somewhat higher than 16, the game will start snapping you about forward and back trying to figure out where you should be.


It gets reaaal bad here

Bad upload speed (me issue) - going into a live server with bad upload speed will toss you everywhere. :sad:

tldr; there are some issues, some bigger than others.

2 Likes

Truly baffled at some of the responses here… I’ve been watching the GitHub since you first tweeted about it. It’s looking incredible so far, great work!

4 Likes

Ill add slope maxangle soon! I am not sure why a slope would be mispredicting that badly though?

2 Likes

Is R6 support planned, and if so, when? I can’t use this until it supports R6.

1 Like

what happened to Configuration module

1 Like

Must of been a bad commit! Configuration module is going in the bin.

1 Like

It supports it, just edit some lines inside local sided modules or scripts with ready R6 rig (it should looks like R15 (specially talking about Animator inside of Humanoid).

1 Like

Anyways. Planning to add this game to my game.
I have few questions:

  1. What about combat stuff with teleports and high speeds (not talking about exploits)
  2. How often it would be updated. So i can be sure when i need to update my game with fresh version of this module.

Also as i can see, you are big fan of Unity engine, since i can see familiar methods and etc.

1 Like

@MrChickenRocket doesn’t seem to know how to add R6 support themself but they said PRs are welcome, so would you mind making a PR with your changes? That way we don’t have to fork.

1 Like

While I really would like a server-authoritative humanoid implementation, it seems that this one focuses too much on client-sided anti-exploit and not enough delivering a performant server-sided humanoid solution. Don’t get me wrong, there’s some cool stuff in here, it’s just… unfocused in my opinion. I think that any active anti-exploit for this should be handled in a separate project. Will keep an eye on the development of this though.

EDIT: For example, you have a dedicated method for spamming the server with fake arguments, wasting bandwidth and quite frankly CPU cycles for no apparent reason.

2 Likes

There are no client side anti-exploits in chickynoid. That is the point.

3 Likes

I’ll add R6 support at some point, mechanically it’s trivial. Its just that there isn’t a reliable way to determine if a user wants R6 or R15 from code and their user profiles. We’d need that info to spawn them the correct base model to load their appearance onto.
Easier to just make it a user setting or server setting, but it’s not high priority.

3 Likes

Quick question, how do i add hitboxes support.
For new APIs like workspace:GetPartsInBox()
Since theres no player instances on server (maybe a bug or idk)

1 Like