Click Here to view all the amazing entries to Rookie Awards 2024
Kelly Carino | Game Programming & Technical Art | Guiding Light
Share  

Kelly Carino | Game Programming & Technical Art | Guiding Light

Mikaela (Kelly) Carino
by mikellykels on 27 May 2024 for Rookie Awards 2024

This entry showcases my contributions to Guiding Light: C++ game programming, redesigning levels, creating a pixelated shader, developing a flickering lantern effect, and integrating Google Text-to-Speech for dialogue and button audio, ensuring accessibility for visually impaired users.

22 256 0
Round of applause for our sponsors

Gameplay

The gameplay trailer of Guiding Light introduces players to the main character navigating the ominous realm of the dead in this blind-accessible, narrative-driven game about death and what comes after. Guided by their gatekeeper, newly-deceased Uri must track down their missing memories in three eerie levels of the afterlife. 

Players will explore haunting environments and uncover the story behind Uri's journey, all while experiencing accessibility features designed to provide an immersive experience for visually impaired gamers. In this entry, you'll be presented with my contributions to Guiding Light, showcasing my technical skills and creative problem-solving abilities.

Programming

Character Movement Controls

In this project, I developed and refined the character movement mechanics to ensure precise and controlled navigation. The character is restricted to move strictly in four cardinal directions: up, down, left, or right, with no diagonal movement allowed. This deliberate design choice was essential for maintaining the game's structure and accessibility. 

By limiting movement to these directions, players can enjoy a consistent and manageable navigation experience, which is particularly beneficial for those who rely on audio cues. Below are screenshots showcasing the specific code responsible for implementing these character movement constraints.

Dynamic Footstep Audio Integration

I developed the code to detect the material the character is walking on, ensuring that the audio dynamically changes based on the environment. This feature enhances the immersive experience by providing accurate auditory feedback, allowing players to distinguish between different surfaces such as dirt, mud, or stone, thereby making the gameplay more realistic and engaging. Below are screenshots of the relevant code and a video demonstrating this feature.

Enemy AI Movement

I programmed the enemy AI to move randomly around the map, adding an element of unpredictability to the gameplay. To ensure smooth navigation, I implemented a check to prevent the AI from getting stuck in one place for too long. Additionally, if the player character runs into the enemy, they would restart the level, maintaining the challenge and tension throughout the game. Below are screenshots of the relevant code and a video demonstrating this feature.

Technical Art

Pixelated Shader Development

I created a pixelated shader to address the visual discrepancy between the pixelated characters and the 3D environment models. Initially, the realistic 3D environments were too jarring compared to the game's pixelated characters. To achieve a cohesive visual style, I developed a shader that applied a pixelation effect over the environment. This ensured a consistent and immersive aesthetic throughout the game. Below are screenshots of the material editor.

To illustrate the visual enhancement achieved with the pixelated shader, here are before and after photos of levels 1, 2, 3, and 4. The original 3D environments, while detailed, didn't match the pixelated characters. By applying the pixelation shader, the environments now seamlessly blend with the game's overall aesthetic. These comparisons highlight the transformation from realistic 3D models to a unified pixelated art style, enhancing the game's visual appeal and consistency.

Lantern Flickering Effect

Based on playtester feedback, I enhanced the game's atmosphere by creating a flickering effect for the character's lantern, replacing the previous solid light. Using a light function material and the Niagara system in Unreal Engine, I developed a dynamic flickering effect that added a layer of realism and suspense to the gameplay. Below are screenshots of the material and Niagara system, along with videos showcasing the lantern's flickering effect.

Text-to-Speech Audio Creation

To enhance accessibility, I used the Google TextToSpeech plugin to generate all the TTS audio for the game's dialogue and button text. This effort resulted in the creation of approximately 300 audio files, ensuring that all spoken elements were clear and cohesive. The plugin allows for customization, where you can enter the text you want the TTS to speak and also determine the type of voice, pitch, and speaking rate. Below is a screenshot of the plugin interface and a video demonstrating some of the TTS features in the first minute of the game.

Level Redesign

After playtesting Guiding Light, we realized that levels 2 and 3 needed significant shrinking to enhance the gameplay experience. I took on the task of updating these levels, not only reducing their size but also making them more engaging and thematic. I designed the levels to resemble the shape of the memory objects collected in the previous levels. 

For example, in level 1, after collecting the memory object of a dog collar, players transition to level 2, which is shaped like a dog collar. Similarly, after collecting the broken glasses memory object in level 2, players proceed to level 3, designed to resemble broken glasses. The accompanying video showcases the transformations, highlighting the levels before and after the updates.

Credits

Ashley Phipps, Production & Narrative
Ashley's Portfolio | Ashley's LinkedIn

Jacob Wheeler, Technical Level Design
Jacob's Portfolio | Jacob's LinkedIn

Kelly Carino, Programming & Technical Art
Kelly's Portfolio | Kelly's LinkedIn

Monkey KG, Art/Animation & Narrative
Monkey KG's Portfolio | Monkey KG's Twitter

Ross Minor, Accessibility Consulting
Ross' Website | Ross' LinkedIn

Ryan Davis, Programming, Optimization, UX, & Art
Ryan's Website | Ryan's LinkedIn

Sai, Composer & Narrative
Sai's Website

Sophie Galley, Production, Narrative, & Playtest Coordination
Sophie's Website | Sophie's LinkedIn | Sophie's Twitter

Taylor McElroy, Production
Taylor's LinkedIn

Special Thanks to our Playtest Volunteers:

Fae
Ton
Chad Bouton
Darrel Bowles
Alex Carey
Jessica Hodges
Drew Mochak
Skyler Novak
Katie Tudel


Comments (0)

This project doesn't have any comments yet.