Skip to content
← Back to Projects

2D Movement , Juice & Feel

My RoleSolo Programmer | VFX | Lighting
Software & Languages UsedC#,Unity , Visual Studio 2022

Overview

Context

This project was a solo-developed university assignment focused on game juice & feel. It builds on my Assessment 1 prototype (forgiveness mechanics), and this version’s goal was to add new mechanics and significantly improve feedback through particles, lighting, and audio.

Squid transform , increased speed and wall traversal available

This is Assesment 2. Assessment 1 was primarily about making movement feel fair and responsive (forgiveness mechanics). For this version, I kept that foundation and focused on what makes actions feel satisfying and readable: strong visual/audio feedback, smoother transitions between states, and mechanics that create distinct “moments” for the player.

This project features a series of systems:

  • Forgiveness mechanics carried over (Assessment 1 foundation): variable jump height, coyote time, jump buffering, sticky feet on land, and speedy apex .
  • Splatoon-inspired traversal mechanics: a squid form that can traverse both ground and walls to open up movement routes and pace changes.
  • 8-direction dash system: responsive directional movement with clear feedback and timing (supports faster traversal and repositioning, available in squid made as well).
  • Afterimage / trail effects using object pooling: adds impact to fast movement while staying performance-friendly.
  • Particle effects & lighting polish: gameplay states are reinforced with VFX and scene feedback to improve clarity and “juice”.
  • Audio feedback layer: All Actions such as walking , shooting , squid mode , jumping ( Push off & Land) , dashing and others such as checkpoint enter , destructable object damage.
  • Ink-style ability (prototype): currently limited in gameplay impact beyond interacting with a specific object type, but acts as a base for expanding paint-driven mechanics later.

Highlights

General

External Assets Used

What I learned

This project helped me understand that “game feel” is not one feature — it’s a stack of small systems working together:

  • Feedback layering matters: the same mechanic feels completely different once it has clear VFX timing, sound cues, and readable lighting.
  • Responsiveness > complexity: small forgiveness / movement tweaks and consistent feedback made more difference than adding lots of new mechanics.
  • Pooling isn’t just optimisation — it protects feel: pooling the dash afterimages meant the effect stayed smooth and consistent during repeated dashes instead of risking spikes from instantiate/destroy.
  • Events are great for decoupling: using events (e.g., squid mode changing offsets / UI energy updates) kept systems modular instead of hard-wiring references everywhere.
  • Iteration workflow: exposing values (energy drain/regen, dash duration/cooldown, audio pitch/volume) made playtesting + tuning much faster and stopped me “guessing” in code.