What I am trying to do is making an multiplayable action rpg game, but the problem rise from where I'm using lock-step based network model.
http://www.gamasutra.com/view/feature/131503/1500_archers_on_a_288_network_.php
Unlike entities position or state like client-server, it's basically just shares players inputs through network. But lock-step needs the update to be deterministic.
This is important because, I'm gonna attach collider on spine character weapon, and this spine character needs to be updated in deterministic. The update to be deterministic is important because, if some client update is more called, then this character's hand position will be differ to other client, and this character will hit enemy more faster then other client, then this accumulate through time, after some time, two clients will see different game world due to sync fail like one player screen will be still playing game, but the other might be showing gameover like 2 minutes ago.
I've managed to modify the SkeletonAnimation script to call update manually to maintain the synchronization. ( 30updates or 30 steps per second. In lockstep they call update as step)
It works well. But the another problem comes again. If I modify update below like 20update per second. I can see the animation gap between seconds. Of course its because the SpineAnimation updates 20 times per second.
Maybe I could re interpolate frame between 20times in render update, so i could just fake seamless soft animation, filling missing 40 updates in renderupdate without actually moving bone transformation that just updated in deterministic.
Or I could just make two Skeleton, one for the renderupdate, one for the deterministic update, and I can play both animation. This will solve smooth issue but there might be some performance problem, and It's a bit seems hacky.
I tried to modify SpriteRenderer to adjust, but LateUpdate code was huge, I could't not modify myself cause lack of my technique.
Is there any way around this problem? Someone? T_T