A Feather's Journey

Game Rules

Click two points on the screen to generate wind.

  • The first click sets the wind’s starting point.
  • The second click sets the direction and strength.

Guide the feather to the goal while avoiding obstacles. Each collision reduces durability—lose all durability, and it's game over!

Game Play Video

Technical Details

https://docs.google.com/document/d/1FzKbcJpxS8d6N17FPvznjw97kFVcIpgiP4inOWw4Hzs/...

Design Details

State Machine Mechanic

The main development focus of this game is feather state management, which is controlled by a state machine.

When speed is zero, the feather enters the Idle state and remains still.

When speed is greater than zero, the feather enters the Floating state and automatically rotates, simulating a realistic floating motion.

This state transition makes the feather’s movement more natural and enhances the visual effects and physics-based realism.

Wind Mechanic

Players click two points on the screen to generate wind force.

The first point represents the wind's starting position, and the second point represents the wind's endpoint.

Wind Direction = Endpoint - Start Point, and Wind Strength is determined by the distance between the two points, with a maximum force limit.

This control method requires precise wind placement, ensuring players don't accidentally overshoot or fall short of the goal.

Balance

The difficulty of the game is mainly reflected in:

Wind precision: Players must carefully choose the start and end points of the wind. Too little force might not move the feather, while too much force could cause loss of control.

Obstacle Design: The placement of obstacles follows a progressive difficulty curve—early levels allow players to familiarize themselves with the mechanics, while later levels introduce narrower paths and more complex obstacles, requiring strategic wind usage.

Durability System: The feather loses durability with each collision, forcing players to complete the level efficiently before durability runs out.

Iteration & Optimization

During development, I made multiple adjustments to the mechanics:

The initial design allowed the feather to rotate anytime wind was applied, but this made it look too unstable.

The final implementation uses speed-based detection, so the feather only enters the Floating state and starts rotating when its speed is greater than zero, making the motion feel more natural.

Wind force calculations were also adjusted: Initially, wind force was calculated purely based on drag distance, but this led to overly strong or weak forces. I later added a maximum force cap to prevent extreme cases.

Published 2 days ago
StatusReleased
PlatformsHTML5
AuthorXiashuoZSR
Made withUnity

Leave a comment

Log in with itch.io to leave a comment.