Both directions failing completely is a key signal.
If hitboxes were just a bit off, you’d still get occasional hits. A total miss rate both ways means every intersection test is seeing a degenerate case — most likely collision extent stuck at zero (or never applied).
Most graphics engines start hitboxes at zero or uninitialized and then set radius/width when the object spawns or the frame updates. If that write never happens under, or the value is always read back as zero, then every distance check is against a point of size zero. Two points almost never coincide, so:
Same shared zero extent on both sides. That would explain why both directions die together under Proton while it works on Windows.
Same failure on another ph3sx engine game across Proton 9/GE10/11 puts this most likely in the shared engine path, not this demo. Engine source: Touhou-Danmakufu-ph3sx-2.
@williewillus — on the other ph3sx game you already tested (the one you can edit):
SetIntersectionVisualization(true);That draws all hitboxes (green player, yellow enemy, red enemy shots, blue player shots). If those circles are missing or have no radius, the extents never got applied.
@williewillus for the time being you can try proton 8 which has bullets working on both ends
Nothing extracted yet.
Compatibility Report
System Information
I confirm:
Symptoms
Reproduction
Extra info: I tested a different game (https://www.bulletforge.org/u/naudiz/p/dong-fang-bao-tian-jing-treasure-castle-labyrinth) that uses the same bullet hell engine on Proton 9, GE10, and 11, and it also exhibits the same problems, so I think it's a WINE bug. The engine code can be seen here for reference: https://github.com/Natashi/Touhou-Danmakufu-ph3sx-2