Summary

  • Project developed as part of the Cross-Cultural Impact Jam
  • 8 members, resulting in a collaboration of students from the United States, Latin America and Canada
  • Role: Programmer – Game Designer (3C)
  • Date: 2022 (6 days – Gamejam)
  • Tools: Unity3D, C#, Git, Trello
  • Distinction: Most Creative Award
    Mention awarded by Unity and Games For Change

Description

Of a Feather is a multi-game, mixing 3D exploration game and 2D visual novel. You play as a crow who has lost its feathers and is unable to fly. In order to regain your ability to fly, you must talk to people and listen to their stories. In learning their experiences and doing small quests for them, you will be given a feather.

My contribution

Since our team is made up of a majority of artists and writers, I spent most of my time managing the game design of the 3C (Character, Controls, Camera) and programming the game. 

Game Design (3C)

Movement

For the movement of the crow, we had to limit them in the early stages of the game.

  • First, I made sure that the speed of the crow was slow enough. The objective here was to allow the player to enjoy the use of the flight even more when he unlocks it. It was also a good way to allow the player to enjoy their exploration and the early game mechanics.
  • Second, I chose to give the raven a relatively high jump, a low gravity value and keep the visual effect of flight in the wings. I made this decision so that within the first few minutes the player would already have a sense of flight. Even though the raven has lost its wings, it was imperative that the player feel the flightiness of our character from the beginning.

Then, for the glide and flight, I first gave the crow a strong jump. Not only does this improve the application of flight (the player has no difficulty flying into walls or trees) but it also strengthens the narrative aspect of the game: we can see directly the improvement of the crow thanks to the feathers.

Once the gliding mechanic is unlocked, the player can let himself glide. This allows him to access new areas and reinforces the feeling of freedom. Indeed, who doesn’t like to glide in an exploration game based on this principle?

Then, when implementing the flight, I decided to keep the glide effect, even if the player does nothing. This is to make sure that the player is not « lost », he keeps the mechanics he gained before without simply changing them because flying would be considered « better » than gliding. Finally, since the player always glides as soon as he has the flight, I gave him the possibility to dive, allowing him to quickly reach the ground.

Camera

My biggest difficulty was managing the camera. I wanted both a camera that could be close (mainly when the player can only walk) and a camera that was very zoomed out so that the player could enjoy the flight.

If at first I tried different iterations: The camera changes according to the position of the mouse or the abilities unlocked by the player. I finally decided to let the player choose freely his camera with 3 positions defined thanks to the mouse wheel, allowing more liberty and smoother controls. 

Zoomed camera
Medium camera
Zoomed out camera