Cardinal Directions is the result of a Game Jam myself and a couple friends participated in. Appropriately the theme of the game jam was “Cardinal Directions”. We had 4 days to complete it.
The goal of the game is to fly as a cardinal around a large open landscape in search of a nest. If the cardinal is caught outside the nest before a certain time, its game over.
Download the project: https://github.com/DarienCaron/Cardinal-Directions-GameJam2019
Time change system
One of the features of the game was to not be caught flying at night. With some research i managed to find a shader that blended two sky boxes together. I used this in conjunction with a synced up global time system so the shader and the actual game time sync up.
Since its a game where you play as a bird, i wanted to try and program accurate flight physics.
When the bird goes downward, i increase the birds velocity based on the angle its facing while going downwards. The effect is inversed while the player is pulling up. If the player wants to gain more speed ,they tap F to continue to flap.
While programming the flight physics, i found it awkward that the player could completely rotate and not just cruise at a certain angle. For example, the slightest inverse turn would cause the player to deviate from their current course. I compensate for this by having angle thresholds which determine if the player wants to commit to a full turn or not.
In the game the goal is to find a nest. I placed various amounts of nests around the map, and a randomly generated nest location is passed to my Goal arrow script which points in the direction of the next objective.