Chickynoid, server authoritative character replacement

I have a question how am I supposed to make bots without the server in it or have it when its in the server and not showing the hitbox?

Anyone here know how Iā€™d go about creating a custom chickynoid object, essentially an object with its own properties, its own friction speed etcā€¦? Iā€™m trying to make blocks which can be pushed. Iā€™m reading through the simulation module, as well as the collision module but Iā€™m not entirely sure how to make this practically. Iā€™ve managed to create an exception by adding a few lines to movetypewalking- so the boxes arent stepped up on. Iā€™ve also noticed a bug when working with the box. When I apply a vector force to it, the player can somehow begin pushing the object with their serverchickynoid. When the boxā€™s acceleration comes to a halt and its in a standstill, the player can no longer push the box and the box is simply still. The boxesā€™ network owner is the server during this entire situation.

Might I add that, the collision on the box works dynamically, and is not stuck in place. I did this by uncommenting the code in CollisionModulesā€™ function ProcessCollisionOnInstance. Perhaps it was commented due to the fact that it hasnā€™t been polished and that may cause me to come against issues in the future, although as far as dynamic collisions are it seems to be working just fine (as stated I tested player to player collisions so it doesnā€™t seem to be useless and thereā€™s also no seemingly obvious mispredictions or performance issues).

I am starting a new project and wondering if this is worth implementing into the game, I am mainly interested in the hitbox aspects of Chickynoid. I have seen examples mainly with Raycast hitboxes, and I wondered if Chickynoid is also better for region3 / box hitboxes?

as far as accuracy for server-client goes yes, it is better.

Chickynoid is simultaneously the best and worst way to network on Roblox. With the system being deterministic, youā€™ll find that trying to accomplish even simple things will be much less intuitive, ESPECIALLY because no one has written documentation on it. In my experience, it took me a few solid weeks just to wrap my head around how everything works, and even then I still donā€™t know how to do everything I want to. TLDR Chickynoid is far superior when it comes to hitbox and region3 detection, but you will have to write out custom systems in order to utilize it, which could stall development and give quite a few headaches.

2 Likes

anyone know how to remove the large buffer between client and server rig replication? Iā€™m noticing that the server hitbox of chickynoid is perfect and I want the client to be lerped straight to that instead of whatever it is currently - its causing a lot of visual discrepencies

to add to this, if im not mistaken isnā€™t chickynoid meant to run prediction of all clients? or is it only run it on your own players, if its the former then why would the client replication be so far behind the server positions, and if the latter then i fear its applications although still many are of a smaller scope than i expected

The amount of buffering the client does is adjustable on the client. Its by default set to 50ms of buffer iirc, which is shorter than robloxā€™s default 100ms of buffer.

is this the interpolation buffer value? when changing that it didnt seem to make a difference. still sifting through both client module and client chickynoid at the moment- is the buffer in another module?

now that im looking closer, it seems that the interpolation itself is why it still seems delayed but thats inevitable i suppose, nonetheless- is what i said earlier the case whereas client prediction is only for yourself. the reason im asking is because i believe it would result in changing the course of what im trying to accomplish- basically i would have to fork another object which would be predicted on both client and server- this is a dynamic object so I was thinking maybe the bare bones of what is in trajectory module could be maybe built up upon. did the original team have any specific plans for that module, if so iā€™d like to attempt to complete it

Honestly at this point Iā€™m just waiting for what the physics team is cooking. If the client ever gets the ability to step the physics sim (and players) manually during gameplay, almost all of chickynoid becomes redundant.

1 Like

If I understand what you want to do, which is include other players (or objects) in the clients predicted simulation, you could do that but it requires you to predict what theyā€™re going to do, too. Easy for a moving platform, nearly impossible for players :slight_smile:

yes, although not for a moving platform and more so for a ball which is moved through user inputs, like clicking or pressing a key (and these are all vectors based on the player position)

Iā€™m just going to assume that Iā€™m just going to see the bots not on the server. Just on the client

Chickynoid is a nice tech showcase. It was just the complexity of setting it up and some limitations regarding physical stuff. I really think that chickynoid is still ahead of our time (at least because we still canā€™t manually step physics)

3 Likes

Yo, quick question, can I achieve something similiar with the Chickynoid?

Most definitely! Especially with Chickynoid 2.0

Also hereā€™s the video you requested:

I didnā€™t have that old one, but thatā€™s an updated one. The katana is towards the end

1 Like

I played your game and the combat wasnt that responsive like in this video, I felt like i missed 80% of my attacks

I just noticed that if I set my fps above 144, it will warn me and tell me to cap my FPS.
Why I need that and what happens if other players just Ignore that warning.