← All games

Gravewake: The Hollow Tithe

A first-person gothic arena roguelite built in Rust on a custom wgpu renderer, with 33 weapons, soul powers, location-based dismemberment, and Rapier ragdolls in a haunted cemetery.

First-person combat against a mixed group of undead in the cemetery at night.
Holding the line in Mournhollow, from the Gravewake README.

The dead rise. The living owe. Gravewake is a first-person gothic arena roguelite. Fight through a ruined cemetery called Mournhollow, tear open weapon packs at the Collector’s table, and turn the souls of the dead into a build that can survive the next descent. Clear twelve descents, face the Tithekeeper, then keep going in endless survival.

Answer the bell

Mournhollow is a 96 × 96 metre arena with five connected districts: an open court, a ruined chapel, a cloister, a bell sanctuary, and a grave orchard. Ground hunters, flying creatures, summoners, and bosses pressure different parts of your build. Twelve enemy types include dive-bombing Gloamwings, six-legged Grave Crawlers, armoured Iron Penitents, exploding Plague Vessels, and blinking Tithe Reapers.

Where you hit matters. Headshots can detach skulls. Severed arms weaken attacks, losing a leg causes a limp, and losing both makes an enemy crawl. When something dies, it becomes a Rapier ragdoll built from whatever body sections survived, and those remains react to later impacts.

Every kill drops experience. Level up and combat pauses while you choose a soul power, such as orbiting blades, lightning, frost pulses, or stronger pickups.

Three cards, one choice

Between descents, the Collector pays you in gold. Spend it on equipment and supplies, or tear open an Armory Pack: three cards, turn them over one at a time or all at once, then choose one to equip. Thirty-three weapons span six families, including revolvers, scatterguns, automatic weapons, grenade launchers, occult implements, and melee weapons like cleavers, rapiers, scythes, and flails. Burn, frost, venom, piercing, chain lightning, and life drain change how each one fights. The Binding lets you invest in a card’s damage, speed, and mana, and finishing a path unlocks Soul Siphon.

More screenshots

What it’s built with

Gravewake doesn’t use a game engine. It’s a custom Rust game layer and renderer built from libraries: wgpu for the GPU, winit for the window, egui for the menus and card UI, Rapier 3D for body physics, and rodio for audio. Lighting and post-processing are custom WGSL shaders. Creature geometry is GPU-instanced, static geometry is split into visibility batches, and only the six closest braziers contribute point lights. Models, textures, fonts, shaders, and sounds are embedded at compile time, so the game is a single executable with no asset downloads.

The weapons got a “weathered arsenal” pass: pitted iron with local corrosion, oxidized brass, worn walnut, and oil-darkened leather, from Blender material bakes packed into two texture atlases. UVs are attached to the model rather than the camera, so the texture doesn’t swim across the surface while you aim or reload.

How it was made

The twelve creatures are original Blender meshes, with recessed skull cavities, separate jaws and teeth, curved ribcages, and articulated hands and feet. They share the anatomical pose the game uses for hit regions, so headshots, dismemberment, and ragdolls use the same body parts you see. The architecture modules and seven of the weapons are also Blender-authored; the rest of the weapons are procedural Rust meshes. Blender is only an authoring tool, and the game doesn’t need it to run.

Gravewake began as a study inspired by Dark Veil — The Blackwood by Thomas Ricouard (@Dimillian), and the repository keeps the reference credits. It isn’t affiliated with that project, and the reference images and videos aren’t redistributed. Some UI artwork is generated, with its provenance recorded in the repository, and the recorded firearm and reload sounds are CC0.

Testing runs at two levels. cargo test covers combat, progression, saves, geometry, and physics. A native smoke run opens a real window, fights a fixed eight-enemy wave under the normal combat rules, buys and opens a pack through real UI pointer events, equips a weapon, buys an upgrade, and enters the next round, saving screenshots as it goes.

Play it

Gravewake is a playable development build, verified on Apple Silicon Macs with Metal. There’s no release download yet. Install Rust, clone the repository, and run cargo run --release --locked, or use ./scripts/package-macos.sh to build a local .app. Windows, Linux, and browser builds haven’t been validated, and a keyboard and mouse are required.

Browse the source on GitHub. GitHub records the repository’s creation on October 4, 2026.

See it in action

Gravewake gameplay trailer

The 42-second gameplay trailer, captured from the native game with in-game sound and no external soundtrack or narration. It edits together staged combat encounters, pack openings, a reload, body physics, and armory views; the opening and closing cards are editorial graphics. Re-encoded here at 540p. Full-resolution original on GitHub

Keyboard shortcuts

Shortcuts stay out of text fields. Extra shortcuts are off until you enable them on this device. Ctrl or Command K is always available.

?
Open this help
Ctrl / ⌘ K
Open site search
Alt A
Browse articles
Alt R
Open your reading list
Alt T
Browse topics
Escape
Close dialogs or leave article focus mode