About the game
In January 2017 the annual Global Game Jam took place. The theme of that year was waves. My first idea of a first-person-arena-brawler was changed by our 5-man group into an arena game with an isometric view. The main gameplay for each of the 4 players consisted of gathering power-ups, avoiding dangerous waves which were emitted from the center of the battlefield and defeating the enemy players with the help of the collected power-ups.
Power ups and waves
A wave and each power-up had a different effect depending on its color.
- RedRed waves killed a player instantly. Red power-ups generated a wave which killed other players on hit.
- YellowYellow waves stunned a player. Yellow power-ups generated a wave which stunned other players.
- BlueBlue waves pushed back a player. Blue power-ups generated a wave which pushed back other players.
I took on the tasks of implementing the control and the main menu.
Implementing the player control was a challenging task since the game should be controlled with 4 different controllers. I solved this problem by naming the various input axes in a way that they contained a player number. For example, player 1 had a horizontal movement input axis which was called „Player1_H“.
To receive a player’s input, a player number was declared in each player script instance.
public int m_IPlayerNumber = -1;
This integer served as an unique ID and identified the script to other systems. The input of the player could be queried by putting together a string of the player ID and the name of an axis.
if (Input.GetButtonDown("Player" + m_IPlayerNumber + "_Start") && m_CanMove)
I decided to use a script in order to provide proper control over the main menu via a controller. A pointer was used to trigger animations and show or hide various pages in the main menu.
I would have liked to develop the project further, because I realized my preference for working with user interfaces in this project and thought that the idea was fit for a public release.