Project Gemini will have support for keyboard and USB gamepad controls, but will be built for the specific intention of gamepaf play. Since there are many styles of gamepad we are going to select the Logitech Dual Action (LDA) gamepad. There are a few reasons for doing this:

- The LDA has a common button layout similar to that of Playstation controllers, as well as many USB controllers out there.
- At $20 it is a cheap and accessible gamepad.
- It is easy to support.

Button Assignment

Objectives: The objective is to have a simple and easy to understand layout that remains consistent for each character, while still having each character feel different and unique. While each character will handle very differently, the commands used to handle them should be as similar as possible to allow ease of learning.

Attack Buttons:

1, 4, and 3

These are the staple 3 buttons to execute 'normal attacks' I hesitate to call them the "light, medium, heavy" buttons since there is no need to restrict characters like that. It is just as likely that one button may be assigned for long range attacks, as is done with Serenity. Each character should specify what three attack 'styles' are assigned to which buttons.


Directional pad/Left control stick

Either or can be used for movement; but if the directional pad is used, 100% velocity will be assigned on left or right movement (In comparison, using the control stick one can opt to move slower by only moving the stick part-way. Up will cause the player to jump as long as other action don't preclude them from doing so. Down will cause the player to duck, with an appropriate reduction in their hitbox.

The directional pad/stick is often used in conjunction with other buttons to denote separate attacks or directional influence. All 3 attack buttons can be combined with one of 4 directions for 12 total types of attack. Special moves will also often accept directional input to give a move a direction, or influence it's trajectory.

Defending is also combined with the directional buttons to defend against attacks from a specified angle.


Button R2 (Right trigger, towards the back of the controller)

When held down, and if the player is standing this will enable the player to defend.

Special Moves

Button R1 (Right trigger, towards the front of the controller)

This is the button associated with the three (rarely 4) special moves assigned to a character. No move is executed when this button is pressed on it's own: rather, pressing R1 in conjunction with 1, 4, or 3 will execute one of the character's special moves.

Another Jump Button

Button 2
This seems redundant, but comes with good reason. Since the directional pad/stick is the only other mechanism for jumping, a player's thumb would have to hit 'up' to jump, precluding him or her from rapidly switching direction. By assigning button 2 to also be jump, a player may have his or her thumb ready on another direction, and can send button inputs within a frame of each other, allowing advanced players to tighten their game play.

Given that the advantage in this game largely relates to the position of the characters, jumping is a very important mechanic. We feel it deserves an additional button.

Depending on the move, directional influence from the pad/stick may apply as well.

Unassigned buttons

L1 and L2 (Right trigger buttons)

No purpose has been decided as of yet; it is noted that these are by far the least accessible buttons on the controller. We are considering leaving these open as special buttons to accomplish specific character-specific actions. We may also simply leave them open for the player to assign him or herself.

Player Controls

Above I have described the physical button layout, and what actions are to be mentally assigned to each button or groups of buttons. Here, the actions a player can make, along with the button sequences required for them will be explicitly stated.


Ground Attacks

Command: Buttons 1, 4, or 3

Attacks are broken into three 'styles' each of which is assigned to one of the three attack buttons (1, 4, and 3). This may be broken into weak, medium and fierce attacks but other styles that are likely such as ranged, movement (attacks move the player), point-blank and any such style limited only by the character designer's imagination.

Each style will have 4 attacks, assigned to one of four directions (Up, Down, Towards and Neutral) The given direction will roughly correlate to the direction of the attack, and a player can reasonably expect an up attack to strike an airborne opponent, and a down attack to execute a low sweep. In all there will be 12 different ground based attacks (3 attack styles * 4 directions)

Aerial Attacks

Command: Buttons 1, 4, or 3 in the air

Aerial attacks are a bit different, and treated as a style on their own. Regardless of which of the three buttons is pressed, when a character is in the air he or she will only make an aerial style of attack. Up + 1 and Up + 3 are the exact same move, if the character is airborne. There are 4 aerial attacks, up, down, toward and neutral.

Chris: I am considering adding more; My reasoning is that a lack of aerials may make it too predictable to juggle. On the other hand, too many will make the air game more complex, and this is generally the high-pressure part of any fighting game as is. I am contemplating this.


Command: R2 (Right trigger button, towards the back) + button 1, 4, or 3

Throws are attacks that may not be guarded; they are exectuted by hitting an attack button while blocking. The character will immediately enter their throw animation, grabbing the character at the appropriate frame if he or she is within throw range. Throws cannot be blocked, through they may be dodged.

A throw cannot be executed in the air.

Some characters have a throw for a special move; these are usually more powerful or bend the normal rules of throwing. This is often referred to as a 'command throw'. Such throws, like normal throws, cannot be blocked.


Jumping propels the character off the ground from a standing position. It may under circumstances be executed in the air or off a wall; characters will explicitly state if they can do this.

Jumping will always provide a constant amount of velocity given the type of jump, and without directional influence a jump will propel a character the same distance up every time. Directional influence may be given to a jump; again character descriptions will mention if the character can do this, and how it is accomplished.

Short Jump (Hopping)

Command: Release jump while character is still on the ground

A short jump, or hop, is executed by releasing whichever jump button was used before the animation for the jump itself has launched the character on the ground. There will always be a frame delay, which will vary by character and be explicitly stated in his or her description.

Short hopping will give the jump 1/3 of it's original velocity

High Jumping

Command: Down, then jump

High jumping is available to all characters, and is executed by ducking, then jumping before the duck animation has finished. This will result in a higher startup time (as the character needs to come out of his or her ducking animation before the jump begins) but will execute a jump with 1.5 times the normal jump velocity.

This bonus may be reduced for characters to whom this may pose too serious an advantage. All characters however can high jump.


Command: Jump again, in the air
Floating is a mechanic available to Serenity, and possibly additional characters if added.

Floating will provide a character with acceleration over time, generating far more smooth aerial movements. Note that this differs from jumping, which only gives a character an immediate velocity with no further acceleration on it's own.

Double jump

Command: Jump again, in the air

Some characters can execute a second jump in the air. This will immediately replace their aerial direction with a new velocity, and the player cannot jump again until they have landed.

The new velocity does not have to match the ground jump velocity; and will often be significantly less.

Special Moves

Command: R1 (Right trigger, toward the front of the controller) + any attack button (1, 4, and 3)

Each character has a minimum of three special moves, executed by R1 + buttons 1, 4, and 3 respectively. These moves will be completely different per character. There are no real restriction to the moves, but movement of the character and dealing damage are two recurring themes.

Directional Influence

Often, a special move can be given directional influence. If a direction is pressed within a set amount of frames of the start of a special move the trajectory of the move will be affected. Moves that take directional influence will explicitly state so.

For some moves, direction may be mandatory and a default must be assigned for the 'neutral' direction.

Directional Guidance

Similar to directional influence, only the player has control of the move over a set amount of time; not merely at startup. The amount of control allowed will vary; some moves will allow a complete change of direction, while others will only allow slight changes to velocity. The degree of this and how it works will be explicitly stated with the move.

A visual theme for all moves that can be directionally guided is a trail of some sort; shadows, smoke, light or anything that fits with the theme of the character. This should serve as an identifier, so the player can easily recognize moves that they can guide. This is important for moves that only allow for a small amount of guidance, and may not be identified as easily.


Command: R2(The right trigger button, towards the back of the controller) + any direction

Each character has the ability to defend, and does so by holding down R2. There are start-up and wind-down frames to defending during which the character is still vulnerable. While guarding, the character will block all attacks from a given direction within a certain angle. This arc is called the guard wedge.

The guard wedge will be wider for more defensive characters, and shallower for less defensive ones. Blocking an attack will also cause the wedge to be reduced by an amount set by the move that was blocked. This can continue until the wedge covers an angle of 0 and is completely diminished; at which point the character will have their guard broken and will be unable to guard for 5 seconds, at which point they will have their wedge restored.

A default direction is given towards the nearest opponent, and any direction can be applied after through the directional pad/stick. There is no limit how fast one can change the direction of the guard.

Finally, any attacks that clip the edge of the guard wedge (within 15% of either edge) will break the guard for a second, inflict reduced damage and knock the guarder back. Recovery will be greater than if the move were blocked fully, but less than if the move was not blocked at all.


The guard wedge will be illustrated in game by a glowing wedge emanating from the guarding player. The wedge will be transparent but bright, and will fade to nothing at the edge where an attacker can clip a defender (see above paragraph).

This allows both players to be aware when someone is blocking, and in what direction.


Command: R2 (Right trigger button, towards the back of the controller) twice

Dodging is executed by releasing and then pressing R2 again before the block animation has been completed. The player will immediately enter the dodging animation, with a set start-up and wind-down. During a dodge, a player is completely invulnerable to all attacks, including throws.

Dodging may be done in place (spot-dodging) or it may be done in a direction. Players on the ground may only dodge left, right or in place. Airborne players can dodge in any of the 8 cardinal directions or in place, through the distance of their dodge will be reduced.