Nocturnal

Nocturnal

Overview

Type : Professional

Technology : Unity, Fmod

Platforms : Steam, GoG, Stove, Epic, Nintendo Switch, PS5, Xbox series

Introduciton

Nocturnal is a platform action game that features a core mechanic pitting fire against mist, all within a 2D artistic direction inspired by ‘Prince of Persia’. Players explore the island of Nahran, filled with discoverable items and secrets tied to a captivating story, while also benefiting from speedrun features for additional challenges.

In this intense 3-hour adventure, players take on the role of Ardeshir, a soldier of the Enduring Flame, returning to Nahran, his native island, shrouded in a mysterious mist. Armed with the sacred flame of his ancestors, Ardeshir must pierce through this mist and reach the heart of the island to unveil hidden locations and gain powerful abilities.

The game was released in May 2023, available on PC, Nintendo Switch, Playstation 5, and Xbox Series. Its unveiling was showcased during a Summer Game Fest conference.

In October 2023, the Enhanced Edition of the game was released, offering a plethora of new content.

Gameplay

The game revolves around the central mechanic of fire, both at the core of the gameplay and the storyline. Ardeshir can ignite his sword, granting fire multiple roles: setting enemies ablaze in combat, resisting the mist, solving puzzles, and even self-healing. However, the flame on the sword isn’t eternal; it extinguishes after a certain time. Upon lighting it by striking a torch or brazier, a bar indicates the remaining time before it fades, plunging Ardeshir into darkness.

The other key game mechanic comes in the form of fire’s opposite: the mist. This black smoke has corrupted the island. Staying in it for too long will result in Ardeshir’s demise, unless he combats the mist with fire on his sword.

In addition to igniting his sword, Ardeshir can run, jump, and dodge attacks by rolling. In combat, he can deliver simple sword strikes, perform a rapid three-hit combo, or execute a sword strike in the air to leap further. This movement set will evolve as the game progresses.

To do so, he can use the Phoenix statues found along the way to enhance his skills. These skills are organized in a talent tree, offering the initial improvement of self-healing with fire. It’s also possible to extend fire duration, increase health, or augment the damage inflicted by Ardeshir’s flaming sword. Moreover, unlocking devastating new attacks and even a knife throw is feasible.

The game is divided into about twenty levels, each providing variation around the two primary mechanics: fire and mist. This diversity ensures a varied and non-repetitive gaming experience. Additionally, the game presents around twenty different enemies, each proposing challenges of varying difficulty.




Developement

I started working on this project right from the beginning of its production in March 2022. Initially, a vertical slice had been created, and my task was to evolve from that prototype into a complete game. This involved adding the necessary menus and options required for a commercial game release. Additionally, I took on the full integration of sound design and music. Simultaneously, I actively contributed to debugging, quality assurance of the game, and optimization for releases on PC and console.

To create the game menu, I started by defining the structure of all the UI views and then designing various types of generic UI components (such as buttons, sliders, toggles, carousels). These components were used to build different menus like the pause menu, the main menu, or the options menu.

For the options screen, it is divided into four tabs: graphics, audio, controls, accessibility. I created each tab using UI components and developed functionality for each option (such as resolution changes, fullscreen mode, V-Sync, music, language, etc.). Additionally, for subtitle options (size, color, font), I also added a preview that updates with each change to make it easier for the player.

The most labor-intensive option screen was the controls menu. It displays the control layout and allows entry into the key remapping option. This layout adapts based on the controller used (keyboard-mouse, PS5 or Xbox controller) and reflects changes made in the remapping screen. The remapping screen allows for reassigning Ardeshir’s different actions to controller or keyboard keys. Simply selecting an action from the list enters the rebind mode, and holding the new key assigns it. Moreover, a controller layout is displayed that highlights the selected button.

I also created a cheats menu available in the pause menu, designed to provide functionalities for QA testers, such as invincibility, level teleportation, or adding in-game currency.

Optimization

For the game optimization, the primary goal was to achieve a minimum framerate of 30 FPS for the Switch version. Meeting this objective ensured the game would perform adequately on other next-gen consoles and PCs. Upon inspection using the profiler, it was determined that the game was predominantly CPU-bound, meaning the time spent by the CPU on calculations during a frame was excessively long. To reduce CPU usage, several areas were enhanced, including recurrent memory allocations, minimizing collision matrices, and partitioning levels into dynamically loaded chunks. These improvements collectively enabled us to achieve the minimum target framerate of 30 FPS.

Fmod

Introduction

FMOD is a cross-platform audio library extensively used in the development of video games and interactive applications. It provides a comprehensive set of tools and functionalities for managing and manipulating sound effects, music, and other audio elements.

This library allows for the creation and management of various audio aspects such as audio file streaming, real-time sound effects handling, spatialization of sound for an immersive experience, and the creation of intricate audio mixes with effects. The library supports a wide range of audio formats, exceeding 20 different types. It is integrated into all the most popular game engines and is compatible with all modern platforms such as PCs, consoles, and mobile devices.

In addition to this API, FMOD comes with an editor, FMOD Studio, which provides numerous functionalities:

  • Visual Interface: It offers a user-friendly visual interface for designing complex audio systems, resembling a modern DAW (Digital Audio Workstation).

  • Real-time Editing: Users can make real-time adjustments to audio elements during the game or application execution. This facilitates quick iterations and fine-tuning of sound effects, music, and audio behavior.

  • Mixing and Effects: FMOD Studio offers a comprehensive suite of tools for audio mixing, applying effects, and creating immersive soundscapes.

  • Profiling and Debugging: It also includes a profiler that captures real-time audio sessions, enabling a retrospective analysis of played sounds. This provides control over the memory and CPU costs incurred by audio in the game.

FMOD uses an event system where an event acts as a container played by the API. An event can encompass any type of sound, ranging from a single sound to a setup with multiple sounds, effects, and parameters. Each event can integrate parameters controlled from the game, thereby allowing the sounds played within the event to evolve. For instance, one can adjust the intensity of rain in a level’s ambiance based on the character’s position within it.

In the timeline of each event, loops and regions can be created. These different markers allow defining the playback behavior. For instance, transitions between two looping regions or a single transition at the end of a track can be created. Transitions can be triggered automatically or by using parameters. Additionally, it’s possible to specify the precise moment when the transition should occur. This functionality is highly useful for creating seamless transitions in music. One can ensure that the transition will occur smoothly at a specific time or at the end of a measure.

All these systems have allowed us to create seamless changes in ambiance and music during the levels,as well as to introduce variations for frequently repeated sounds.

Implementation

Music

For the game’s music, we aimed to have seamless transitions and the ability to adapt the music’s intensity during battles by adding musical and percussive layers to the base theme.

Therefore, I created an event that contains the base theme along with different percussions and violin layers. The musical layers are distributed across four levels (base, low, med, high), each contributing to the musical intensity. To define the music’s intensity, I used a parameter that varies from 0 to 10, calculated based on the number and type of enemies surrounding Ardeshir during a battle. The value rises between 5 and 10 at the start of a battle and decreases as the player defeats enemies, returning to 0 once all enemies are vanquished. To accentuate the transitions, stingers are used—small musical pieces that reinforce a moment, often involving percussion, such as a cymbal or timpani roll.

To create transitions between the game’s different musical themes, a similar system is employed. All the music is grouped within a single parent event, with each child event possessing multiple transitions to other themes. These transitions are controlled by a global parameter.

Ambiance

For the atmospheres of the different levels, I designed events to represent the various types of environments present in the game. Each event is composed of multiple layers of ambiance, such as rain, wind, tree creaks, or even drops falling in a cave.

Each ambiance event has a parameter that allows varying its state between exterior and interior. Since the character frequently moves between the outside and inside of temples and buildings, it was important to add this detail to enhance immersion. To recreate the indoor effect, I use a combination of equalization, filters, and reverb applied to the exterior sounds.

SFX

To mitigate repetition in brief, recurring sounds, the sound designer created multiple versions of the same SFX. Fmod enables the creation of events with multi-instruments, randomly playing different sounds within the event each time it’s activated, preventing monotony. Adding to this, a slight random pitch variation is applied to each sound played, enhancing variation even more.

Nocturnal_Fmod_capture

A more complex setup for a moving torch sound, utilizing loops and transitions with parameters.

Fmod has empowered us to create a more advanced and immersive sound environment compared to Unity’s basic system alone. Its capabilities allowed us to implement intricate and synchronized sound designs, significantly enhancing player immersion within the game. The dynamic audio environment crafted using Fmod complements the visuals, resulting in a more cohesive and engaging gaming experience.

Enhanced Edition

After the game’s release, we continued working to provide an update. The aim was to add what should have been included initially and enhance the game, taking into account various feedback.

Here is a list of the modifications that have been made:

  • Expanded moveset and new abilities.
  • Enlarged levels with fresh sections.
  • Introduction of new enemies: The Swarm and Shielded.
  • Added accessibility feature for easier gameplay.
  • Inclusion of new lore items and visual enhancements.
  • New music, sound effects, and improved combat effects.
  • Enhanced game balance for a more intense experience.
  • Overhauled storyline, dialogues, and tutorials.
  • Optimizations and performance mode settings.
  • Updated UI, level selection menu, and minor refinements for better gameplay.

Here is the trailer for the Enhanced Edition

For this update, my role primarily focused on sound design, involving the creation and integration of new sounds. Additionally, I redesigned certain existing in-game sounds that did not meet our expectations.

To design these sounds, I utilized Bitwig as my digital audio workstation (DAW) and Soundly as my sound library. This library provided high-quality foundational sounds that I could manipulate to generate desired effects. For creating the sound effects, I layered multiple sounds, applying effects such as reverb or filters to achieve the desired outcome. I crafted around 40 new sounds. Once the sounds were exported as WAV files, they were imported into FMOD for integration into the game.

Furthermore, apart from these new sounds, I updated the sound design within the levels. With the new level design, adjustments were necessary to align the ambient sounds with the new elements present in the levels.


© 2025. All rights reserved.