top of page

Bête Noire Contribution

For the development of Bête Noire, I was primarily responsible for implementing the core character mechanics as well as designing and implementing the menu UI functionality. During the later stages of development, I also took up the responsibility of gathering, editing and implementing the music and audio assets for the game.

This created an abundance of tasks which taught me very important

lessons in both task and time management. I learnt how to use Trello

boards proficiently by breaking down tasks using divide-and-conquer

technique, set myself checklists for the required implementations

needed for each task, and assigned due dates to my tasks to ensure I kept ahead of the project timeline.

I also acquired excellent teamwork skills as some implementations required me to collaborate with my team members being that some tasks were perquisites of the other programmers tasks, or working with the art designer to create UI and HUD elements.

At the end of the project, a showcase of our final product was conducted

where the team presented the final features of the game and received a

grade of 100%.

BeteNoire-Showcase.jpg
Trello-Board-Sprints.PNG

Tasks with user 'C' assigned to them were mine.

Programming Implementations

Aside from the Menu UI functionalities, the majority of my role was focused on the production of the character mechanics. This included:​

  • Character movement controls (walking, running, crouching) including animation
    state machines and blend spaces for the various character movements.

  • Sprint mechanics with a depleting stamina bar that implements 'regen delay'
    if the player runs out breath (bar becomes empty).

  • Stealth mechanic for crouching behind game objects to avoid detection from enemy game entities which implements negative feedback through camera effects (vignette intensity).

  • Functionality for pickup items (flashlight, spotlight, lantern) which handled interaction with game world objects and would either add it to the characters hand or holster it to the belt. This included mechanics for switching between items, dropping items, or activating the torch/flame.

  • A fear/sanity mechanic that required the player to remain around lights or be consumed by the darkness, which depletes the sanity bar, and takes control of the character running back to a 'safe zone'. This also implemented different camera shakes and effects (grain jitter, chromatic aberration) to add feedback to the player.

  • Saving functionality which saved the character's state including which items are being held, amount of battery left, inventory counts, current 'safe zone' and current sanity/stamina levels.

Implementing these mechanics also taught me the importance of balancing and required me to conduct lots of user testing to ensure I produced meaningful gameplay. This involved fine tuning different variables so that sanity and light levels would change appropriately as it was directly influenced by many other dynamic game elements.

AnimationStateMachine.PNG

Audio Assets

When taking up the role of implementing all the audio assets for the game, this was the first time I had worked with audio before. Because of this, I spent a lot of time researching different types of audio that would suit the atmosphere of the game, and most importantly ensured that I could get a licence for using that audio/music asset.

 

After gathering a long list of audio effects and background music,

I then learnt how to edit the sounds as some required snipping to

a shorter length, converting to a different type, or changing the

speed/pitch.

 

Once refined, I was able to implement each audio effect for the different components of the game, most of which I had implemented through the players actions. I also provided transitions for different background and ambient music to set the mood for the game which greatly helped the gameplay experience.

Sound Effects.PNG
Background Music.PNG
bottom of page