free bootstrap theme

AUDIO PROGRAMMER - LEVEL PROGRAMMER

Manel Mourelo Montero

PROGRAMMER

Project overview

Working in this project has been a tough experience, but also an instructive one. Even though all the difficulties, I’ve had a great experience and a very useful one to see what it is like to work in relatively large teams.

At the beginning of the project I was in charge of implementing Wwise (an audio engine) into our game engine. Once it was implemented and I had more time to work in other parts of the project I was asked to be one of the level programmers of the game.

Wwise Implementation

This is what take most of my time during the beginning of the project. I had to implement the Wwise audio engine in our engine, JellybitEngine.

Wwise basic implementation

I had to include all the necessary libraries to make Wwise work and start it. I also had to start the soundbanks and add all the necessary calls to allow the engine to communicate with Wwise. In order to do this, I opted for making a simple header file and cpp file that were the ones in charge of making the communication between Wwise and the engine, which allowed us to have a simpler way to then make all the necessary calls that where made from the Audio Module of the engine and the audio components.

Reverb Zones 

This component was a difficult one to implement, and once it was finally implemented it had some performance issues. As it wasn’t really necessary and it seemed that it wouldn’t be used, I decided to leave it in that state and removing the option of using it, but leaving open the possibility of returning to it’s development in case it was decided it was needed.

Mobirise

Component Audio Listener

This component is the one in charge of receiving all the audios in the scene. It was the easiest component to make and the only things it had in count where the position and orientation.

Component Audio Source

This was much more complex to implement than the Component Audio Listener. This component is in charge of emitting the sounds in the game. Beside having in count it’s position and orientation it also had to control many audio parameters that had to be modifiable, such as the audio clip, the pitch, the volume, the PAN, if it had to be played since the beginning, allowing the user to mute them or whether they had to be in loop or not. I also added the blending between audios, so if you changed the audio clip of an audio source it would make a transition instead of cutting the previous to start the new.

Mobirise

AI Alpha1

Due to some problems we couldn’t arrive to the approach we wanted with the enemies’ behaviour when they are going to attack Alita as a group, so I made a little patch to avoid strange behaviours like some of them pushing others to arrive to Alita.

Narrative & Prescripted Events

Following the documents provided by Joan Valiente (Scrapyard Level designer) and David Valdivia (Sewer Level designer) I programmed the following points, to make the game more than just killing enemies without a real purpose. 

Generic:
- Dialogues System
- Enemies Zones
- Old Item drop (it was removed when
the items system was modified)
- Make Alita walk to an event before interacting with it
(implemented with help of Guillem, who made Alita's base code)

Scrapyard Level
- Interaction with keys and doors
- Corpse Event
- Cinematic at the end of the level
(using Oscar's cinematics system)

Sewer Level
- Valves System
- Water Mechanic 
- Both cinematic at this level
(using Oscar's cinematics system)

Alita Unbreakable Warrior