/Balance-Ball

A Unity/C# project for physical engine exploration

Primary LanguageC#

Bounce-A-Ball Project in the Unity World

This is Yunzi Wang's individual exercise project for game design and programming.

Project Overview

This is a simple roll-a-ball project built in the Unity environment. It was first designed to reproduce the Ballance game, to explore the 3D puzzle video game world and to teach myself basics of Unity and C#.

When setting up the level environment, I became intrigued to create a girlish and fantasy-like atmosphere with creamy color schemes. And I also had a good grasp of concepts like physical material, prefab, instantiate, rigid body, etc. Therefore, I added many classic elements of roll-a-ball games, such as coin eating, snake zigzagging, and material changing.

Game Snapshots

👉🏼The overall game view:

In this game, the player will have a third-person perspective. They also need to control the rolling ball with WASD commands. At the same time, players hit the whitespace to make the ball jump. There are also constantly rotating coins floating on the blocks. Instead of collison bodies, they work as triggers. If touched by the player, they disappear. Currently, it lacks an UI letting user know the score and prompt. Later, the UI layer will be added.

👉🏼The overall scene view:

👉🏼Close-up snapshots:

Notice that there is a square mat with a lighter gray than the start mat. It is placed in the center of the snake puzzle. This light gray mat is a collision body. Once the ball hits the mat, the material and mass of the ball change. This is a test for both the collision detection mechanism and physical material change mechanism.

The player will have to be comfortable with the jump movement to make the ball climb stairs to eat all coins.

The "sky scraper"-like building sets are actually traps for the player due to the limited jump acceleration. Once the ball falls into the hollowed areas, it might be hard to lift itself up. There are many nuances of material, mass, force, etc. Different settings for different parameters will cause huge difference in players' experience.

This is a snake puzzle. The player will have to be comfortable with horizontal movements. After all, it would be annoying if the ball keeps falling to the ground when going through the snake.

👉🏼Hovering view

I built 4 air walls around the playground preventing ball from going out of sight. In the game view, they look compeletely transparent.