Felix Marcoux

Guano

An annoying seagull’s big adventure

— PROJECT NAME

Guano


— ROLE

Programmer


— DATE

October 22nd 2023 –

March 1st 2024


— SOFTWARES USED

Unreal

Perforce

Guano is an action-adventure game in which the player takes control of a seagull to cause mayhem and save his archipelago from Food Inc, an evil company with no regards for the environment. The player must scream, poop, and search for food in his quest to save the three bird grandmasters and reclaim the island from pesky tourists.


This game was created with an environment simulating a real game studio, with this idea being one of the 2 left standing after a strict selection process. I joined the project later than most, but I quickly adapted to understand the team's vision and add my own contributions.


You can find the game on Steam here!

My Work

- First version of the dialogue system

  • - Collectible images gallery
  • - Simple NPC reactions
  • - Various obstacles and progression blockers
  • - Racing quest improvements

Dialogue system

I was the one who setup all the basic framework to display dialogues in the game and this system became one of my main contribution to the project. This included several things:


  • - NPC interactions
  • - Basic UI display
  • - First version of camera movements
  • - Choice selection
  • - Displaying text in a typewriter effect
  • - Enabling text styling
  • - Enabling skipping dialogues
  • - Creating exceptions for automatic dialogues that don’t need player inputs


I worked in tandem with the narrative department to answer any question they had and to add the features they needed as the project went on.


The framework became very bulky near the end and was later reworked by another colleague, but the majority of the original features I implemented were used in the final product.

Automatic NPC dialogue played during and after certain quests


NPC dialogue requiring player input



Collectibles gallery

During development, I felt food became less special to collect as the project went on. I then submitted the idea of creating special collectibles that can unlock extra content to reward player exploration.


I’m really proud of how it turned out. It added an incentive for the player to fully explore the map and gave the art team a chance to show off some of their unused artwork.

One of the 3 collectible types: a bottlecap

The amount collected of each type of collectibles can be seen on the right in the pause menu

Simple NPC reactions

Late in the project, I was tasked with creating simple NPCs that would react to being screamed at or pooped on. I first tried to make each reaction customizable by the development team before simplifying their behaviour.


In the end, they will react with a “surprised” animation linked to their idle animation. While I’m not the most pleased with how their code turned out, I have to admit that they do bring more life to the game’s world.

Progression blockers implementation

My first task when joining the project was to prevent the player from leaving the island. The bounds I created then ended up being reused for quest bounds and race bounds.


I also created the base implementation of wooden and metal platforms that can only be destroyed with a specific power in in a specific manner. This prevented areas from being explored before reaching a certain point in the story.


Finally, one of the less used obstacles I made was a stalactite that drops from the ceiling. It was designed to be used in more flying challenges but was too hard to balance according to the player’s speed.

Racing quest improvements

While I’m not the one that created this quest type, I enhanced it afterwards. In particular, I implemented a better bounds system based on the player’s distance from a spline.


I also added a progression bar showing the progress of both the player and his adversary, to counter the fact that it was hard to see if the player was winning in early playtests.

Finally, I also reused the timer made for the level bounds and created a modular timer to signal a race’s start or to show a challenge’s elapsed time. This timer was reused in a bunch of places in the game, and developers could decide to show decimals or not, as well as count up or down.

This project was the crowning achievement of my game design studies at UQAT. It was a great learning experience and even though it has its flaws, I am overall proud of the final result.


Above all, it couldn’t have happened without every member of the team giving it everything they had and I encourage you to check them out as well. I hope to work with them again someday.