top of page

Stained

Solo Project

Unity Engine | Jan 2021 - Apr 2021

Stained is an upgrade and refactor to the systems I created for slime gallery with the goal of implementing a more robust drawing system.

My contributions

Refactored and optimized the original drawing system to speed up saving and loading player canvases and cut down on redundancies.

The system now affords color-picking functionality and sliders for finer control.

Improved garbage collection to optimize paint generation and reduce memory footprint.

Added shader-based scene transitions

Rebuilt the jello cube armature to fit the new logic and gameplay.

Implemented dynamic skybox shaders to control the game backgrounds"

Implemented light projections were alongside a shader to generate the stained glass look.

What went wrong...

...and what I wish I had known.

Taking engine features for granted:

Having been the first time delving into Unity's special render pipelines, I took for granted the functionality that was afforded to me thus far. Late into development, I found myself having to implement mechanics that I had expected to be part of the base engine functionality. (ie. light "decals" projections)

This resulted in refactoring and upgrading the system in charge of projecting the stained glass light onto the scene multiple times, as the engine either lacked the functionality I banked on or relied on deprecated or removed methods.

My systems might allow high resolution but my assets do not:

Related to the issue above, the time constraints that I found myself with had me focusing on optimizing the new systems and in turn spending less time preparing the base "canvases" for the game. Not being a dedicated artist, a lot of my assets were open-source images with arbitrary resolutions I had to maneuver around.
 

Given a similar project again, I would have recognized the engine costs sooner and budgeted my time for assets accordingly.

bottom of page