Third Year
University Game
SpiritSweeper originated as a student-led project during our third year at university. Encouraged by the positive response and potential of the game, our team made the ambitious decision to establish ourselves as a studio and pursue the commercial release of SpiritSweeper.
​
Within the studio, I took on multiple roles, serving as a Programmer, Director, and Secretary. I was responsible for implementing various gameplay mechanics and systems, ensuring the smooth functioning of the game. Additionally, as the Secretary of the studio, I organized and facilitated meetings, ensuring effective communication and collaboration among team members.
Together, we transformed SpiritSweeper from a student project into a commercially viable game, and I am proud to be a part of this exciting journey.
My contributions:​​
Click on any point to find out more.
Sweeping System and IK
In my role at SpiritSweeper, I collaborated closely with the designers to develop a unique sweeping mechanic that served as the primary gameplay element. This mechanic involved cleaning up different imprints scattered throughout the game's levels, engaging players in an immersive and interactive experience.
​
To achieve this, I implemented a mouse position-to-3D space translation system, allowing players to control the broom's target position by moving their mouse on the screen. This translated position remained fixed along the y-axis at 0, providing a consistent reference point for the broom's movements.
​
To ensure smooth and realistic broom movement, I utilized FinalIK, a powerful inverse kinematics system. By employing FinalIK, I enabled the broom to accurately point towards the target position, enhancing the authenticity of the sweeping action. In addition, I leveraged FinalIK for the arm and hand movements, dynamically adjusting their targets through code. This approach facilitated seamless coordination between the broom handle and the character's arms, resulting in fluid and natural movement as players interacted with the sweeping mechanic.
​
Through the successful implementation of these techniques, I contributed to SpiritSweeper's gameplay by introducing an innovative and engaging sweeping mechanic. The translation of mouse position to 3D space, along with the precise broom and arm movements achieved through FinalIK, added depth and realism to the player's interactions, ultimately enhancing the overall gaming experience.
Imprints and Shaders
During the course of my project, I dedicated a significant
amount of time and effort to creating Unity shaders using
ShaderGraph. Over a period of five months, I created 27
shader variants for the project.
​
One of the key techniques I utilized in my shader
development was the integration of noise.
By incorporating noise functions into my shaders,
I was able to introduce a sense of organic and
random variation to the visual effects. This added
an extra layer of affect and complexity to the
objects and environments within the world.
​
In addition to utilizing noise, I experimented with fresnel
effects to enhance the visual appeal of my shaders. Using
this on the edges of the shaders allowed the objects to
have softer edges, and with the use of exposed variables
the designers could choose soft edges of hard edges.
​
Another technique I employed in my shader development was the use of scrolling layers. I studies old school Nintendo games and development and seeing in Ocarina of Time, using scroling effects, Nintendo successfully created water reflections inside dungeon walls. I then manipulatied the UV coordinates and applied different scrolling speeds to multiple layers, this created a cdynamic and visually striking effect. These scrolling layers brought a sense of movement and life to static objects, contributing to a more engaging and immersive experience for the viewers.
Debugging and QA Fixes
Debugging sheet and show the process of fixing bugs
Movement System
Camera Movement and Transistions
VFX Implementation
Dialogue Implementation
Team Information
This game is being produced for the Steam Deck, Windows, Linux and Mac, in a Team of 10:
- 3 Programmers
- 3 Designers
- 1 Writer
- 2 Artists (1x 2D and 1x 3D Enviroment)
- 1 External Character Artist
- 1 External Audio Composer