
Meowmentum Mori is a first-person single player speedrunning platformer where you play as Mori, a novice catmage facing a series of magical trials in a pocket universe. In order to inherit the family elders' magic, you must finish each trial as fast as you can and become a full-fledged catmage!
Meowmentum Mori won the 'Best Student Project' award at the 15th Unity Awards.
Project Base
Unity 2022 [HDRP]
Role
Technical Designer | Project Manager
Development Status
Suspended [Student Project]
Download
Contribution Summary
Physics-Based Movement

Designed and implemented a system to connect different movement states and simulate a sense of momentum. Built to be designer-controlled within predefined limits rather than purely relying on physics.

The momentum system was based on movement states we co-implemented, but the dash is an example of a movement state which I owned and implemented. Exposing values such as those pictured allowed working with the level designer and tweaking movement to flow better.

Using a coroutine (and resetting it with every speed-accumulating action), player speed is evaluated between state changes to carry forth accumulated speed using designer-tested values and curves. The dash multiplier is kept separate to allow for greater speeds than otherwise possible only after dashing.
Gameplay Elements
Helped design and implement various interactable objects within the world to serve the core player loop. Everything was built to allow players to create their own moments within gameplay using our movement system.

One example are the hazards - they function by slowing the player down momentarily before killing them/making them restart. The purpose of this was to build on the sense of urgency we consistently wanted players to feel - stepping on a hazard isn't the end, if you don't let it be!

Using Unity's 'Splines' package, moving platform paths are determined based on start/end positions with bezier curves. In-editor gizmos such as a wireframe of the mesh at its end destination were added to help the level designer better visualize metrics as he built out levels.

Feedback Systems

Designed and implemented all player feedback systems. Using 3 ranges/stages of player speeds, multiple systems are modified synchronously - including Camera FX, VFX, Audio, Animation, and UI - based on the player's current speed.

To support this, a new data structure was created using scriptable objects to allow for easy, synchronous communication between different gameobjects/scenes. Classes write important data in one shared space, and only read what they need to - instead of hoarding references to various components unnecessarily.

Additionally, abstraction was used wherever possible to save time and effort when creating new feedback systems to fall in line with the 3-stage design. The current speed progression is also read from the scriptable objects above, making sure to avoid wet coding practices.
VFX & Shaders
As part of creating feedback systems, my responsibilities also included creating VFX & Shaders. In order to maintain a cohesive art direction, I consult the team's artists and make sure my work doesn't conflict with their vision. Collaboration with the art team is always a priority.

Each layer of in-game FX (such as the dynamic-gradient paws and wind lines) was designed to be the most intense and vibrant at the peaks of player speed, yet without creating too much visual noise. Thus, they reward player behavior that feeds into our core loop, making the fastest speeds also the most satisfying to experience.

Shaders & VFX were built with gameplay and design always in mind, even outside of gameplay. Allowing players to celebrate their new best times with a special lootbox-style animation, for example, was to emphasize and reward skill mastery - with the intention of motivating players to keep beating their own times and come back for more.

Additional Notes
All audio assets were created by an external team of 5 talented folks, who I work with and direct to meet the needs of the project. They volunteer their time the same as we do, and we appreciate them dearly for it.
Curious about the rest of the team? Check them out here!
Core Team
Ivan Restrepo | Technical Game Designer | LinkedIn | Portfolio
Pablo Moctezuma | Level Designer | LinkedIn | Portfolio
Ivonne Medina | 3D/2D Artist | LinkedIn | ArtStation
John Santana | 3D/UI Artist | LinkedIn | ArtStation
Audio Collaborators
Hojune Kwak | Technical Sound Design/SFX | LinkedIn
Pedro Campos | SFX/Sound Design | LinkedIn
Gordon Smith | SFX/Sound Design | LinkedIn
Jenny Shim | Composition | LinkedIn
Benji Ruiz | Composition | LinkedIn