I’ve been working on an asset reset system. Once an asset is destroyed you should be able to regenerate it without disrupting the frame rate. Destructible assets have lots of moving parts, with pools of memory to move around, all of it shared with other assets. Spreading the reset over 5 frames was necessary to smooth the process a bit. There’s some flexibility in frame loads that still can be tweaked, but the delay is noticeable. Adding a few more frames may help.
One of the biggest problems was dealing with the solver. Bullet does not like having things deleted while running multi-threaded. Standard memory house keeping would not work here. Some where internally bullet still keeps handles on removed objects. Not deleting them and only disabling them in the solver fixed the problem. Perhaps Bullet uses a lazy delete system?
Also, spent some time keeping the software from becoming bloatware. Lots of dead code, unused abstractions, “What the hell were you thinking?” crap.
Really looking forward to finally start creating some levels. Getting tired of the Bodie church.
I think it’s beer thirty some where.
Have a good one.