Under review

Action to step backwards or away from player

GameUX 4 months ago in Game Creator updated 4 months ago 4

Problem: a group of characters following the player get the player in a corner and trap him, so both they and the player are stuck. I'm looking for a way for the player to be be able to get through the crowd. I have actions, conditions, Behavior and C# available, but unable to find a solution. Please advise.

Unity version:
Game Creator version:

A simple solution is to put these characters in a layer so that they don't collide with the player. Far from ideal, but it's a straight forward solution.

Another one would be to use a Behavior graph and check the distance to the player. If the distance is lower than certain threshold, make the character move to an empty game object parented inside the player (so it moves with it) that is far away enough so the player can move around.

Tried second approach, but it does not work. Due to the built-in rotation logic, the second approach will result in the player going in circles. Nice effect for dancing, but not for retreating. 

There is a "walk backwards" animation included in GC, but no easy way to get to a character to perform the animation and move backwards (as a gesture the character stands in place). 

Would it be possible to add to the roadmap an action for characters to back away from another character, the opposite of "follow" a character?

Under review

I'll see what I can do. I've been tinkering with the idea of using a Flee option, but I'm hesitant to include it, since characters could dumbly fall of a hill or get easily get stuck in a corner. I'll keep you posted on this.

  • Flee would be cool, but as you said could be tricky. Could do an inverse of Follow and go in the opposite direction walking backwards until the character gets fall or get stuck. Because the character is not facing where it is moving, falling or getting pinned in a corner may make sense.
  • Just a simple way to get a character to walk backwards until told to stop would be helpful.