Wave’O’Dome

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.

  • Red
    Red waves killed a player instantly. Red power-ups generated a wave which killed other players on hit.
  • Yellow
    Yellow waves stunned a player. Yellow power-ups generated a wave which stunned other players.
  • Blue
    Blue waves pushed back a player. Blue power-ups generated a wave which pushed back other players.

My tasks

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“.

Inputmanager
Wave’O’Dome – Inputmanager

To receive a player’s input, a player number was declared in each player script instance.

Show code
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.

Show code
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.

Diese Diashow benötigt JavaScript.