Shroom Bound (WIP)

High Concept

Shroom Bound is a 3rd Person, 3D environmental obstacle platformer where you play as an explorer [codename: Nova] as they search for a mysterious powersource on an alien planet. Nova must learn to bend the new environment to their will by platforming on the giant mushrooms that make up the majority of the landscape and by using their trusty Device of Teleportation (D.O.T.).

Project Info

  • Project: VFS Final Project
  • Role: Technical Artist, UI Programmer, Gameplay Programmer
  • Engine: Unreal
  • Programming Languages: C++

Responsibilities

Interactive Foliage Effect

  • Implemented a system where grass visually "squishes" down in real-time as the player walks over it, enhancing immersion and interactivity.
  • Used a scene capture component and render target to detect and store areas where the player or objects interact with the grass
  • Leveraged custom depth rendering and a post-process material to accurately mask only the objects affecting the grass, ensuring precise deformation.
  • Added a visual effect where mushrooms light up when the player steps on or near them, using the same render target data for seamless interaction.
  • Calculated the distance between the player and the grass surface to control the intensity of the squish and the light-up effect, making the response more natural and localized.
  • Limited the effect area and render target resolution to maintain high performance, only updating grass and mushrooms near the player.

Poison Screen Post-Process Effect

  • Created a unified post-process material in Unreal Engine to visually represent the player's poisoned state.
  • Combined a dynamic colored vignette, animated toxic smoke, and chromatic aberration into a single layered effect.
  • The vignette darkens and closes in as poison severity increases, simulating tunnel vision.
  • Animated noise textures create swirling, creeping smoke at the screen edges, with density and speed scaling to poison level.
  • Separated and offset color channels over time to produce a hallucinogenic, color-fringing distortion.
  • All effect parameters are exposed for real-time tuning and escalation during gameplay.
  • Optimized for performance to ensure smooth real-time rendering.
Shroombound Screenshot

Poison Helmet Effect

  • Created a dynamic shader effect that visually fills the player's helmet with animated smoke as their poison level increases.
  • Used a mask and animated noise textures to simulate volumetric, swirling smoke that rises from the bottom of the helmet, with fill amount directly tied to the player's poison status.
  • Exposed parameters for smoke color, opacity, and animation speed, allowing for real-time adjustment and tuning.
  • Developed a similar effect for the player's backpack using VFX, synchronizing the smoke fill and animation to match the helmet for cohesive visual feedback.
  • Both effects provide clear, immersive feedback on the player's condition, enhancing gameplay clarity and atmosphere.

Mushroom Material Effect

  • Developed a custom material shader in Unreal Engine to give mushrooms a dynamic, bouncy visual effect when interacted with.
  • Used the mushroom's world position and a configurable center point to calculate distance-based deformation, creating a squash-and-stretch effect localized to the area of impact.
  • Applied a clamped, radius-based falloff so only the area near the interaction point deforms, preserving the rest of the mesh.
  • Integrated a texture sample to add surface detail and enhance the organic look of the deformation.
  • Exposed parameters for bounce radius, impact strength, and deformation intensity, allowing for real-time tuning and variation across different mushroom types.

Aiming and crosshair functionality

  • Implemented a responsive aiming system that transitions smoothly between normal and aim modes using timelines and camera adjustments.
  • Designed and implemented animated crosshair UI elements that visually respond to player actions, such as rotating and expanding when aiming at interactable targets, providing clear and engaging feedback during gameplay.
  • Designed a dynamic crosshair system: the crosshair appears, grows, or resets based on player actions and context-sensitive raycasts (ex. when targeting interactable objects).
  • Created a modular HUD class with Blueprint-callable functions to toggle aim mode, crosshair visibility, and other UI elements in real time.

Boomerang implementation (DOT)

  • Developed a throwable boomerang-like tool with return mechanics, allowing players to throw and recall the object dynamically.
  • Implemented collision detection and context-sensitive responses, including stopping movement and triggering VFX.
  • Utilized a spline component to visualize and define the player's potential teleport path.
  • Synchronized visual effects (Niagara) and audio (FMOD) for throw, impact, and return events.
  • Enabled interaction with anchor points and other world objects, including special logic for activating UI elements (such as the DOT locator) and handling anchor-specific behaviors.

UI implementation

  • Designed and implemented the main menu, pause menu, and end screen using Unreal Motion Graphics (UMG), creating a cohesive and visually engaging UI that matches the game's stylized aesthetic.
  • Developed a dynamic main menu featuring animated planet models and orbit paths, utilizing UMG widgets and custom shaders to create interactive navigation elements.
  • Built in-game HUD elements (such as crosshairs, health/poison shader effects, and tutorial prompts).
  • Used custom shaders to add polish to UI elements, including glowing effects, animated highlights, and dynamic feedback based on player actions or game state.

Animation Implementation

  • Implemented character animation using Unreal Engine's animation system, including state machines, animation blueprints, and montages for smooth transitions between actions.
  • Combined multiple animation states, such as blending upper body aiming with lower body walking/running, to achieve fluid and responsive character movement.
  • Used animation montages for special actions and events, allowing for modular and easily triggered animation sequences.
  • Integrated aim offset and bone transform logic so the character's upper body rotates to match the camera angle while aiming, enhancing immersion and control.
  • Created custom states for conditions like poison, ensuring the character's movement and idle animations reflect gameplay status.

Game Tutorialization

  • Improved game tutorialization after observing player confusion with different interaction types.
  • Implemented an in-game popup system with a stylized shader effect that activates when players approach a new mechanic, clearly highlighting discoveries and providing immediate guidance.
  • Designed a dynamic mushroom encyclopedia, accessible from the pause menu, which expands as players explore and encounter new mushroom types.
  • The encyclopedia provides detailed entries and visuals for each discovered mushroom, helping players learn their functions and how to interact with them at their own pace.