So in this game Weird West, you can cut foliage. Like if you’ve got a machete or something you can cut away grass or bushes or whatever, and some of them drop stuff. I did a post about some of that stuff. A little while after ship, I got a bug assigned to me where sometimes, a player will be in a certain level, cutting up foliage, and suddenly they can’t interact with certain objects. Most objects. Including the travel zones that let you leave the level. So they’re just stuck forever.
Debugging the interaction code doesn’t really give me anything, it basically just says there’s nothing there. After a while it turns out that this happens only on levels with strawberry bushes, if the player cuts the strawberry bushes. And not every time! But a lot of the time.
So my first thought is, something is going wrong with removing these foliage strawberry-bush instances, probably a weird collision thing. Maybe the collision for the strawberry bush instance sticks around after the instance is removed, with an invalid transform, and becomes an invisible volume blocking the interaction detection traces. OR SOMETHING. So I remove collision from the strawberry bush (unused anyway).
No good, still happens. Try various physics/collision visualisation viewmodes, nothing appears to change when this issue presents itself. In fact, I can delete the whole InstancedFoliageActor and it still happens. I unhook various parts of the foliage-removal code and it still happens.
One of the many things I can’t interact with is the strawberries, but if I go into the editor after it spawns, and drag the strawberry a few meters away from where the bush was, suddenly I can grab it. This tricks me into still thinking it’s to do with the bush I cut, and I waste more time.
So far I haven’t really considered the strawberries themselves being a problem, because strawberries can be found in other places also, and they’re fine, and when I cut the bush, the strawberries fall to the ground and roll around fine, and about four out of five times, the bug never even happens. Sometimes you can cut up every bush in the map and you’re fine.
After a few more hours of investigating this, I go into the editor while playing, and try to drag a strawberry like I’ve been doing, and it doesn’t move. The other strawberries I can throw around fine, but this one is stuck. This is the Cursed Strawberry.
Every time I cut a strawberry plant there’s roughly a 1 in 5 chance of one of the strawberries it creates being cursed. Sometimes you cut the whole grove away and you’re fine, sometimes, a cursed strawberry. If I delete the strawberry, the bug goes away, interaction works, the player can leave.
Knowing there’s a cursed strawberry doesn’t really help though, because it’s identical in every way to every other strawberry in the game, except it breaks the game, and also doesn’t fall to the ground or move or anything, even as the next strawberry over behaves normally.
But then it turns out, if I manually change its location, it’s fixed. The strawberry falls to the ground and stops messing everything up and I can eat it. Although now I don’t even want to eat it.
So my “fix” is, 1 second after any strawberry spawns, it teleports itself 1cm up, and that lifts the curse. So if you notice strawberries bounce a bit after they spawn, that’s not a bounce, that’s a stupid hack to make the game not break.
I was incredibly thrown by certain objects being interactable, or seeming to only be interactable, when you moved them away from the cursed strawberry or the strawberry plants and shit like that. It was just random. Stacks of red herrings.
This is presumably a down-deep physx or unreal bug that we’ll never know what caused it unless someone else on here has seen it, because there really is nothing special about these strawberries. Especially compared to corn. Corn is the same!!!!! It’s the same!!!!
Leave a Reply