BEE2-items icon indicating copy to clipboard operation
BEE2-items copied to clipboard

Cubes can get stuck in standing doors

Open CreepiX987 opened this issue 7 years ago • 8 comments

If a cube is placed inbetween the two door parts when it's closing, the door should get blocked by the cube and get stuck half open until the cube is removed. door

Instead, we have this: 620_20180304153655_1 620_20180304153758_1

Please fix this.

CreepiX987 avatar Mar 04 '18 12:03 CreepiX987

Have you tried placing the cube inside the open doorway by hand, instead of a funnel, and closing the door on it to see what happens?

Endermage77 avatar Mar 04 '18 22:03 Endermage77

We need to decide what the appropriate behaviour is here. Should it hold open for the cube, or close and fizzle on it? I reckon the latter is more appropriate.

TeamSpen210 avatar Mar 04 '18 23:03 TeamSpen210

I believe fizzling the cube once it's on the door is more appropriate. After all, having the door stop where the cube is would probably require more entities and some different behavior than the animated model, which seems like a lot of work for such a small issue.

HugoBDesigner avatar Mar 04 '18 23:03 HugoBDesigner

The BEE doors, and many in the game have the hold-open behviour - they just don't close until you remove the obstruction.

TeamSpen210 avatar Mar 04 '18 23:03 TeamSpen210

Ah, the classic "Source hates things obstructing doors" physics glitch. Seen it before in Black Mesa: Source. Can be hilarious as I'll get out, but I'll agree that the developer/programmer mindset here is that there should be a fix. The issue I'm seeing is that if you have the door clamp down on a cube inside of a funnel, the funnel still has a physics influence on the cube, which could hypothetically cause further physics errors. Thus, I'd recommend that you keep the hold-open behavior as well.

For the developers:

@TeamSpen210 - I'm not a developer on BEEMod, so you can take my suggestion with a grain of salt here: but my solution would be to use a trigger brush within the boundaries of the door checking for cubes and/or funnels (if possible) in that brush. I'd program the brush to operate along the following lines: "If the door is obstructed but there's a funnel there, the door should hold open until the cube is through, of course. Otherwise, the door needs to hold open for the obstruction until it's safely out of the way." I don't know how easy this would be for you or the BEE team to accomplish since I'm no Source expert, but as someone with some level of experience in physics and basic programming I'd say it shouldn't be too difficult overall. In some ways the solution is overkill but overall it's a fair trade-off between reason and absurdity. And again, this is only a suggestion.

(I've had some issues with 2D physics programming involving doors smashing the player into the ceiling before, I can feel the pain lol)

spiro9-peef avatar Mar 23 '18 05:03 spiro9-peef

Yes, doors should actually be doing that, it's a bug that that logic isn't running. The general problem is that the door is an animated model, so the physics of it follows the animation around. If you use more generic movement systems (Piston Platforms, P1 doors) it does actually stop and grab on the cube.

TeamSpen210 avatar Mar 23 '18 05:03 TeamSpen210

Yeah, I knew I remembered that one of the Portal games used proper door physics...

Hmm. Perhaps a remodel of the Portal 2 doors may be in order sometime in the future? (EDIT) Or at least, a new object using the existing model?

spiro9-peef avatar Mar 23 '18 05:03 spiro9-peef

@peefTube A re-model would work however that would require packing it into the map. Also the actual door is it's own entity.

FrozenDragon0 avatar Mar 23 '18 07:03 FrozenDragon0