A Physics-based Marble Game
Marble Painter is a physics-based game where the player guides a ball through a level, avoiding traps and enemy marbles while trying to paint the required number of floor tiles before time runs out.
This is a project to familiarize ourselves with the Unity development environment. The goal was to create a simple game based on the classic puzzle game Marble Madness using the Unity engine, the game comes with unique gameplay mechanics inspired by Katamari Democracy and The Blob.
The game is played in a top-down view, and the camera follows the player. The top right corner contains information including time left and the percentage of level completed. If the game finishes, a message appears telling the player he or she has won or lost, and a Play Again button will appear.
The level in the game world are composed of cubes of the same size, the cubes are put together to create floor tiles, walls, and other special blocks. Each floor tile has a paint attribute that can be changed when the marble rolls over it, when the attribute is changed, the block is rendered in a different color to show it has been painted.
The goal of the game is to paint as many floor tiles as possible within the given time limit, if the player paints the required number of blocks, the game is won.
There are many obstacles in the game to hinder the player's progress. Below are the traps and other elements that players should watch out for:
- Enemy Marble: These marble will follow and try to bump into the player when within range
- Falling Tiles: These floor tiles will disappear when the player rolls over them
- Ice Tiles: It is harder to control the marble when it's over these tiles, they are very slippery
- Fire: Fire burns, so when touched, the marble dies. The fire is done using particle system
There are also things that will help the player:
- Health Package: These will increase the time by 10 seconds
The background music is titled If by Peter Rudenko and is distributed under the Creative Commons license. All textures are taken from Unity.