The Raindrop

Unity Engine C# Player Controller Randomized Levels Group of 5
View code on Github Play in browser from itch.io

Things I worked on

  • Player controller
  • All Random level generation
  • All menus and UI elements
  • Complete Saving and Loading of Players Scores
  • Wind and blackhole systems

Created as a second-year project, this sees the player, the sun, fall in love with a raindrop, gain its trust and guide it up through various stages from the lake, all the way up to space. Being made with the two themes the life of a raindrop and trust and betrayal at its core the aim was to make an enjoyable game which followed good design principles. As the main programmer I endeavoured to ensure that the elements developed were highly modular and easy to use across all the various levels of the game.

Random Level Generator

A main challenge with the generator was ensuring that players do not get overwhellmed to early on and as well not too easy as to require no movement whatsoever. To solve this a shuffle list style system where the components of the level got broken up into various stages based on difficulty and only spawned in based on the players progression and the stage that came before it. Within this it was ensured that no falling elements, such as leaves, could appear in a similar place multiple times in a row as well as the gaps never appearing too far appart or close together.

Below is an overview of the level generator and its parameters for level 1:

Easiest sections, with fewest leaves and branches farthest appart. Appears randomly, at level start and after the hardcore section

Medium difficutly sections, branches closer together and some more leaves. Appears randomly

Hard sections, with branches quite close together and many leaves spawning. Appears randomly

Hardcore, the hardest section, containing only many leaves needing to be dodged. Appears randomly and is least common

Snapshot of the level generator's editor

Player Controller

The goal here was to develope a system in which the player, controlling the sunbeam, would be able to guide the raindrop around the various obsticals throughout the levels. A core challenge here was in getting the movement to feel nice and intuitive requiring a variety of user testing and refinement as seen below:

Early prototype: Sunbeam moves across the screen and the raindrop will only move when a certain distance from it

Final Version: Sunbeam rotates instead of moving and the raindrop constantly moving towards it with no limit on how far it can get