Walking against the flow in a crowd
Diagonal Movement: Yes or No, and Why?
Diagonal Motion
movement - What is the logic of 'move_towards_point'? - Game Development Stack Exchange
Brand-new to this sub, I thought I'd share my favorite. Sorry if it's been done before.
Anyone who has walked in a major city during rush hour knows how hard it is to walk against the flow of other pedestrians. You try to step left and right around people, and twist your body sideways to slip in between them. You probably also know that this is a huge pain in the ass and you don't move very fast.
Well next time, try this:
Stand up tall and "project" the direction you are going. Keep your shoulders square in the direction you want to go. This makes it easier for other people to predict your path.
Walk slowly but continuously. Carry that momentum. People will be less likely to cut across your path.
As you weave, look past the people you're avoiding, not at them directly. Without making eye contact, other people will not assume you are going to avoid them, and may alter their path.
Don't snake too much. Don't go straight at people, but don't zig-zag around them too much. If you see a parting in the crowd ahead of you, you're doing it right.
Finally, don't be a dick. You're the one going the wrong way so you shouldn't make people have to stop and go around you. Stick to the least-dense part of the crowd if possible.
edit: format
Hello everybody! My friend and I are designing a Turn-based Tactical RPG, and we use square tiles for the battle map.
That said, do you believe characters should be able to move diagonally?
Should be able to move diagonally but perhaps with some sort of penalty (like consuming more Action Points)?
Thanks!!
Can any liquid/gas move diagonally?
move_towards_point() Makes the character go to a specific position, it's not intended to use it for general movement.
For example, if your character is at (100, 100) and you use the function with (200, 200), then it starts moving diagonally in the right-down direction.
Because the x coordinate 0 is at the left edge and the y coordinate 0 is at the top, if you enter these values, the character starts moving towards those edges.
If you enter the character's positions, it defaults to right.
To make the player go in a specific direction, you need to add some amount to the x and y coordinates. For example, to move down you do
y += 1;
move_towards_point makes the object move towards a particular point - as its name implies.
If the object is at coordinates 200,200 and you do move_towards_point(x, -y, 10) then you are telling it to move to coordinates 200,-200 which is off the top of the screen. (10 is the speed)
If the object is at coordinates 200,200 and you do move_towards_point(-x, -y, 10) then you are telling it to move to coordinates -200,-200 which is off the top-left of the screen.
If the object is at coordinates 200,200 and you do move_towards_point(x, y, 10) then you are telling it to move to coordinates 200,200. But it's already there, so I guess it arbitrarily moves right. (Personally, I'd expect it to not move if you tell it to move to where it already is...)
It is unclear, but likely yes
Moving through a creature’s space seems to be mostly about how you can avoid ending up in with 2 creatures in one square:
If you want to move through an unwilling creature’s space, you can Tumble Through that creature’s space using Acrobatics. You can’t end your turn in a square occupied by another creature
When you move diagonally, there is no chance that you finish in their square, so Tumble Through seems unnecessary.
The rules don't say
The closest rules presented in Movement in Encounters and Running Encounters include things like:
- Diagonal movement cost
- Moving through a creatures space (no reference to adjacent enemies)
- Objects can restrict movement (no reference to how corners affect this)
Each GM will have to make their own determination of how to rule this based on a couple core questions. The crux is deciding if diagonal movement (from one 5-foot area to another) constitutes moving 'through' one or both of the 5-foot squares orthogonal to them. (This could also have implications regarding diagonal movement around an enemy, but that's another ruling entirely.)
- Allowing the diagonal movement is closest to RAW because there is no specific dis-allowance for moving between enemies, nor any specific reference to moving through any spaces not included in your Movement
- Dis-allowing the diagonal movement is a potentially more immersive ruling... it doesn't take 8 people to surround someone, it doesn't require special ruling to prevent you from moving through the corner of objects that are pushed together, it makes it possible to block passages that happen to be on a diagonal portion of the map, etc.