Skip to content

Sprite Component doesn't get respawned after rollback #72

@PraxTube

Description

@PraxTube

Describe the bug
The Sprite component doesn't seem to be respawned when
despawning an entity with .despawn_recursive().
Other components like Transform and custom Components
get properly respawned. The issue results in the entity
fully functioning but being invisible (as there is no sprite).

I fully expect this to be my fault for overlooking something,
but I just can't think of anything I would be doing wrong.
Are there any known pitfalls for using Sprite?
Any issues with rollbacks with them?

To Reproduce
The setup to reproduce this rather cumbersome as you need to
despawn an entity and rollback right after. The way I consistenly
do this is by setting a high ping (>100ms) and then almost
kill one player but save him in the last second.
This results in the receiving client mispredicting and despawning
the player and then rolling back and respawning him.

Expected behavior
The Sprite should be respawned as well.

Screenshots
I don't expect anyone to try to reproduce this, so instead here is
a video showing what I mean. The perspective is from the still (orange) player.
The sprite shows normally on the other player (as he doesn't mispredict his own input).

output

Desktop

  • OS: Linux (Ubuntu 16 based)

Additional context
Note that I am also using matchbox in my game and it might
be caused by matchbox instead of bevy_ggrs, however I believe it is a rollback
issue and so I suspect the bug to be in bevy_ggrs
(if there is a bug at all, totally possible that I am just missing something).

Again, I am not asking for anyone to do my work and debug my own game, I am just wondering if there are any known issues with the Sprite component.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions