Bouncyrock / TaleSpire-Beta-Public-Issue-Tracker

Issue tracker for the TaleSpire Beta
33 stars 17 forks source link

Player spawned upwards of 300+ dice, crashed others including DM out of client continuously #1007

Open Trisscar05 opened 3 years ago

Trisscar05 commented 3 years ago

Describe the bug One of the players wanted to test things and started spawning d20s in groups of dozens or so and rolling them into a terrain three-side-corner. This caused (I assume) the many dice to constantly ping the physics engine, as presumably evidenced by general FPS quickly tanking and most of the group starting to crash out of the campaign instance constantly. The problem is that one of the crashers was the DM, and they couldn't get back into the campaign long enough to delete the dice. And the player couldn't figure out how to get rid of them. I'm not entirely certain if the right click function to remove them was working or not, though given the sounds on the other end I suspect it was tried. Eventually we brute forced it by having the player move the groups of dice one at a time till they were not longer interacting with each other, enough that the DM could get back in and remove them all at once.

I would like to suggest a settable "dice on the board" limit, as a timer has already been suggested and it wouldn't likely have helped in this case as it happened in a couple minutes at most. And even if the right click function had worked, if the player was a troll all they'd have had to do was just not use it. This would allow the group to decide how many dice their machines could handle, and possibly allow for things like the 40k "1216 d6s" from a certain Ork setup, while letting DMs with less powerful computers (or who have players with such) to curtail this accidentally or purposefully occurring.

And it'd keep what I suspect is a wanted feature, that of having dice rolls be impacted by having them hit other things. Much as some groups dislike that, I personally find it amusing and an opportunity for "hail mary-ing it" pool style.

To Reproduce

  1. Create a way to keep lots of dice in one place, so that they constantly interact with each other.
  2. Generate a lot of them in a short amount of time, in that confined space.
  3. Watch your FPS tank, and possibly render that board unusable ever again, unless you can file edit the dice out somehow.

Additional context I as a bystander am on Ubuntu 21.04 through Steam's Proton, but the rest of the group is on various versions of Windows to my knowledge. I was was one of the few (besides the dice player) who did not crash, though my FPS did seem to hit single digits. ....Yay for Linux being very efficient I suppose?

LuPro commented 2 years ago

it's possible the crash was not (directly) caused by the dice themselves as TaleSpire tends to behave a bit weirdly on very low fps altogether (dice or no dice), so the crash might have been due to low fps breaking something else. Definitely an issue though

Trisscar05 commented 2 years ago

Update: If dm crashes out of the campaign, they may lose access to deleting dice that were generated before they came back in. New dice can still be deleted by dm regardless of source.

baggers-br commented 2 years ago

Thanks for the report.

Adding dice will not permanently break your board as the dice are not saved. Your spot on that the handling of large numbers of dice kinda sucks right now. Timed despawn will help but we'll still need to see what else we can do to help this (cheers for the suggestions).

I don't have any news for today, but it's good that this is logged for the next time I dig into physics and dice performance.

Thanks again!