Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desync due to differences in assessing Walker.GoTo completion #40

Open
thomaswp opened this issue Oct 7, 2024 · 0 comments
Open

Desync due to differences in assessing Walker.GoTo completion #40

thomaswp opened this issue Oct 7, 2024 · 0 comments
Labels
desync The game desync

Comments

@thomaswp
Copy link
Owner

thomaswp commented Oct 7, 2024

Trace from a desync:
newdesync.txt

Both traces involve a Walker going to a location to try to retrieve something. In once case the GoTo return Success (and therefore the Beaver proceeds to retrieve the good) and in the other case not, so it desyncs.

No obvious nondeterminism issues here, so it's likely something to do with positional differences when this is being calculated (which I sort of hope it isn't because that's a real pain).

Need to add more traces to Walker.FindPath to keep track of position, other factors affecting success and whether it is successful.

[16-41-37.62] a141aef0-fd8d-b6e9-3d90-7abb484ff25d going to: SmallTank.Folktails(Clone)
[16-41-37.62]   at BeaverBuddies.DesyncDetecter.DesyncDetecterService.Trace (System.String message) [0x00000] in <901268c815df4e7db1f4eb050fa371db>:0 
  at BeaverBuddies.DesyncDetecter.WalkerFindPathPatcher.Prefix (Timberborn.WalkingSystem.Walker __instance, Timberborn.WalkingSystem.IDestination destination) [0x00000] in <901268c815df4e7db1f4eb050fa371db>:0 
  at Timberborn.WalkingSystem.Walker.DMD<Timberborn.WalkingSystem.Walker::FindPath> (Timberborn.WalkingSystem.Walker , Timberborn.WalkingSystem.IDestination ) [0x00000] in <dc01ca20c60f4d5d8523340d13d741c7>:0 
  at Timberborn.WalkingSystem.Walker.GoTo (Timberborn.WalkingSystem.IDestination destination) [0x00000] in <dc01ca20c60f4d5d8523340d13d741c7>:0 
  at Timberborn.WalkingSystem.WalkToAccessibleExecutor.Launch (Timberborn.Navigation.Accessible accessible, System.Boolean ignoreAccessibleValidity) [0x00000] in <dc01ca20c60f4d5d8523340d13d741c7>:0 
  at Timberborn.WalkingSystem.WalkToAccessibleExecutor.LaunchIgnoringAccessibleValidity (Timberborn.Navigation.Accessible accessible) [0x00000] in <dc01ca20c60f4d5d8523340d13d741c7>:0 
  at Timberborn.Carrying.CarryRootBehavior.TryToRetrieve (Timberborn.BehaviorSystem.Decision& decision) [0x00000] in <190acb73038a409ab3329736502e4823>:0 
  at Timberborn.Carrying.CarryRootBehavior.Decide (Timberborn.BehaviorSystem.BehaviorAgent agent) [0x00000] in <190acb73038a409ab3329736502e4823>:0 
  at Timberborn.BehaviorSystem.BehaviorManager.ProcessBehavior (Timberborn.BehaviorSystem.Behavior behavior) [0x00000] in <2eb3382f25564f10bbce9a5bb87aab8e>:0 
  at Timberborn.BehaviorSystem.BehaviorManager.ProcessBehaviors () [0x00000] in <2eb3382f25564f10bbce9a5bb87aab8e>:0 
  at Timberborn.BehaviorSystem.BehaviorManager.Tick () [0x00000] in <2eb3382f25564f10bbce9a5bb87aab8e>:0 
  at Timberborn.TickSystem.TickableComponent.StartAndTick () [0x00000] in <a7b260a128c34edbadad619bc3eb628a>:0 
  at Timberborn.TickSystem.MeteredTickableComponent.StartAndTick () [0x00000] in <a7b260a128c34edbadad619bc3eb628a>:0 
  at Timberborn.TickSystem.TickableEntity.TickTickableComponents () [0x00000] in <a7b260a128c34edbadad619bc3eb628a>:0 
  at Timberborn.TickSystem.TickableEntity.DMD<Timberborn.TickSystem.TickableEntity::Tick> (Timberborn.TickSystem.TickableEntity ) [0x00000] in <a7b260a128c34edbadad619bc3eb628a>:0 
  at Timberborn.TickSystem.TickableEntityBucket.DMD<Timberborn.TickSystem.TickableEntityBucket::TickAll> (Timberborn.TickSystem.TickableEntityBucket ) [0x00000] in <a7b260a128c34edbadad619bc3eb628a>:0 
  at Timberborn.TickSystem.TickableBucketService.TickNextBucket () [0x00000] in <a7b260a128c34edbadad619bc3eb628a>:0 
  at BeaverBuddies.TickingService.TickReplayServiceOrNextBucket (Timberborn.TickSystem.TickableBucketService __instance) [0x00000] in <901268c815df4e7db1f4eb050fa371db>:0 
  at BeaverBuddies.TickingService.TickBuckets (Timberborn.TickSystem.TickableBucketService __instance, System.Int32 numberOfBucketsToTick) [0x00000] in <901268c815df4e7db1f4eb050fa371db>:0 
  at BeaverBuddies.TickableBucketServiceTickUpdatePatcher.Prefix (Timberborn.TickSystem.TickableBucketService __instance, System.Int32 numberOfBucketsToTick) [0x00000] in <901268c815df4e7db1f4eb050fa371db>:0 
  at Timberborn.TickSystem.TickableBucketService.DMD<Timberborn.TickSystem.TickableBucketService::TickBuckets> (Timberborn.TickSystem.TickableBucketService , System.Int32 ) [0x00000] in <a7b260a128c34edbadad619bc3eb628a>:0 
  at Timberborn.TickSystem.Ticker.DMD<Timberborn.TickSystem.Ticker::Update> (Timberborn.TickSystem.Ticker , System.Single ) [0x00000] in <a7b260a128c34edbadad619bc3eb628a>:0 
  at Timberborn.TickSystem.TickerUpdater.Update () [0x00000] in <a7b260a128c34edbadad619bc3eb628a>:0 
@thomaswp thomaswp added the desync The game desync label Oct 7, 2024
@thomaswp thomaswp changed the title New desync (unknown origin) Desync due to differences in assessing Walker.GoTo completion Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
desync The game desync
Projects
None yet
Development

No branches or pull requests

1 participant