Chickynoid, server authoritative character replacement

Quick question @MrChickenRocket, what does the state.pushing property or flag on the simulation class do, I saw it being used by some MoveType scripts but couldn’t really understand it’s purpose.

I did noticed it’s apparently a server only flag?
image

1 Like

redundant code. Was for when you were pushing physics parts around, but I dont think that made it to production.

1 Like

Bug: when you’re walking down a steep slope sideways, you can phase through ground if it’s thin enough.

1 Like

I had this happen to me on chickynoid 1.0, Didn’t know it was still present on 2.0, another funny bug is if you remove the jump cooldown and hold jump next to a wall, you just get stuck and never leave the ground for some reason, although this one is an easy fix just make the jump cooldown really small. (0.001)

Is it possible to change character size of an individual player during gameplay?

1 Like

Via default settings no, but I saw someone make a fork on this thread that did that, so maybe it is possible with some tinkering.

if you are talking about just the character model size, and not the actual hitbox, then maybe you could just replicate that with standard remote events.

1 Like

im specifically wanting to change the hitbox size when crouching, I’ve found a hacky way to make it kinda work but was checking to see if there’s a proper way.

May I ask how did you do this? I am interested.

So I am getting an error which I do not understand.

I just wanted to port my older code for head movement over to chickynoid 2.0, and as far as I know I followed all the steps for it to work properly.

I stuck my new data inside serialized which in this case is the fa
image

I set it’s lerp function
image

I set it’s keys
image

And the pack function
image

And I set the fire angle through a characterMod or whatever it’s called

The code runs fine on single player, but as soon as I test it on a 2 player server I get this error

This code worked fine on the older version of chickynoid, so I am not sure what’s missing here.

u need to modify the serialization in CharacterData module i think

1 Like

Thank you so much, it seems that chickynoid doesn’t automatically pick the function based on the data type you set into the table on FastBitBuffer thingy, ill probably fork it to automatically do it for data I add to serialized in the future.

Now my code works just fine!

1 Like

yep I think it’s hardcoded but it might change in the future since chickynoid v2 is still in beta

anyways another solution is to just comment out this code chickynoid/src/ReplicatedFirst/Packages/Chickynoid/Shared/Simulation/CharacterData.lua at 8c3b643526f2cd4f3b682a148f654071d530c004 · easy-games/chickynoid · GitHub but the performance of the serialization would be decreased slightly on every first data creation

1 Like

All things humanoid you once knew are thrown out the window when you use chickynoid

Anyone knows how I could use :GetServerTimeNow() or ClientModule.estimatedServerTime, to sync the position of objects?

I am trying to write a system and mod for chickynoid to bring back the abandoned code for moving platforms, the issue is that if I just move a platform from the server, the clients will see it delayed causing the state of a player to desync and jittery platforms.

So the solution would be to implement somekind of client prediction for clients to predict where platforms are on the server.

Since these platforms have a start position and a goal position, it would only be a matter of syncing the progress that has been done from Position A to B, making it simple, The hard work of syncing has already been done by chickynoid and :GetServerTimeNow(), I just cant figure out how to use the server clock to keep my platform’s in sync.

mb for not responding sooner, the way im doing it now is by having 2 collision worlds for standing and crouched collisions, and switching between them (basically 2 collision modules with different player sizes, i forked the collision module to allow creating multiple collision “worlds”). You can check it out in practice here

2 Likes

Early attempts of making moving platforms on chickynoid, So I wanted to bring moving platforms to chickynoid because I saw old code that pointed out to them being originally planned.

I did a quick platform system and then set up a system to replicate the platforms to clients so they can be simulated by them independently from the server, and synced or something.

The code is not that good yet as we can see when we have high latency it just starts becoming a janky mess, I have no idea why this happens yet since in theory platforms always move at the same speed both on server on client so they should be moving in a predictable way regardless of the ping.

I also tried to sync platforms using rudimentary client prediction and :GetServerTimeNow(), so both client and server see them on the same place.

It is not that good but it at least tries to, I update the platforms using :GetServerTimeNow()

and when i create them on client side i try to calculate the ping to step them foward to where they should be

I have no idea if this is how i should be doing moving platforms but I couldn’t find info on how to anywhere, Ill keep improving this janky code as much as I can and release it as a mod.

2 Likes

got CS style spray patterns working!

3 Likes

I tried using this by copying the place objects instead of using the github but for some reason a clone of my character is just there for some reason when I press play.

1 Like

You probably didnt copied everything, or character autoload is still enabled.

1 Like

Thanks, autoload was enabled, didn’t know I was supposed to disable it.