Sprouting Spirit: Dream Duo 

Tools programmer & Technical artist | Sep 2022 - Jun 2023

Sprouting Spirit: Dream Duo is a 3D puzzle platformer that takes you on an adventure through the fantastical world of Maple’s imagination. As a new resident in the bustling city, Maple is overwhelmed and seeks solace in her own imaginary world. But alongside her new imaginary friend Cornelius, she learns to overcome challenges and face her fears.

For my senior project at Drexel University, I took on the role of team lead for the College of Computing and Informatics (CCI) team, consisting of six students, which collaborated with a team of twelve Game Design and Production students. I contributed to the project as a technical artist and programmer, which demanded heavy involvement in both the art and development teams.

For more details on the game check out our website linked below!

https://sproutingspiritgame.com/

 Camera System 

Camera focus areas offer a range of settings, including camera pan, tilt, distance, lock on/off time, and the ability to track objects of interest.

Adding objects of interest tells the camera to keep the object in the frame while the player is in the area. This functionality proved especially valuable in puzzle areas, allowing designers to focus the camera on crucial elements such as buttons and key objects.

Significant development efforts went into guaranteeing smooth transitions between camera settings, eliminating any jitter or disorienting motions for the players. The result is a polished and immersive camera system that enhances the overall gameplay and visual experience.

Level 1 camera focus areas

Most of my time was spent working on the game’s camera system. With help from Cinemachine, a Unity camera extension, the camera is able to dynamically follow both Maple and Cornelius, ensuring they remain within the frame at all times.

We aimed to create specific camera compositions throughout each level that would highlight important objects and level changes. My solution was β€œcamera focus areas”, a tool I developed to allow fluid changes in camera composition in real-time throughout the level.

Camera focus areas offer a range of settings, including camera pan, tilt, distance, lock on/off time, and the ability to track objects of interest.

Editor view of a camera focus area

On the left are the settings, and on the right is the result.

Camera focus area demo

 Shaders 

Responsible for foliage, water, and cloud shaders

I also spent much of my time working on shaders for Sprouting Spirit: Dream Duo. Made using Unity's Shader Graph, these shaders played an important role in making the environments feel alive and organic.

Here are some more details on the shader I worked on:

  • Foliage Shader: Used for trees and bushes. Transforms meshes into bushes or trees by mapping a leaf alpha texture onto each face. Added highlights, shadows, and wind sway for added realism.

  • Cloud Shader: Used for cloud sea and cloud puffs. Created soft, pillowy background clouds for levels and floating cloud puffs for use amongst the skyscrapers in Level 4. They also use the depth buffer to create a smooth transition when objects pass through.

  • Foliage Shader: Used for trees and bushes. Transforms meshes into bushes or trees by mapping a leaf alpha texture onto each face. Added highlights, shadows, and wind sway for added realism.

 Spline Platform Tool 

Early in the project, I collaborated with my teammate Tristan Holub to develop the Spline Platform Tool, which played a pivotal role in our project's success. This tool enabled designers to effortlessly create platforms within the Unity editor using a simple spline tool, with help from the Dreamteck Splines package.

During the initial stages, we carefully considered the level architecture and decided on utilizing splines due to their versatility. This choice allowed the designers to craft platforms of any desired shape, offering creative freedom in level design.

Once the initial version of the tool was completed, Tristan continued to work on various spline tools while I shifted my focus to camera and shader development.

Next
Next

Spring-Loaded