One-Button Fighter

A 2-4 player 2D fighting game that is played with a single button. Players get points for defeating other players by flying at them with the pointy part of their character.

This game was originally a solo project developed in a month, however, I brought on 3 teammates to help implement a menu system and king of the hill game mode. I also fabricated physical arcade style controllers for this project.

The controllers I fabricated for One-Button Fighter

When I heard about Divekick, the “World’s first 2 button fighting game”, My first thought was “Why stop at 2?” I wanted to know if I could successfully design and build a 1 button fighting game.

It was important to me that the players see the single button as a source of fun rather than an obstacle to it. If I had tried to recreate a fighting game’s formula with one button, it would be a frustrating user experience. For my design to be successful, a player shouldn’t feel that my game would be improved by having more buttons.

A great analogy for this is the kendama toy. Players could just use their hand to put the ball in the cup, but it’s more fun using the limited control of swinging the ball by the string.

For this reason, I had to make the single button as useful as possible, and design its limitations into the game mechanics so that they would become integral to the experience rather than being frustrating.

When approaching this challenge, I looked to solutions from outside of the field of game design.

I was inspired by a scene In the TV show Breaking Bad, where a nurse communicates with a Non-verbal patient by scrolling her finger across letters on a sheet. The patient dings a bell when the nurse’s finger is above the desired letter, and in this way the patient is able to communicate as though he is speaking.

I use this concept for the character controller in the game: The game engine acts as the nurse, rotating the player character continuously. The player simply presses the button when they have been rotated to the direction they would like to go in.

Exploring Morse code as an input

I could have encoded different actions as series of short and long button presses, but this solution could be overwhelming for the player. Instead I decided to save this idea for future development, with the intent being to give unique playable characters a single action that is executed with this, similar to ryu’s hadouken special input.

Squeezing more out of 1 button

I can also squeeze more information out of the button press than a simple boolean by considering the first frame that an input differed from the previous frame to be a distinct input from the player like so:

This gives me 4 possible button states instead of 2, in theory giving the player twice as many ways to interact with the game and allowing my to give the player more actions to play with, however, This solution comes with drawbacks. If each action was tied to a separate button being pressed (as might be the case in a conventional fighting game), than the player could perform any action from any state, like so:

Conventional Input allows players to press a button from any state

But with a single button, players can not always go directly from their current state to their intended input:

With a single button. players can only transition sequentially through different states

If a player is holding down the button (2) and wants to trigger the action tied to that state again, they can only do so by releasing the button and pressing it again, which would trigger the actions on state 2, 3 and 4. This means I must carefully consider the actions I associate with each state.