Skip to content

Fullcount Devlog #6: The Strike Zone

Fullcount Devlog

In the previous devlog, we shared part of the process of tuning Fullcount, or making the outcome of each at-bat correspond to the batter’s and pitcher’s choices in a logical, satisfying way. This week, we’ll take a look at a complementary process: our decision to make Fullcount pitches asymmetrical. When we launch the Nova League next week, the game will penalize batters more heavily for missing on the vertical axis (swinging above or below the ball) than on the horizontal axis (swinging too far to the left or right). 

So what does making pitches asymmetrical mean? Let’s take a look.

Before: The Square Grid

Since the pre-alpha, Fullcount has been played on a square grid representing the strike zone and the space around it. 

An image of the game UI with the pitcher on the left, the batter on the right, and a square 5x5 grid in the middle.

The square grid in the middle of the screen represents the strike zone (the central nine squares) and the area around it.

The batter chooses a square to swing at, and the pitcher chooses a square to throw to. The bat and the ball have each been represented as taking up a single square.

Limitations of the Square Grid

Of course, this is a simplification of the conditions of an actual baseball game. A real baseball bat is much larger–in particular, longer–than the ball, and its hitting surface isn’t square.

Similarly, the strike zone is not actually a square. Representing it that way just gave us a convenient visual and a familiar-looking grid, similar to those used in chess and Battleship, to play on. 

Simplifications aren’t inherently bad. Having a clear and easy to grasp mechanic makes it easy for players to start playing Fullcount, and it lets them concentrate on strategy instead of figuring out the game’s UI. However, this particular simplification also introduced a problem: It allowed for outcomes that didn’t feel realistic or satisfying to our players. 

Based on our playtesting, including feedback we got from demos at ETH Denver earlier this month, players are particularly dissatisfied when the batter misses by two squares vertically and still gets a hit. 

Missing by two squares horizontally doesn’t bother our playtesters as much, perhaps because they know that bats are long and assume it would be easier to make contact with imperfect horizontal positioning, even if the hit is less powerful or controlled because the batter doesn’t make contact with the sweet spot of the bat. Similarly, misses that are off by one square vertically and one horizontally look close enough together to make a hit feel plausible. 

After: Rectangles

A 5x5 rectangular grid. The center 9 spaces are green, representing the strike zone. The surrounding spaces are thinner. The rectangle is roughly twice as tall as it is wide

The square grid in the middle of the screen represents the strike zone (the central nine squares) and the area around it.

To solve this problem, we will make three changes:

  1. The playable area will be represented as a rectangle, not a square. The new grid will look something like the image above.
  2. In calculating the distance between pitch and swing, the game will give more weight to vertical differences than to horizontal differences. This means that players who are off a little to the left or right of the ball have a better chance of hitting the ball than players who swing above or below it. The adjusted calculation recognizes the facts that:
    • The playable area (the strike zone and adjacent area) is larger in the vertical dimension than in the horizontal dimension.
    • The bat is swung roughly along a plane parallel to the ground and orthogonal to the vertical axis.
  3. The bat will be rendered horizontally in the game client, so that the bat image that players see will match the adjusted calculations and look more like the movement of the bat in an actual game of baseball.

These three changes will make the game outcomes more satisfying both in their logic and in their visual representation. 

If you are interested in trying out the new look and new outcome calculations, check out the Fullcount Nova League when it launches at fullcount.xyz on Arbitrum Nova next week. The game will be free to play, and we’d love to hear your thoughts on the newly tuned game mechanics. 

Thanks for reading, and mark your calendars for the Nova League launch on March 22nd!

Tags: