Whats New: I updated the UI and made it much more organized in the latest version of the game. Not much functionality has changed but it is more polished now.

Itemized Features

Feature 1: User can place spheres in the scene 

Input: Left mouse click / Mouse location

Process:

  • Detect mouse click.
  • Check if the Y-coordinate of the click position is less than or equal to 4.1f.
  • If the condition is met, place the sphere at the click position.
  • Increment the counter for placed spheres.
  • If the number of placed spheres reaches the maximum, switch to POP mode.

Output: A sphere is placed at the mouse click position if the conditions are met.

Feature 2: Mouse position tracked on top right corner

Input: Mouse location

Process:

  • Continuously track the mouse position in MouseTracker.cs
  • Update the referenced UI text element with the current X and Y coordinates of the mouse.

Output: The current mouse position is displayed on the screen in the top right corner

Feature 3: User can make spheres bigger through the slider

Input: Moving slider / changing value on the slider

Process:

  • User drags the slider to select a size.
  • Update the size of the next sphere based on the slider value.

Output: The size of the next sphere placed is adjusted based on the slider value.

Feature 4: User can select the color of the spheres through a dropdown

Input: User selects color value from dropdown (RGB)

Process:

  • User selects color through the dropdown
  • Update the color of all spheres placed with that value

Output: All spheres on screen will be that color

Additional Feature 5: User can pop (destroy) the spheres using raycasting

Input: Mouse click on sphere

Process:

  • User clicks on placed sphere while in POP mode
  • Raycast hit destroys the sphere and plays a popping sound

Output: If raycast hit, destroy the sphere object

Additional Feature 6: User can set number of spheres

Input: Dropdown to select number of spheres

Process:

  • User selects value from dropdown
  • Number of spheres possible is changed to value
  • User can now place that amount of spheres

Output: User is able to place that amount of spheres

Feature 7: Start Round button / Countdown

This button is only visible after the user has placed all spheres.

Input: User clicks on “Start Round” button and it disappears.

Process: 

  • Countdown timer begins
  • Countdown timer ends
  • User enters POP mode and pops all balloons
  • User is back in EDIT mode and places all balloons
  • Button reappears

Output: Round officially starts and user is changed into POP mode

Feature 8: Round Timer

This timer tracks the amount of time the current round takes for users to go from POP to EDIT mode.

Input: User clicks on enable timer toggle and round officially begins (user is in pop mode)

Process:

  • DateTime.now is used to get the current time
  • Timer starts and is displayed in the top right corner
  • Once user pops all balloons, that time is recorded
  • Calculation of time start to time end (in seconds)

Output: Current round time and final round time in top right corner

Feature 9: Generate Random button

This button generates random coordinates for the balloons to spawn. This also acts as a “filler”, meaning that if you have 5 total balloons and you place 2, clicking this button will randomly generate the remaining 3 balloons.

Input: User clicks on button

Process:

  • Calculate remaining spheres
  • Generate random points
  • Return vector of coordinates

Output: Remaining spheres will be randomly placed around the canvas

Feature 10: “Hard mode” toggle

This toggle makes the balloons harder to hit by moving them with math functions.

Input: User enables toggle for hard mode

Process:

  • Placed spheres get transform component manipulated

Output: Balloons begin to move around in slight circles.

Feature 11: Round Countdown

This countdown gives the user a couple seconds to get ready before the round officially starts

Input: User clicks on start round button

Process:

  • Countdown value is set to 3 seconds
  • Decremented every second

Output: Countdown from 3 to 1 appears in place of the start round button.

Feature 12: Game Instructions

The main view now has small instructions on how to play the game

Input: User starts game

Process:

  • Instructions display on screen until a balloon is placed

Output: Text instructions that appear on screen until a balloon is placed

Feature 13: Placement animation

Each balloon now has a placement animation.

Input: User toggles and places balloons

Process:

  • Animation and animator is enabled for balloons

Output: Balloons have animation when being placed.

Feature 14: Destroy/Pop animation

Balloons now have a popping animation that makes them shrink down before playing the pop audio.

Input: user toggles and pops placed balloons

Process:

  • Animation is enabled and causes balloons to scale down when popped

Output: balloons scale down and pop with animation

Feature 15: Crazy mode animation

An animation that causes the balloons to spin rapidly when toggled.

Input: user toggles and places balloons

Process: 

  • Animation gets enabled and balloons begin rotating like crazy

Output: all placed and future balloons will be in crazy mode

Feature 16: Rotate balloon animation

Balloons now have a realistic animation where they are spinning in place, like it is attached to the string.

Input: User toggled and places balloons

Process: 

  • Balloon prefab begins rotating all components

Output: Balloon prefab begins to spin in a circle like a real balloon

StatusReleased
PlatformsHTML5
Authorcja48
Made withUnity