GraveShift

A multiplayer-focused survivor-like with active abilities and flexible builds, made by one developer.

Role
Sole developer
When
In development
Stack
  • Unreal Engine
  • C++
  • HLSL
  • DrawnMotion

GraveShift is a multiplayer-focused survivor-like set in a corporate underworld. I am building it alone in Unreal Engine, including its gameplay, networking, rendering, and animation tools.

I enjoy the crowd management and escalating builds in games like Megabonk. For GraveShift, I want active abilities and cooperative play to give players more to decide during a fight. A build should change how you move through a crowd and what you can do for a teammate.

The screenshots and recordings below are from the September 2026 development build. Many models, effects, and interface elements are temporary.

Cabinet-shaped architecture in the unfinished Limbo environment
Limbo environment study, September 6, 2026.

Active abilities

Weapons attack automatically while the player moves and aims active abilities. Each character has a signature weapon and two ability slots.

Ash's staple gun leaves staples embedded in enemies. Batch Process recalls them for an extraction attack, and an extraction kill resets the cooldown. Her other starting ability fires a piercing staple with recoil. The choice is whether to keep building up staples or pull them out now.

Reg lays a line of tape as he moves. Forced Closure connects the line and damages the enclosed area. Emergency Exit dashes through enemies and lays more tape, so an escape can also finish a loop. His movement becomes part of the attack.

Gus uses electrical pulses and a charged dash. Martin recruits an Intern crew and directs it with assault and defensive recall orders. All four kits work in the current build, with balance and presentation still changing.

Weapon test with a crowd of enemies and a teal attack effect
Paper Wyrm weapon test, September 5, 2026.

Progression unlocks alternatives for the ability slots. Ash can replace her recall with Cross Reference, which links stapled enemies so direct staple-gun hits share damage between them. The same signature weapon then rewards a different approach to a crowd.

Weapons and augments

Each character can acquire three weapons alongside their signature. The September build has 23 acquired weapons and 48 augments. Weapons add attacks or support actions; augments change the rules they interact with.

Paper Wyrm breathes damage into a cone that follows your facing direction. A Water Cooler creates a healing zone, while a Desk Fan pushes enemies and speeds allies along a lane. These can share a build, so dealing damage doesn't require giving up every support option.

Augments can change the value of those choices. Gluttonous converts overhealing into temporary armor. Slow Metabolism shares healing with nearby teammates and converts healing they cannot receive into armor for its owner. Healing can remain useful at full health, and a support build can still function alone.

Three augment choices, including Gluttonous
The center card changes what overhealing does. Card art and tuning are unfinished.

Players can keep acquiring different augments as a run develops, or take repeated copies to strengthen an existing effect. I want room for a build to change direction when an interesting combination appears.

Multiplayer

Shared progression gives each player their own weapon choices. Combat effects track who contributed, including summons and damage that continues after an attack. A teammate getting the last hit should not erase another player's contribution.

The host controls combat results and reward rolls. Late joining and reconnecting are implemented and tested, with full-run multiplayer testing still ongoing.

DrawnMotion

DrawnMotion gives me control over the poses and distortions that make a character look drawn in motion. I adapted and extended it from the licensed OverAnim foundation.

8.5 seconds / silent

Stylized motion and DrawnMotion enabled. Press play to watch. Selecting another recording returns to the start.

Ash runs, turns, jumps, and lands in the Character Lab. Both recordings use the same production movement driver and gameplay camera. Watch the held poses and the transitions between actions.

Development recordings, September 7, 2026. This compares the combined motion treatment, not an isolated smear setting.

Holding poses

Movement and camera updates continue smoothly while the visible pose follows a separate timing sheet. Running, jumping, sliding, and idle animation can use different hold lengths on a 24 fps clock. A landing or change of action can show a new pose immediately.

Flattening the figure

Figure Projection reduces depth along the horizontal camera direction. This limits perspective foreshortening within the character while preserving vertical position. The effect fades near planted feet so the figure stays grounded.

Smears and multiples

I select regions such as an arm and author rules for their motion. A smear stretches the current shape toward an earlier pose. A multiple shows a copy from a previous visible pose. The editor lets me adjust the trigger and duration, then compare the original and treated animation frame by frame.

The recordings above compare the combined treatment. They include held poses, flattening, and motion effects rather than isolating one setting.

Character rendering

The character material chooses between authored lit and shadow colors. I adjust surface normals to control how the shadow crosses a face or jacket. Shadows from the level select the same treatment, so overlapping shadows do not darken the face twice.

Ash in a fixed pose with graphic shadows across her face and jacket
A figure and lighting study in Unreal Engine, September 6, 2026.

Outlines come from depth changes and a separate map for internal lines, such as clothing divisions. That lets me decide which details deserve a line, rather than outlining every change of texture color.

Development and credits

Crowd size makes performance part of the design. In one September 7 development-build profile with 800 enemies at 1920 × 1080, average frame time was 4.20 ms. The 99th percentile was 17.51 ms, exposing occasional stalls that the average hid. This was a local test on a Ryzen 7 9850X3D and RTX 5080, not a minimum-spec result.

I am responsible for the game's systems and their integration. DrawnMotion builds on OverAnim by DynaMax under license. The project also uses KawaiiPhysics for secondary motion and imported art and animation assets.