Author: | Katharina Benke, Michael Berezovsky, Luka Demetrashvili, Lara Liebmann, Benjamin Miskovics, Fabiola Wörter. |
---|---|
Supervisor: | Prof. Gudrun Klinker |
Advisor: | M. Sc. Daniel Dyrda |
Submission Date: | 30.07.2023 |
Abstract
Rolling Stone is a game created for the Introduction to Audio in Games course. It was made by Katharina Benke, Michael Berezovsky, Luka Demetrashvili, Lara Liebmann, Benjamin Miskovics, and Fabiola Wörter. The game is a 2D platformer with a single level split across three universes. The player controls a stone sphere and has to reach the end of the level to win. Not every platform is accessible in each universe. To progress through the level, the player has to switch between universes. This is aided by sound cues. The player can roll sideways, jump, and switch between the universes. The ability to switch between universes is bound to jumping: when selecting a universe different to the current one, a change to the chosen universe is performed at the start of the next jump. This might lead to the player’s platform disappearing, forcing the player to focus on the sound cues. The player has three lives, which they lose by falling off the level. If the player loses all their lives, they are returned to the main menu.
Project Description
Game Level
The game consists of a single level, containing multiple paths to the end. It was designed to have typical platformer areas, for example a tower, with the traversal of the level only possible by switching universes. In addition to the universe-specific platforms, it also contains platforms available in all universes which don’t change their texture, to give the player safe areas.
The level was designed by Lara Liebmann.
Visual Assets
Each universe has its own distinct color palette, which was chosen after the rough sketches were complete. The player color palette was chosen to contain colors of all universes, while remaining distinct. Using these color palettes, the backgrounds and platform textures were created.
Finally the player and the UI icons were created. The universe icons fit the universe color palettes, while the life icons share the color palette of the player.
All visual assets of the game are handmade and were drawn digitally by Katharina Benke.
The Player
The player is a sphere with a stone texture. The rolling animation of the player is handled by the Unity animator.
All player inputs are handled by the new Unity Input System and passed along to the PlayerController script.
The PlayerController script implements the additional features of coyote time, variable jump heights, ledge forgiveness, and teleports the player back to the last platform after their death.
The adaptation of the PlayerController was done by Katharina Benke.
Universe Changing
Another important mechanic is changing universes. The current universe is stored in the StateMachine. The selection of the next universe is done with the “Up/Down” or “Q/E” keys and is confirmed by a jump with “Spacebar”. The preselected universe is displayed in the bottom right corner with the universe icons.
The transitions between universes are implemented with an expanding circular animation consisting of a particle system that changes color depending on the target universe, and a shader graph animation for the background. The platforms also change their texture with a shader graph animation, after being hit by the circular animation.
The visual transition between the universes was done by Luka Demetrashvili.
Audio Features
FMOD for Unity was used as the audio interface.
In the settings, the player is provided three sliders, allowing them to change the Master volume, the SFX volume, and the background music volume. To change these parameters Reactive variables are being used to change intensity of a channel in FMOD.
The game has a core background track, with differing lead instruments depending on the current Universe. These lead instruments are also utilized as audio cues, playing short clips of music whenever the player is supposed to switch to a different universe. These audio cues are chosen randomly from a set of clips for each universe. When falling, losing, or winning, a sequence of audio clips is played to support the corresponding event.
Whenever the water universe is active, a low-pass filter is applied to all audio except for the sound cues, to replicate the dampening effect of water.
The rolling sound of the player differs depending on the platform they are on.
All audio features and audio integration were implemented by Benjamin Miskovics. SFX and music were created by Fabiola Wörter.
Menus and Screens
The game has a main menu and an in-game pause menu. Both menus allow the player to start or continue the game, to open the settings, and to quit the game.
The settings menu contains three sliders which change the volumes.
If the player loses, a losing screen is shown. If the player wins, a win screen is shown. In both cases, the player is brought back to the main menu.
The menus and screens were implemented by Michael Berezovsky.