Pitching Mechanics

Pitching is the act of throwing the ball towards the batter for them to try to hit.

## Basic controls

**Pitch types**

* Normal/curve: press the A button briefly.
* Charge: Hold the A button for longer. If the A button is released when the golden crater appears below the pitcher, this will trigger a Perfect Pitch.
* Change-up: Holding down on the control stick when A is pressed when A is pressed triggers a change up.
* Star: Holding R when A is pressed and enough stars are in the star gauge triggers a star pitch.

**Curving the ball**: When the pitch is in the air, pressing the control stick left or right will make the ball curve in the direction of the control stick. The ball curves the most for normal pitches, and the least for perfect pitches. However, the amount of curve depends on the specific pitcher.

The pitcher can start at different points of the pitchers mound by pressing left/right before the pitch is thrown.

**Pickoffs**: When there is a runner on base, pressing B will turn the pitcher into pickoff mode. If the offensive player initiated a steal at this point, the runner will start running to the next base and is at risk of being put out. When pressing B, if a direction is pressed simultaneously, the pitcher will automatically throw to the indicated base without needing to press A.

### Wario/Walu Phoney/Liar ball

As these pitches approach the plate, their animation will flip back-and-forth between two different balls. Near the end of the pitch, it will be revealed which is the real pitch, so the batter will have to guess which one to swing at.

The pitching player can tilt the stick left or right before the ball leaves the pitcher's hand to set which ball will be the right one. If no input is selected, then the real one will be selected at random.

## Character Attributes

Below are all the pitching attributes for each character.

**Star pitch**: The type of star pitch the player throws. If the character is a captain, the type in the brackets shows what the pitcher throws in challenge mode before the star pitch is bought in the shop.

**Curve/Charge Speed**: The velocity of the pitches thrown.

**Curve**: This is thought to be related to the degree of curve the ball can have.

**Curve Control**: This is thought to be how quickly the ball will react to the left/right inputs before changing directions.

**Cursed ball**: Cursed ball reduces the exit velocity of Nice or Sour hits, making the ball travel less far. More details can be found here: Cursed Ball

## Pitch Speed

The speed of the pitches has not been decoded yet, so the following stats have come from empirical testing. The speed assumes that 1 unit in the game is a meter, which has then been converted to MPH.

### Curve Balls

The starting speed of the curve pitches seems to consistently be 0.5618 \* Curve Speed Stat.

As the ball is travelling, it decelerates, and is slower by the time the ball crosses the front of home plate. The ending speed varies by pitcher. Generally, the faster the starting speed, the less the ball has slows down. This is likely because the deceleration mechanism the game uses has less time to work since faster pitches get to the plate faster. The starting speed is generally between 1.8x-2.2x faster than the ending speed.

### Changeups

Changeups start at the same velocity as charge pitches, but slow down much more dramatically by the time the ball crosses the plate. The starting speed is around 3x-5x faster than the ending speed. Again, faster pitches slow down less than slower pitches.

### Charge Pitches

The speed of charge pitches is different depending on when the player releases A. There a 4 speed zones: start of charge, early crater, perfect, and overcharge. The speed differences from testing 4 pitchers is shown in the graphic on the right. Frame 0 is the speed of curve pitches, while the other x values represent which frame A was released.

#### Start of Charge

This segment is from the very start of the charge animation and lasts until the golden crater starts to appear below the player. This phase lasts for 16 frames. The speed gradually increases throughout this phase.

The lowest speed in this phase seems to be based on the Curve Speed Stat, since the velocity is roughly 0.606 \* curve speed stat MPH for each character. The fastest speed at the end of this phase seems to be related to a combination of the curve and charge speed stats, since the slope of the speed change is different for each character.

#### Early Crater

This segment lasts from frame 17 to frame 27 - just before perfect pitches are triggered. The speed gradually increases in this phase too, but at a slower pace compared to the Start of Charge phase.

At the start of this phase, the speed is about 0.535\*charge pitch speed. At the end, the speed raises to roughly 0.546\*charge pitch speed. Neither of these multipliers are perfectly consistent, and seem to have some influence from the curve pitch speed.

#### Perfect pitch

These pitches are the fastest that a pitcher can throw, and can be triggered by releasing A between 28 and 41 frames after the charge pitch was initiated. The speed is pretty reliably 0.588\*Charge Speed Stat, and is constant throughout the whole phase.

#### Overcharge

If the A button isn't released or released 1 frame before the pitch is thrown, this will trigger an overcharge. The game will select a random charge amount between 50% and 80%.

## The Strike Zone

The game determines if a ball is in the strike zone on frame 4 (see the Contact Frames section in Batting Mechanics). At this point, it is a strike if the ball is between -0.53 and 0.53.

## Curving Pitches

While the ball is in the air, the player can tilt the control stick left and right to curve the pitch. The speed and responsiveness of the curve is dependent on the pitcher's curve and curve control stats.

The curve stat controls the maximum speed of the ball's left and right movement.

The curve control stat controls how fast the ball will reach maximum speed (and return back to going straight once the stick is released).

### Pitch curve maximum speed calculation

Each pitch type has a range of maximum left-right speeds.

The speeds are chosen by linearly interpolating the character's curve stat (divided by 100) onto the ranges in the table above. For example, for a player with a curve stat of 50, their curve ball left-right speed will be the middle of 0.00125 and 0.0025, so 0.001875. For type 1 pitches (normal curve balls), the maximum curves are shown below. Note, superstarring a character adds 50 to their curve stat.

#### Charge and Change-Up Pitches (+ change-up and fastball star pitches), and tired pitchers

For charge pitches, the game multiplies the curve stat by 0.02, and then rounds down. This means that characters with curve stats between 0 and 49 will have a new curve stat of 0, and characters with curve stats between 50 and 100 will have a new curve stat of 1.

Curve stats of 1 results in a maximum curve speed of 0.00125 (the bottom of the range).

Curve stats of 0 bypasses the linear interpolation function, so those pitches don't curve at all.

If the pitcher is tired, the game multiplies the curve by 0.01. This is applied on top of the multiplier for charge/change-up pitches, if applicable.

### Pitch Curve Control Algorithm

The characters curve control stat controls how fast the ball reaches its max curve speed and returns back to 0 when the player stops tilting the stick.

The curve control stat is linearly interpolated from 1-100 to 8-2 (lower stat=higher value). These new values are essentially the number of frames that it takes to reach the maximum curve speed.

Note: superstarring characters adds 50 to their curve control stats.

If the pitcher is tired, their curve control stat will be multiplied by 0.01.

**Demonstration on how curve control works:** For a pitch moving straight, holding right for peach will only take 3 frames for it to be curving the maximum speed to the right (0.002125). Once the stick is released, it would take 3 frames to stop moving. If the stick instead was changed to be tilted left, it would take 6 frames to change the curve speed to be the maximum to the left.