Playing with Space

Kay, so Position is something that can be in a lot of possible states. You have X, Y, and Z coordinates. Any object can potentially occupy any combination of these coordinates. Each of these possible coordinates is a state.

In a game oriented around combat, you have your character’s position, then each enemy’s position. So if you had an absolute possibility space lookup, the maximum number of states is every combination of X and Y coordinate between you and the enemy. That number of possible positions is really big. It gets even bigger in 3d games which use floating point math to determine object positions.

So here’s the trouble, redundancy. Realistically, you’re not using all that space. Realistically, any set of coordinates where the difference in position between you and the enemy is the same is the same state for all practical purposes. Realistically, if you and the enemy are too far apart to fight each other, then all the states are redundant until you’re close enough for there to be significant positional play. And the Z coordinate tends to be a bit constrained by gravity, so most 3d games only really play out on an X/Y plane with a bit of Z-Action within that limited height the character can jump, or have the high ground relative to an enemy.

So how do you emphasize positioning more? How do you make the occupancy of some positions more important, or more varied, than others? One method is to create an environment. On the simplest level this can mean making borders that you cannot move beyond. If you cannot move past a certain distance from the enemy, you can never move to the range at which no interaction can occur and all states become redundant. This also has the effect of creating walls that you and your enemy can be positioned relative to, creating a situation where perhaps one of you is against the wall. Depending on the game, there could even be effects like wall bounce that add additional situational advantages to being close to a wall. Adding more environmental details like this, such as obstacles, high and low terrain, etc, creates additional positional factors to keep in mind as you move around. You can use objects for cover, corner enemies, etc.

So imagine position as this huge swath of state-space. It’s always there. All these states always exist, but there are things games can do to either develop this raw state space into depth, or make it less relevant than it would be by default.

Developing the raw state space of positioning into depth means that you need to create relationships between the active elements of the game that emphasize good positioning. You need to make the place where the player character is standing count. More accurate and detailed hitboxes are helpful here. When the hitboxes are more accurate, then there is more potential to make plays based on minute hitbox interactions. You can just barely nick the enemy’s hand, or abuse a lean back animation to dodge an incoming attack that would otherwise overlap your center of mass (I do this with bowser’s f-smash a lot), or you can weave between multiple attacks very closely.

What destroys the relationship between positions? Snap-to and Lock-on. These make it so that regardless of your position, your inputs always have the same effect. Snap-to can be seen in games like Batman Arkham Asylum. Regardless of your distance from an enemy, if you tap towards them and punch, it’ll connect, they’ll make it connect. This is why I find 3d combat to be so difficult to implement, because for the sake of player convenience, you usually need some form of lock-on, because managing a camera with an analog stick can be extremely difficult. This is why Nioh slowed enemy and player rotation speeds in the middle of combos, to give the defender a place to walk around their attacker. This is why games like For Honor have arena hazards, because if there was no arena, then it would be a completely 1 dimensional game for all practical purposes. A lot of 3d action games work without arenas, like DMC4’d Bloody Palace, but that’s because their enemies and player movesets are more complex to compensate.

Another thing that can aid the relationship between positions is effects that are proportional to the distance between two objects. Like if you deal more damage up close or far away. There’s examples of this in Dark Souls, where some weapons have a sweet spot at the base or at the tip. Marth naturally relies on this in smash. First person shooter games have Shotguns which do this. Another example would be giving positional advantages at specific ranges. Like in fighting games, you typically want to sweep with the tip of your foot, because that will push the opponent too far to sweep you back, or you want to select the right move for the right range, and stand in the right range that your opponent can’t use their best moves.

In a game like dark souls, there’s also the positional difference between your light attack and heavy attack, the positional difference between each of your enemy’s attacks. The places you can stand where they’ll hit, and where they’ll miss. There’s the way that the attacks cleave through the air, moving over time. In Smash Bros, there’s a 2 frame window to reflect projectiles with power shield, however characters like Marth can crouch really low to the ground and get an 8 frame window to reflect falco’s lasers, because when he shields, he stands into the laser, causing it to overlap the shield on the exact frame the shield comes out (within the 2 frame window of powershield).

Emphasizing position is about making minute positional differences matter. In game like DMC and Marvel 3, position matters, but it’s not that important. The hitboxes are big and kind of general. Characters move at fast speeds. Skullgirls has absurdly precise hitboxes, more than any other 2d fighter, but because of the style of movement, attacks, and combos in that game, the precision of the hitboxes isn’t very noticeable. 3rd strike has less precise hitboxes (though still very precise for a fighting game), but it’s much more noticeable how attacks will miss at the edges of a character’s visible area, or catch on a bit of the opponent that is sticking out. Skullgirls rewards positioning, street fighter rewards micropositioning. Skullgirls and Marvel have other factors that compensate for having less precise positional play than Street Fighter, so it shouldn’t be mistaken that they’re worse games for not taking as much advantage of this particular segment of possibility space.

Smash Bros Melee, due to the way its attacks are constructed, has a large emphasis on positioning. By hitting with the tips of your attacks it’s frequently possible to make punishment impossible. By deliberately putting yourself close to your opponent, you can shield to force their attack to be negative so you can punish it. Many characters have positional sweet spots on their attacks, or timing sweet spots. Many characters have lingering hitboxes on aerials that they try to use to cut through a stretch of air. It’s possible to hit opponents in the opposite direction with the backside of a hitbox, which is frequently useful.

In DMC, you can teleport directly to enemies. Your hitbox is a snowman that’s kind of broadly fit over Dante’s central body mass. You have very wide sweeping attacks that are designed without significant pushback and catch a fairly wide area in front of him. However jump canceling requires you to be adjacent to the enemy to do it, making it very tricky to line up, adding a bit of positional play. On some enemies the hitbox is larger or smaller even.

Of course it’s also about enemy behaviors that make you respect spacing, that give you chances to abuse good spacing, that require you to space well to avoid damage. If you can stand still and mash attack while enemies walk into you, then some adjustment is needed. In games like Assassin’s Creed, enemies all stand around you and wait to attack one at a time. There’s no reason to move because enemies gain no advantage by flanking you, terrain doesn’t significantly change their access to you, and there’s no environmental features to play off of.

First Person shooters are almost always very heavily focused on positional play. You can’t build a good first person shooter without level design. FPS games are pretty much entirely about controlling the line of sight between you and an opponent, or using weapons that allow you to attack around corners.

A lot of good positional gameplay can also be related back to mathematics. There’s a lot of common difficult mathematics problems, like traveling salesman, maximum cut, knapsack problem, etc, that fall in the complexity class NP-Hard or above. In Nier and Nier Automata, you have attacks like dark lance and the laser or hammer pod program that can hit through enemies or hit a certain area of enemies. So in combat it can be efficient to group enemies together rather than fighting them, and it pays to recognize when enemies are grouped such that an area hitting attack would work. Raph Koster gave a talk on how a lot of these mathematics type problems overlap with games, and many of them are oriented around space. http://www.raphkoster.com/games/presentations/games-are-math-10-core-mechanics-that-drive-compelling-gameplay/

The hacking minigames in Nier Automata are also great at showing how to use space on a simple level. There’s holes in the bullet patterns shot at you, which you can sneak through. The waves are sometimes rotating in a circular pattern allowing you to move anywhere within a moving slice of the playing field, some triangular enemies in these encounters have shields on their fronts that need to be moved around to shoot from behind (which helps demonstrate how limited rotational speeds on enemies can be helpful for creating more positional gameplay). There’s an additional positional component here in that enemies defeated in this manner will explode, damaging enemies near them.

Micropositioning is a term for when positional play is very critical on a small level, where tiny changes in position relative to the size of the character are very important to success or failure. Dark Souls and Nioh tend to play this up a lot, where stylish action games don’t.

Old games, especially those on the NES, are almost universally extremely heavy on positional and micropositional play. They utilize contact damage enemies who threaten you through the ways that they move. A lot of modern action enemies tend to have animations, and threaten you through time, instead of space. You need to react to modern enemies and their many different styles of attack, where you need to plot a course around classic enemies. The Medusa head in Castlevania is a emblematic example of such an enemy.

There’s a lot of different ways to engage positional play, from projectile patterns, to enemy movement, to basic geometric shapes. One common strategy is to have enemies emanate waves, concentric circles, that can damage the player if touched. The player can then jump over or dodge through these waves to avoid them. By having these waves emanate from irregularly spaced sources, you can create patterns with them that require the player to pay attention to find ways through. Similar strategies can be fostered with lasers, or projectile streams like in the Nier Automata example above, where the enemy rotates the direction it fires in as the player moves.

Figuring out ways to play with spacing can be an easy way to tap into depth. It’s just a bit orthogonal to common approaches and isn’t always the easiest to put into words, however it’s an extremely powerful tool and helps a lot in making easy to understand games that give expert players ways to show off or perform better. Super Monkey Ball is a game that only uses an analog stick, but there’s a lot of ways to tackle each level.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s