Main Menu

News:

LINKS: Website | Steam | Wiki

Teleporting Grunt

Started by Adraius, May 24, 2016, 02:01:42 PM

Previous topic - Next topic

Adraius

Setup:

Okay, so in my third run, which I've just posted my post-mortem on, I ran into a weird bug.  This is after I lost my backup Lrn. Sensor Array, though I've kept the Imp. Signal Interpreter attached in the vain hope I'll find another.  I found an Adv. Drone Bay in this side room right at the start of -3 and set one drone to explore.  It saw a Grunt patrol walking towards me, so I pulled it back and stayed in this room.  I played peek-a-poo with the drones at the door to try and spot when the Grunts went away.  I was a little too impatient and lost both drones doing this.

The bug:

In this picture, I've just moved from the space directly above where I'm currently standing.  You'll notice I have a walking speed of 120.  Thanks to that darn Scavenger the Grunts outside gain sight of me and aggro, but one of the four Grunts that was outside appears in the spot I was just inhabiting. 0.o

This seems a little above and beyond the "robots out of sight can step through each other" thing that can sometimes let a robot step into a room past his buddy in the doorway.

Kyzrati

Yeah, I'm aware of this behavior, which is simply a result of the same rule you mention. (It's intended and not a bug, but it could be addressed--I'll get to that.)

The robots are tracking you down, and they have a path to your position, and as you're aware when out of sight they are allowed to edge past their allies to the next unoccupied spot, regardless of where that spot is located. This is to prevent the many possible bottleneck situations that can cause big swarms of robots to form. In this case that Grunt was out of sight and its intended path passed through the Recycler and your current position to end at your old position, and once you moved out of that old position, it's allowed to jump both the Recycler and you.

Honestly the solution here might be more deadly than you like--what if doorways no longer worked as bottlenecks? Instead, attacking squads will properly squeeze their way into a room and surround you, which is the obvious logical thing for them to do, but allowing this is likely to make the game that much more difficult since there will be even fewer defensible positions.
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

Draco18s

Quote from: Kyzrati on May 24, 2016, 06:56:39 PMpassed through the Recycler and your current position

That's where I'd go "uh, no."  Hostil bots shouldn't be allowed to "step over" you like that.  Step over allies? Sure, fine, not a problem, totally get it.  Step through your space? Absolutely not.

D&D has a thing called "attacks of opportunity" when enemies try to maneuver around you too much, for precisely the reason that if that rule didn't exist, you could easily flank someone (and get the associated bonuses).

The "doors aren't bottlenecks" solution you say would make things deadlier is true, but that's also what's actually happening here.  If Cogmind had been in the doorway and the recycler one step out, then that grunt flowed around Cogmind, just as in your alternate scenario.

IMO that grunt should have stopped on the pile of matter just inside the door.

Kyzrati

Yeah, I'm not describing how it should work in an ideal situation, just how it does work, based on the code.

The Grunt doesn't even have a path through the matter, so that's not up for consideration with regards to where it will stop. Everyone can move diagonally, so the direct path it planned out to approach you is Recycler -> You -> Your previous position. When it checks that path, the first available position is where you were standing--it doesn't path around looking for other possibilities, because under the current system those checks can become complicated. Not in this case, no, but a generalized solution will fail in other scenarios, causing stranger behavior elsewhere.

We were talking about this on the stream yesterday, whether behavior should be changed to make them smarter here, and the general consensus was No. That rules out some of the better solutions to this issue.

What I can do initially is simply prevent combat bots from jumping your position. However, Swarmers can technically still do it, because you get to do that to others when flying :P
Josh Ge, Developer - Dev Blog | @GridSageGames | Patreon

Draco18s

Flyers: sure, no arguments.  It's the "that's a walker, I'm a walker, I can't jump them why can they jump me?" problem.