Ashaveth cover art: an anvil on a burning stone plinth, embers rising into a dark forest

Design Delight Studio · v1.2.0

A free grimdark browser RPG. The world is a page written on before, and something is scraping it clean. You are the last defense of Sallowmere against the Red the first fire. You can kill it. You can also, if you earn it, walk in with the blade lowered.

Free Plays in-browser No download No signup Adults only 18+

Opens at ashaveth.ddsboston.com. Intended for players 18 and over.

Quick answer

Ashaveth is a free, browser-based grimdark RPG from Design Delight Studio, currently at version 1.2.0. You defend Sallowmere against Ashaveth, the Red — a 13,000 HP dragon that is erasing the world. It runs in any modern browser with no download and no signup, spans 50 levels across five biomes, and can be finished either by forging the only blade that harms the Red or by completing both hidden NPC arcs and resolving the ending without combat. Adults 18 and over.

Key takeaways

  • The dragon can be beaten without a fight — but only if earned. Complete both Osric's and Wren's four-stage arcs and the lair opens a scene where you enter with the blade lowered, reaching the MERCY or WRITER ending with combat skipped. AMBER, the kill ending, is withheld on this route by design.
  • Ashaveth, the Red: 13,000 HP, 470 strength, 300 defense, weak to HOLY, resists FIRE. One unbroken stat block, no second phase.
  • The Red never one-shots you blind. Any ability at 2.0× or above telegraphs a full round early, and a single-hit cap of 0.48 stops any one hit from removing more than 48% of your maximum HP.
  • Godsbane cannot be bought at any price — it is quest-only and filtered from every shop tab. Forged in 4 gated stages, it deals 2.5× damage to the Red; the final quench permanently costs 10% of your maximum HP.
  • Death costs 15% of your net worth — carried and banked gold combined. Banking mitigates the loss; it does not prevent it. You revive at 10% of maximum HP.
  • 50 levels, 5 biomes, 72 monsters, 3 stat points per level, 15 fights per day extendable to 25 with 3 tavern ales at 10 gold each, reset 12:01 AM local, 5% daily bank interest.
  • 3 named NPCs across 6 relationship axes and 6 stages, from Stranger to Soulbound; two of them carry 4-stage arcs that pay in permanent stats, and the finale quotes up to 3 real journal entries they wrote about your run.
  • No ad ever appears during combat, dialogue, death or the ending, and there are no interstitials. That policy is enforced in code and covered by tests, not promised in a footer.
  • 192 pre-generated art assets — 84 monster plates, 68 items, 26 NPC portraits, 5 locations, 9 ending plates — all on your device, so the game keeps working with no connection.
  • 667 unit tests pass across 32 test files, 0 TypeScript errors, 370 kB entry bundle compressing to 122 kB gzipped, at version 1.2.0.

What Ashaveth is

Ashaveth is an original single-player grimdark RPG that runs entirely in a web browser. Made by Design Delight Studio and currently at version 1.2.0, it is free, requires no download and no account, and is rated for adults 18 and over. A campaign spans 50 levels across five distinct biomes.

You start in the last town, Sallowmere, and climb from level 1 to the level 50 cap. Progress is saved in your browser, and the title screen offers Export Save and Import Save so a run can move between devices. The game is turn-based and text-forward — one player character against one enemy at a time — carried by 192 pre-generated art assets rather than a 3D engine, which is why it keeps working after the connection drops.

Everything in Ashaveth is original to Design Delight Studio: the setting, the 72 monsters, the five bosses, the three named residents of Sallowmere, and the forge-only sword called Godsbane. It is not based on or affiliated with any other franchise. Its lineage is the 1990s BBS door game — a daily budget of fights, a real-calendar reset, a death penalty measured in net worth — rebuilt with a story that takes those conventions seriously.

The Ashaveth v1.2.0 title screen, showing the version, the 18+ notice, and the line THIS WILL ALWAYS BE A FREE GAME
The title screen at v1.2.0. The game says it on the way in: this will always be a free game.

The trailer

Twenty-four seconds, with sound. It will not start until you ask it to, and it does not download until then either — the file is 6 MB and preload is set to none, so arriving on this page costs you nothing. The same film ships inside the game's own manual.

The trailer is cut from the game's own shipped art — the same plates the bestiary and the atlas use, the same ones already sitting on your device once you have played once. Nothing in it is a render made for marketing.

If you would rather read than watch, everything the film shows is written out below: the five biomes, the five bosses and their weaknesses, the four-stage forge, and the door that opens if you do the work on the two people who live in the last town.

  • 24 seconds
  • 1080 × 1920
  • 6 MB
  • preload: none
  • click to play

What it looks like

These nine captures are from the live v1.2.0 build at ashaveth.ddsboston.com, taken on 25 July 2026 — not mock-ups. They show the town hub, a boss fight in progress, the four-stage forge, an NPC arc panel, a biome, two pages of the in-game Almanac, and the epilogues gallery.

Sallowmere town square in Ashaveth showing locations, the town crier headline and the day counter
SallowmereThe hub. Locations on the left, the town crier and the day's weather and tension on the right.
Turn-based combat in Ashaveth against Golgoth, The Rot Giant at 3,900 HP, with the adventure log showing a resisted blow
CombatGolgoth at his full 3,900 HP. The log calls the resist out loud, then narrates the exchange in prose.
Vosk's Forge in Ashaveth showing the four Godsbane forge stages THE SHARD, THE HEAT, THE EDGE and THE QUENCH with their gates
Vosk's ForgeThe four stages of Godsbane, each with its gate shown plainly: the boss, the level, and whether he trusts you yet.
Osric's House in Ashaveth showing THE DROWNED HOST arc panel at 0 of 4 stages with the first stage A NAME
Osric's arcTHE DROWNED HOST, 0 of 4. He is asking for one name out of four hundred he never learned.
The Obsidian Peaks biome in Ashaveth, levels 20 to 29, with wander, hunt and scout options over volcanic key art
The Obsidian PeaksLevels 20–29. Wander, hunt for something worse, or scout for items.
The Sallowmere Almanac atlas in Ashaveth v1.2.0 showing the Golgoth boss gate stat block and the Obsidian Peaks zone
The Almanac: the atlasEvery zone, every gate, every boss stat block — printed in the manual rather than hidden.
The Sallowmere Almanac bestiary page in Ashaveth showing four of the sixty-seven ordinary monsters with their shipped portrait art
The Almanac: the bestiaryFour of the sixty-seven ordinary monsters, illustrated with the plates the game already ships.
The Ashaveth epilogues gallery showing 3 of 3 endings found: THE PALIMPSEST HOLDS, THE PAGE SCRAPED CLEAN and THE NEW HAND
EpiloguesNew in v1.2: the title screen keeps the endings you have reached, and lets you read them again.
The Ashaveth v1.2.0 title screen with the adults only 18 plus notice
The way inVersion, rating and price stated before you touch anything.

Scroll or swipe the strip. Nine captures, live build, 1.2.0.

The world and the Red

The world of Ashaveth is a palimpsest — a page that was written on before. Something is scraping it clean, and it has reached the last town, Sallowmere. The Red is the first fire, the force unwriting everything. You are Sallowmere's final line against it.

The premise drives every system in the game. As the Red advances it does not merely destroy — it erases, removing things as though they were never written. Sallowmere is where the last people, and the last record of them, still hold. The tavern-keeper Wren is building that record even as the Red unwrites it, which is why her arc matters mechanically and not just narratively: finishing it puts your name in the one ledger the erasure was built to miss.

The Red's own bestiary entry states the tension plainly: it is the first fire, but the holy was made to end gods. That single design note explains its stat block — 300 defense, resistant to FIRE, weak to HOLY — and it is the reason a 750 gold flask of Blessed Oil is a serious tactical decision at level 50.

The world is a page that has been written on before. Something is scraping it clean, and it has reached the last town. The job: get strong enough to reach the Red before it reaches Sallowmere. The Sallowmere Almanac, v1.2.0
The Sallowmere town square in Ashaveth, the hub you return to between fights
Sallowmere, the last town — the hub you return to between fights.

The five biomes

Ashaveth has five biomes tied to fixed level bands: The Whispering Woods (levels 1–9), The Drowned Host (10–19), The Obsidian Peaks (20–29), The Void Edge (30–39), and The Dragon's Domain (40–50). Each band raises enemy difficulty as you climb toward the cap at 50, and each ends in a gated boss.

The five biomes of Ashaveth, their level ranges, and the boss that closes each band.
BiomeLevelsClosing boss
The Whispering Woods1–9Arachne, The Broodmother
The Drowned Host10–19Golgoth, The Rot Giant
The Obsidian Peaks20–29High Cultist Malakor
The Void Edge30–39Xel'Nath, The Void Walker
The Dragon's Domain40–50Ashaveth, the Red
The Whispering Woods biome plate from Ashaveth

The Whispering Woods

Bandits work the roads — and here and there the trees repeat themselves, like a page copied one time too many.

Levels 1–9

The Drowned Host biome plate from Ashaveth

The Drowned Host

A black mire that swallowed an army whole. The mud remembers the shape of the men in it. Osric will not speak of it sober.

Levels 10–19

The Obsidian Peaks biome plate from Ashaveth

The Obsidian Peaks

Black volcanic rock with the heat coming up through it. People climb here to burn something — or to kneel to the thing that burns.

Levels 20–29

The Void Edge biome plate from Ashaveth

The Void Edge

The margin of the world, where the ink runs out. What is left up here does not keep its shape, and neither will you if you linger.

Levels 30–39

The Dragon's Domain biome plate from Ashaveth

The Dragon's Domain

Ash to the horizon and bone beneath it. This close to the Red, the air itself has started to forget how to be cold.

Levels 40–50

The biomes are documented in the Sallowmere Almanac, the in-game manual whose atlas maps every zone you can reach and prints the closing boss's stat block next to it. Each level band is fixed, so the route from the woods to the Dragon's Domain is the same 50-level arc for every player. Across those bands the bestiary holds 72 monsters: 67 ordinary enemies and the 5 bosses.

The Sallowmere Almanac atlas screen in Ashaveth showing a boss gate and the Obsidian Peaks zone
The Sallowmere Almanac atlas. The manual prints the gate, the stat block and the weakness table rather than making you find out the hard way.

The five bosses

Five bosses gate the campaign, one every ten levels: Arachne, The Broodmother (level 10, 970 HP), Golgoth, The Rot Giant (level 20, 3,900 HP), High Cultist Malakor (level 30, 7,200 HP), Xel'Nath, The Void Walker (level 40, 10,000 HP), and Ashaveth, the Red (level 50, 13,000 HP). Each has explicit damage-type weaknesses and resistances.

Boss HP is not the interesting number — the weakness table is. Four of the five bosses are weak to HOLY, and every one of them resists something you are likely to be carrying. Arriving with the wrong damage type halves your output at 0.5×; arriving with the right one multiplies it by 1.5×.

Boss stat blocks read from the game's bestiary at version 1.2.0.
BossLvHPSTRDEFWeak to (1.5×)Resists (0.5×)
Arachne, The Broodmother109707534FIREPIERCING
Golgoth, The Rot Giant203,90014058FIRE, HOLYPIERCING, MAGIC
High Cultist Malakor307,200246100HOLYMAGIC
Xel'Nath, The Void Walker4010,000342165HOLY, MAGICSLASHING, PIERCING
Ashaveth, the Red5013,000470300HOLYFIRE
Arachne, The Broodmother — boss portrait from Ashaveth

Arachne, The Broodmother

Burn the silk. Arrows glance off the chitin, so PIERCING is the one thing that will not serve you here. The only boss in the game that is not weak to HOLY.

Level 10 · 970 HP

Golgoth, The Rot Giant — boss portrait from Ashaveth

Golgoth, The Rot Giant

Undead rot: burn it or bless it. Consume Offspring heals him 20% of his maximum — 780 HP at a time — so he is a pure damage check. Out-hit the regeneration or come back heavier.

Level 20 · 3,900 HP

High Cultist Malakor — boss portrait from Ashaveth

High Cultist Malakor

A blasphemer bares his throat to the holy. The void he serves feeds on magic, so MAGIC is wasted on him. He is also the man carrying the ember Vosk needs.

Level 30 · 7,200 HP

Xel'Nath, The Void Walker — boss portrait from Ashaveth

Xel'Nath, The Void Walker

Order unwrites the unwritten. Steel finds nothing to cut: both SLASHING and PIERCING are resisted behind 165 defense. Reality Tear lands at 3.5× — and telegraphs first.

Level 40 · 10,000 HP

Ashaveth, the Red — final boss portrait from Ashaveth

Ashaveth, the Red

It is the first fire, so fire is worthless against it — but it is a god, and the holy was made to end gods. Apocalypse Breath hits for 4.5× and is announced a round early, every time.

Level 50 · 13,000 HP · 300 DEF

The final fight is deliberately plain in structure. Ashaveth, the Red has one stat block that does not change mid-fight — there is no surprise second form to survive, and no hidden HP bar behind the first.

Ashaveth, the Red — Level 50, 13,000 HP, 470 STR, 300 DEF. Weak to HOLY, resists FIRE. One unbroken stat block, no phase two. Final boss stat block, data/bestiary.ts
Combat against Golgoth, The Rot Giant in Ashaveth, showing the adventure log calling out a resisted blow
A boss encounter in progress. The log names the resist before it names the damage — the game tells you why the number was small.

The forge: Godsbane

Godsbane is the only blade that bites the Red, and it cannot be bought at any price — it is flagged quest-only and filtered out of every shop tab, the sell tab and the gift list. Vosk forges it in four stages: The Shard, The Heat, The Edge, and The Quench. Finished, it deals 2.5× damage to the Red. The Quench permanently costs 10% of your maximum HP.

The forge is the central progression goal of the game. No shop sells a weapon that harms the Red; the only path is to earn each component from a fallen boss and bring it to Vosk, whose regard must clear a rising bar at every stage — 40, then 55, then 70, then 80. A player who never talks to him can still fight the Red, with a lesser blade, and the ending says so.

Godsbane cannot be bought at any price. It is forged, or it does not exist.
  1. The Shard

    Marsh-iron, pulled from the thing that ate the Drowned Host. "That iron has been dead a long time. Dead iron is the only kind that takes this work."

    Golgoth — slainLevel 20Regard 40
  2. The Heat

    An ember of the first fire, off the cultist who kept it lit. God-metal only softens in the fire it came out of, and Malakor is the last man carrying a piece of that fire.

    Malakor — slainLevel 30Regard 55
  3. The Edge

    Unwritten ore, from the place where the ink runs out. The Red unmakes edges, so an edge cannot cut it — unless the edge is made of the unmaking.

    Xel'Nath — slainLevel 40Regard 70
  4. The Quench

    A blade like this is quenched in the death of a world, and there is only the one on offer. It permanently costs 10% of your maximum HP — floored, so it can never leave you unable to function. Carrying it unquenched means carrying a weaker weapon into the last fight.

    No bossLevel 40Regard 80−10% max HP, permanent
Vosk's Forge in Ashaveth showing the four Godsbane forge stages and their gates
Vosk's Forge. The gates are shown as they are: the boss, the level, and whether he trusts you yet.

The three of Sallowmere

Three named NPCs hold the last town: Osric, an old soldier who commanded the host that drowned in the marsh; Wren, the tavern-keeper building the Record of everything the Red unwrites; and Vosk, a one-eyed dwarf smith. Each tracks six relationship axes across six stages, and Osric and Wren each carry a four-stage arc.

Osric, the old soldier of Sallowmere

Osric

He commanded the host that drowned in the marsh and carries every man of it. He drinks so the water stays quiet. His arc, THE DROWNED HOST, is one half of the key to the other way through.

Arc: 4 stages · +12 STR · +25 STR companion

Wren, the tavern-keeper of Sallowmere

Wren

She remembers everything — not a figure of speech — and is building the Record of what the Red is unwriting. Her arc, THE RECORD, is gated on trust, not affection.

Arc: 4 stages · reveals enemy weaknesses

Vosk, the one-eyed dwarf smith of Sallowmere

Vosk

One eye gone milk-blind at the forge, forty years on the god-killer. He alone forges Godsbane, and only for a hand he trusts to 80.

Gates all 4 forge stages

Relationships are tracked on six independent axes — affection, trust, respect, fear, attraction, and manipulation — and resolve into six named stages: Stranger, Acquaintance, Friend, Close, Lover, and Soulbound. Fear and manipulation are real axes with real consequences; you can move a relationship without being liked. Turning in a quest is worth +10 affection, the largest single push available, and each person will give you one quest per day.

The arcs pay in mechanics, not cutscenes

Both arcs are gated, staged, and load-bearing. Osric's second stage is a permanent stat gain and his fourth puts him beside you for the rest of the run. Wren's third grants an intel flag the combat screen already reads, and her fourth writes your name into the ledger the ending quotes back at you.

The two four-stage arcs, their gates, and what each stage actually grants.
ArcStageGateReward
THE DROWNED HOST OsricA NameAffection 30 · Lv 12Story only
THE DROWNED HOSTThe StandardAffection 50 · Lv 16+12 STR, permanent
THE DROWNED HOSTThe OrderAffection 70 · Lv 20 · Golgoth deadHe stops drinking
THE DROWNED HOSTThe LineAffection 85 · Lv 25Permanent companion, +25 STR
THE RECORD WrenA Name to KeepAffection 30 · Trust 40 · Lv 8Story only
THE RECORDThe LedgerAffection 50 · Trust 55 · Lv 14Story only
THE RECORDThe CipherAffection 70 · Trust 70 · Lv 22Reveals enemy weaknesses in combat
THE RECORDThe RecordAffection 90 · Trust 85 · Lv 40Your name enters the Record

Wren's gates are the design argument in miniature. Hers is the only arc that reads trust rather than affection, because a player can be adored and still not be someone you hand the only surviving archive to. That distinction is the whole character.

Each NPC also keeps a journal. After a meaningful conversation an NPC writes an entry, in their own voice, about who you are becoming. Those entries persist for the whole campaign, and up to three of them are read back to you at the ending.

Osric's House in Ashaveth showing the four-stage arc panel THE DROWNED HOST at zero of four
Osric's arc panel. Four stages, shown locked, with the ask written out in his own words.

The other way through

Ashaveth can be finished without fighting the dragon — but the route is earned, not offered. Complete both Osric's four-stage arc and Wren's four-stage arc, then travel to the Red's lair. An entry scene opens in which you walk in with the blade lowered, and the encounter resolves to MERCY or WRITER without combat. AMBER, the kill ending, is withheld on this route by design.

This is not a difficulty setting or a mercy rule. It is a gate with a precise condition, and the code that opens it is one line: both arcs complete, all eight stages. Miss either one and the lair behaves normally — you fight, or you leave.

Gate, part 1Osric's arc — 4 of 4 stages
Gate, part 2Wren's arc — 4 of 4 stages
ThenTravel to the Red's lair
Scene opensEnter with the blade lowered
Choice ALET IT FINISH → MERCY
Choice BTAKE THE PEN → WRITER
Withheld hereAMBER — requires the kill

The design argument is stated by the withheld ending. AMBER is the ending you reach by killing the Red, and it is deliberately unreachable on the non-combat route: you cannot have the kill ending without drawing a blade. The route does not make the game easier — it makes the last decision honest.

Both arcs complete, or the lair is just a lair. The non-combat gate

Combat and progression

Combat is turn-based, one enemy at a time. Weakness deals 1.5× and resistance 0.5×, with a 15% chance to critically hit for double damage. Both directions of damage curve hyperbolically, so neither armour nor penetration ever reaches immunity. Two safety rules — a one-round telegraph above 2.0× and a 48% single-hit cap — mean no boss can delete you without warning.

The telegraph rule

Any boss ability at 2.0× damage or above announces itself a full round early, and on that winding-up round the boss only makes a basic attack. Apocalypse Breath, the Red's 4.5× finisher, is always telegraphed. The round you see the warning is the round you heal, guard, or accept the hit.

Round N

The boss winds up. The heavy attack is announced, and it can only make a basic attack this round.

Your turn

You know exactly what is coming. Heal, raise a barrier, or take the trade knowingly.

Round N+1

The heavy attack lands — capped at 48% of your maximum HP, whatever its multiplier.

A single hit can never remove more than 48% of your maximum HP. Damage over time is uncapped and is handled separately — burn ticks 5%, poison 6% and void rot 8% per round. That is how the game still kills you.

The numbers, as shipped

Core combat modifiers at version 1.2.0, read from services/combatEngine.ts.
MechanicValue
Weakness1.5×
Resistance0.5×
Critical hit15% chance, 2×
Basic attack1.5× strength
Godsbane vs the Red2.5×
Your damage vs enemy armour340 / (def + 340)
Their damage vs your armour1 − def / (def + 300)
Single-hit cap48% of max HP
Telegraph threshold2.0× and above
Damage over time, per roundBurn 5% · Poison 6% · Void rot 8%
Barrier (Shield Wall / Arcane Barrier)Blocks 80% the same round, mends 10%
Death cost15% of net worth
Revive at10% of max HP

The three classes answer armour differently

Class choice is not a stat preference; it is a decision about how you intend to solve 300 defense at level 50. Every character also earns two shared passives late: Void Hunger at level 30 returns 15% of damage dealt as health, and Fracture at level 45 gives a 20% chance to strike twice.

Warrior

+25 max HP, +5 STR, +3 DEF. Mighty Blow hits for 3.6× and sees the target's armour at 0.3×, with a 60% chance to stun. Shield Wall blocks 80% the same round it is cast.

Endurance · blunt armour bypass

Rogue

+15 max HP, +3 STR, +1 DEF, +50 gold. Every hit sees armour at 0.55× and returns 13% of all damage dealt as health. Execute ignores armour outright at 3.4×.

Tempo · sustain · the only class that cannot block

Mage

+10 max HP, +1 STR, +100 gold. Divine Smite hits for 3.6×, ignores armour entirely, and carries HOLY for free — the Red's exact weakness. Arcane Barrier blocks 80% and mends 10%.

Fragile · total bypass · innate HOLY

Blessed Oil is the parity tool

A Mage gets HOLY for free through Divine Smite. Four of the five bosses are weak to HOLY — every one except Arachne — including the Red. Blessed Oil, at 750 gold, coats your weapon so every strike carries the HOLY tag for the rest of one fight. That flask is how a Warrior or Rogue buys the same 1.5× the Mage was born with. At level 50, against 300 defense and 13,000 HP, it is one of the most consequential purchases in the game.

The daily loop and its stakes

Each real day grants 15 fights, resetting at 12:01 AM local time along with 3 tavern ales; each ale costs 10 gold and buys 5 more fights, to a ceiling of 25. You gain 3 stat points per level, and the level curve starts at 500 XP and scales by 1.12 per level. Gold left in the bank earns 5% interest per day, compounding. The Inn heals at 1 gold per missing HP.

Death is where the economy bites. You lose 15% of your total net worth — carried and banked gold combined — taken from carried gold first, then from the bank. Banking mitigates the loss but does not prevent it: there is no fully safe vault. You revive at 10% of maximum HP, the loss is recoverable, and there is no permadeath.

The armour bench

Ashaveth, the Red carries 300 defense, and your damage against armour follows one curve: 340 / (defense + 340). This bench applies that curve to the shipped class constants so you can see, before you commit 50 levels, exactly how much of your damage each class keeps against the last boss.

Class
Action
Damage type carried
Weapon
300Armour you actually face
53.1%Damage kept through it
1.5×Raw strength multiplier
61Landed per 100 raw

Warrior, basic attack, plain steel, best shop blade.

Every constant here is read from the shipped v1.2.0 engine: 340/(def+340) outgoing mitigation, Mighty Blow at 3.6× seeing armour at 0.3×, Execute at 3.4× and Divine Smite at 3.6× ignoring armour outright, the Rogue seeing all armour at 0.55×, weakness 1.5×, resistance 0.5×, and Godsbane at 2.5× against the dragon specifically. "Landed per 100 raw" is the expected figure for a basic attack including its 15% chance to crit for double; skills do not roll a crit, because their multipliers already bake one in.

The headline the bench keeps producing: a Warrior's basic swing keeps 53.1% of its damage against the Red, a Rogue's keeps 67.3% because it sees every point of armour at 0.55×, Mighty Blow keeps 79.1%, and Divine Smite keeps 100% because it does not see armour at all. Layer HOLY on top and the whole figure moves by half again; layer Godsbane on top of that and it multiplies by 2.5.

The armoury

Ashaveth ships 68 item images: 44 named items plus a 24-cell fallback matrix covering every rarity and type combination, so procedurally generated loot always has art. Rarity runs COMMON, UNCOMMON, RARE, EPIC, LEGENDARY, MYTHIC. Godsbane and the four Mythic relics are quest-only or drop-only and appear in no shop.

Quest blades and the relics of the erased draft

Six items exist outside the economy entirely. The two Godsbane states are flagged quest-only and filtered out of every shop tab. The four Mythic relics are objects the Red failed to unwrite, surfacing from worlds the Palimpsest was written over — and they drop at a rate of 0.05%, one in two thousand, from a single constant shared by every code path so no player can grind for an item the game would never give them.

Godsbane item art from Ashaveth
Godsbane LEGENDARY · Forged
Godsbane, Unquenched item art from Ashaveth
Godsbane, Unquenched LEGENDARY · Forged
The Last Word item art from Ashaveth
The Last Word MYTHIC · 0.05% drop
Ur, the First Edge item art from Ashaveth
Ur, the First Edge MYTHIC · 0.05% drop
The Overwritten Crown item art from Ashaveth
The Overwritten Crown MYTHIC · 0.05% drop
The Unerased item art from Ashaveth
The Unerased MYTHIC · 0.05% drop

Weapons

Rusty Sword weapon art from Ashaveth
Rusty Sword COMMON · 0g
Iron Dagger weapon art from Ashaveth
Iron Dagger COMMON · 200g
Spiked Club weapon art from Ashaveth
Spiked Club COMMON · 350g
Steel Mace weapon art from Ashaveth
Steel Mace UNCOMMON · 800g
Elven Bow weapon art from Ashaveth
Elven Bow UNCOMMON · 1200g
Broadsword weapon art from Ashaveth
Broadsword UNCOMMON · 1800g
Dwarven Axe weapon art from Ashaveth
Dwarven Axe RARE · 3000g
Titanium Rapier weapon art from Ashaveth
Titanium Rapier RARE · 4500g
Warhammer weapon art from Ashaveth
Warhammer RARE · 6000g
Mithril Blade weapon art from Ashaveth
Mithril Blade EPIC · 10000g
Soul Reaver weapon art from Ashaveth
Soul Reaver EPIC · 15000g
Obsidian Edge weapon art from Ashaveth
Obsidian Edge LEGENDARY · 25000g
Void Caller weapon art from Ashaveth
Void Caller LEGENDARY · 35000g

Armor

Cloth Tunic armor art from Ashaveth
Cloth Tunic COMMON · 0g
Leather Armor armor art from Ashaveth
Leather Armor COMMON · 200g
Chainmail armor art from Ashaveth
Chainmail UNCOMMON · 800g
Scale Mail armor art from Ashaveth
Scale Mail UNCOMMON · 1500g
Plate Mail armor art from Ashaveth
Plate Mail RARE · 3000g
Titanium Plate armor art from Ashaveth
Titanium Plate RARE · 5000g
Mithril Armor armor art from Ashaveth
Mithril Armor EPIC · 10000g
Adamantite Shell armor art from Ashaveth
Adamantite Shell EPIC · 15000g
Obsidian Plate armor art from Ashaveth
Obsidian Plate LEGENDARY · 25000g
Void Shroud armor art from Ashaveth
Void Shroud LEGENDARY · 35000g
Dragon Scale armor art from Ashaveth
Dragon Scale LEGENDARY · 45000g

Accessories

Copper Ring accessory art from Ashaveth
Copper Ring COMMON · 500g
Silver Amulet accessory art from Ashaveth
Silver Amulet UNCOMMON · 1000g
Ring of Health accessory art from Ashaveth
Ring of Health RARE · 2500g
Warrior's Band accessory art from Ashaveth
Warrior's Band RARE · 3000g
Amulet of Power accessory art from Ashaveth
Amulet of Power EPIC · 8000g
Titan's Ring accessory art from Ashaveth
Titan's Ring LEGENDARY · 15000g

Consumables and materials

Health Potion item art from Ashaveth
Health Potion COMMON · Generated
Elixir of Strength item art from Ashaveth
Elixir of Strength UNCOMMON · Generated
Blessed Oil item art from Ashaveth
Blessed Oil RARE · 750g
Full Restore item art from Ashaveth
Full Restore EPIC · 2000g
Wolf Pelt item art from Ashaveth
Wolf Pelt COMMON · 20g
Goblin Tooth item art from Ashaveth
Goblin Tooth COMMON · 5g
Broken Hilt item art from Ashaveth
Broken Hilt COMMON · 10g
Gold Nugget item art from Ashaveth
Gold Nugget UNCOMMON · 100g

The fallback matrix

Loot can be generated at runtime, which means an item can exist that no artist ever drew. Rather than ship a missing image, the game carries one plate for every rarity and type pair — 4 types × 6 rarities = 24 cells. Any generated item resolves to its cell, so the inventory is never broken. The bestiary got the same treatment in v1.2.0: 12 monster family plates now sit between the manifest and a broken image.

The 24-cell fallback matrix: every type and rarity pair has committed art.
TypeCOMMONUNCOMMONRAREEPICLEGENDARYMYTHIC
WEAPON Fallback art for a common weapon in Ashaveth Fallback art for a uncommon weapon in Ashaveth Fallback art for a rare weapon in Ashaveth Fallback art for a epic weapon in Ashaveth Fallback art for a legendary weapon in Ashaveth Fallback art for a mythic weapon in Ashaveth
ARMOR Fallback art for a common armor in Ashaveth Fallback art for a uncommon armor in Ashaveth Fallback art for a rare armor in Ashaveth Fallback art for a epic armor in Ashaveth Fallback art for a legendary armor in Ashaveth Fallback art for a mythic armor in Ashaveth
ACCESSORY Fallback art for a common accessory in Ashaveth Fallback art for a uncommon accessory in Ashaveth Fallback art for a rare accessory in Ashaveth Fallback art for a epic accessory in Ashaveth Fallback art for a legendary accessory in Ashaveth Fallback art for a mythic accessory in Ashaveth
CONSUMABLE Fallback art for a common consumable in Ashaveth Fallback art for a uncommon consumable in Ashaveth Fallback art for a rare consumable in Ashaveth Fallback art for a epic consumable in Ashaveth Fallback art for a legendary consumable in Ashaveth Fallback art for a mythic consumable in Ashaveth

The endings

Ashaveth has three endings — AMBER, MERCY and WRITER — with no score and no correct answer. AMBER requires killing the Red. MERCY and WRITER can be reached either after the fight or through the earned non-combat route. The finale reads your actual save file and quotes back up to three real journal entries the NPCs wrote about your playthrough.

Because the finale reads the save directly, it reflects the campaign you actually played: how you treated Osric, Wren and Vosk; whether you forged Godsbane or walked in without it; whether you arrived with a blade at all. Nothing is ranked. There is no points total, because the game does not believe one of your choices was correct.

The three endings, their in-game titles, and how each is reached.
EndingTitleAfter the fightNon-combat route
AMBERThe Palimpsest HoldsYes — requires the killWithheld by design
MERCYThe Page, Scraped CleanYesYes — LET IT FINISH
WRITERThe New HandYesYes — TAKE THE PEN

New in v1.2.0: the title screen keeps an epilogues gallery. Every ending you reach is recorded there and can be read again without replaying to it, and the counter tells you how many of the three you have found. The finale itself is now staged rather than dumped, and the art drifts behind it on a re-view.

The thematic centre is the distinction the game insists on: being recorded is not the same as being bonded. In a world that is a palimpsest, what survives erasure is not what was felt — it is what was written down. Reach them unspoiled; the words read back to you are the ones you earned.

The Ashaveth epilogues gallery showing three of three endings found
The epilogues gallery on the title screen — three of three found. Added in v1.2.0.

No ads where it counts

No advertisement ever appears during combat, during dialogue, on the ending, on the death screen, or after a boss kill, and there are no interstitials anywhere. Those rules are enforced in code and covered by tests. The studio's own merchandise is offered in exactly three places where you are already at rest.

This is worth stating plainly because the previous build got it wrong. A rotating banner sat outside the screen switch, which put it on screen during combat, during the ending, and when you died — the game would quote Wren's journal back at you, tell you nobody would ever add a line to your page, and four inches above that a banner would rotate to something about nostalgia. That banner is deleted.

The advertising policy as implemented in services/adPolicy.ts and asserted by the test suite.
MomentOffer allowed?
During combatNever
During dialogueNever
On the endingNever
On the death screenNever
After a boss killNever
Inside the New Day modal (an interstitial)Never
At the Inn, where you chose to stopAllowed
On the WARES tab inside Vosk's shopAllowed
After an ordinary fight winAt most once per session, never twice in a row

Two details make the policy trustworthy rather than decorative. First, none of the frequency state touches your save — it lives in its own browser key, so there are zero save migrations and nothing about a forty-day run can break over an advertisement. Second, the rules are assertions in the test suite, so a future change that puts an offer back into a boss fight fails the build.

The player must never be interrupted, and must never be lied to. services/wares.ts, the stated principle

Art and engineering

Ashaveth v1.2.0 ships 192 pre-generated art assets — 84 monster plates, 68 items, 26 NPC portraits, 5 locations and 9 ending plates — and passes 667 unit tests across 32 test files with 0 TypeScript errors. The entry bundle is 370 kB, compressing to 122 kB gzipped. AI features run behind a Cloudflare Worker that keeps the API key server-side.

The art is generated offline and committed, so nothing is drawn at play time and the game costs nothing per session to render. It is also why the game keeps working when the connection does not: every illustration you will see is already on your device after the first load. The 24-cell item matrix and the 12 monster family plates exist for the same reason — procedural content must never produce a missing image.

Verifiable build facts for Ashaveth v1.2.0, measured on the shipped commit.
MetricValueWas, at v1.1.0
Pre-generated art assets192171
Monster plates84 (72 named + 12 family fallbacks)72
Item images68 (44 named + 24 fallback)68
NPC portraits2626
Location plates55
Ending plates9 (3 endings, full + mobile + thumb)0
Unit tests passing667 across 32 files487 across 21
TypeScript errors00
Entry bundle370 kB (122 kB gzipped)355 kB (117 kB)

The stack is React 19 and TypeScript 5.8 on Vite 6, with Tailwind for layout. The API key never reaches your browser: every model call routes through a Cloudflare Worker that holds the key as a Worker secret under layered spend caps including a hard daily ceiling, a model fallback chain degrades to canned text rather than failing, and a build-time scan fails the build if a credential is ever inlined into the bundle.

The Sallowmere Almanac bestiary page showing four of the sixty-seven ordinary monsters with shipped portrait art
The Almanac illustrates itself with the game's own shipped plates, at zero bundle cost — those files are already on the device for play.

Frequently asked questions

What is Ashaveth?

Ashaveth is an original single-player grimdark RPG that runs in a web browser. You defend Sallowmere, the last town, against the Red — a fire that is erasing the world. It was made by Design Delight Studio and is at version 1.2.0. It spans 50 levels across five biomes.

Is Ashaveth free to play?

Yes. Ashaveth is free to play, and its own title screen says so: THIS WILL ALWAYS BE A FREE GAME. There is no purchase, no subscription, no paywall, and no currency bought with real money. You play the full 50-level campaign at ashaveth.ddsboston.com at no cost.

Does Ashaveth show ads or interrupt play?

No advertisement ever appears during combat, during dialogue, on the ending, on the death screen, or after a boss kill, and there are no interstitials — the rules are enforced in code and covered by tests. The studio's own merchandise is offered in exactly three places where you are already at rest: the Inn, a WARES tab inside Vosk's shop, and at most once per session after an ordinary fight win, never twice in a row.

Do I need to download or install anything to play Ashaveth?

No. Ashaveth runs entirely in the browser. There is nothing to download and nothing to install — you open ashaveth.ddsboston.com and play. After the first load it keeps working without a connection, because all 192 art assets are already on your device.

Do I need an account to play Ashaveth?

No. Ashaveth requires no signup and no account. Your progress is saved in your browser, so you can continue your campaign without registering. The title screen also offers Export Save and Import Save so you can move a run between devices yourself.

Is Ashaveth suitable for children?

No. Ashaveth is intended for adults only, 18 and over. It is a grimdark RPG containing graphic violence, blood, sexual themes and drink, and is self-rated 18+ by Design Delight Studio.

What is new in Ashaveth version 1.2.0?

Version 1.2.0 adds a staged finale and a re-viewable epilogues gallery on the title screen that records which of the three endings you have reached, 21 new art assets bringing the shipped total to 192, ambient motion on the title screen, a rewritten Sallowmere Almanac checked line by line against the code, a 24-second trailer inside that manual, and an advertising policy enforced in code that keeps every offer out of combat, dialogue, death and the ending.

What is the world of Ashaveth about?

The world is a palimpsest — a page written on before. Something is scraping it clean and has reached the last town, Sallowmere. The Red is the first fire, and you are Sallowmere's final defense against it. The Almanac states the job plainly: get strong enough to reach the Red before it reaches Sallowmere.

How many levels and biomes does Ashaveth have?

Ashaveth has 50 levels across five biomes: The Whispering Woods (levels 1–9), The Drowned Host (levels 10–19), The Obsidian Peaks (levels 20–29), The Void Edge (levels 30–39), and The Dragon's Domain (levels 40–50). The bestiary holds 72 monsters: 67 ordinary enemies and 5 bosses.

Who are the bosses in Ashaveth?

There are five bosses, one every ten levels: Arachne, The Broodmother (level 10, 970 HP), Golgoth, The Rot Giant (level 20, 3,900 HP), High Cultist Malakor (level 30, 7,200 HP), Xel'Nath, The Void Walker (level 40, 10,000 HP), and Ashaveth, the Red (level 50, 13,000 HP).

How does combat work in Ashaveth?

Combat is turn-based, one enemy at a time. Attacks deal 1.5x damage against a weakness and 0.5x against a resistance, with a 15% chance to critically hit for double damage. Your outgoing damage is reduced hyperbolically by 340/(enemy defense + 340) and incoming damage by defense/(defense + 300), so neither armour nor penetration ever reaches immunity. You get 15 fights per day, resetting at 12:01 AM local time.

What is Godsbane and can I buy it?

Godsbane is the only blade that harms the Red, and it cannot be bought at any price — it is flagged quest-only and filtered out of every shop tab, the sell tab and the gift list. The smith Vosk forges it in four stages: The Shard, The Heat, The Edge, and The Quench. It deals 2.5x damage to the Red, and the final quench permanently costs 10% of your maximum HP.

Can you finish Ashaveth without fighting the dragon?

Yes, but only if you earn it. Completing both Osric's four-stage arc and Wren's four-stage arc opens an entry scene at the Red's lair where you walk in with the blade lowered. From there you choose LET IT FINISH, which reaches the MERCY ending, or TAKE THE PEN, which reaches the WRITER ending. Combat is skipped entirely. The AMBER ending is deliberately withheld on this route — you cannot reach the kill ending without drawing a blade.

Does Ashaveth the Red one-shot you?

No. Two engine rules prevent it. Any boss ability at 2.0x damage or above telegraphs a full round early, and on that winding-up round the boss only makes a basic attack — so Apocalypse Breath at 4.5x is always announced. Separately, a single-hit cap of 0.48 means no individual hit can remove more than 48% of your maximum HP. Damage over time is uncapped and is handled separately: burn ticks 5%, poison 6% and void rot 8% per round.

What happens when you die in Ashaveth?

You lose 15% of your total net worth — carried gold and banked gold combined — taken from carried gold first and then from the bank. Banking mitigates the loss but does not prevent it; there is no fully safe place to keep gold. You revive at 10% of your maximum HP. The loss is recoverable and there is no permadeath.

Which class should I play in Ashaveth?

Each class answers armour differently. Warrior starts with +25 max HP, +5 strength and +3 defense, and its Mighty Blow hits for 3.6x while seeing the target's defense at 0.3x. Rogue starts with +15 max HP, +3 strength, +1 defense and +50 gold, sees every target's defense at 0.55x on every hit, and returns 13% of all damage dealt as health. Mage starts with +10 max HP, +1 strength and +100 gold, and its Divine Smite hits for 3.6x ignoring defense entirely. Against Ashaveth's 300 defense, that difference decides your approach.

What is Blessed Oil and why does it matter?

Blessed Oil costs 750 gold and coats your weapon so every strike carries the HOLY tag for the rest of one fight. Four of the five bosses in Ashaveth are weak to HOLY — every one except Arachne — including the Red. Mages get HOLY for free through Divine Smite, so Blessed Oil is the parity tool that lets a Warrior or Rogue exploit the same weakness.

Who are the NPCs in Sallowmere and what is an arc?

Three NPCs: Osric, an old soldier who commanded the host that drowned in the marsh; Wren, a tavern-keeper who records what the Red is unwriting; and Vosk, a one-eyed dwarf smith. Each tracks six relationship axes — affection, trust, respect, fear, attraction, and manipulation — across six stages from Stranger to Soulbound. Osric's arc, THE DROWNED HOST, and Wren's arc, THE RECORD, each run four gated stages, and completing both opens the non-combat route.

What do the NPC arcs actually give you?

They pay in permanent mechanics, not cutscenes. Osric's second stage grants +12 strength permanently and his fourth grants a permanent companion worth +25 strength. Wren's third stage grants INTEL_ENEMY_WEAKNESS, which reveals enemy weaknesses in the combat screen, and her fourth writes your name into the Record, which the ending reads back to you. Her arc is gated on trust specifically, not affection — you can be adored and still not trusted with the Record.

How do the three endings of Ashaveth work?

Ashaveth has three endings — AMBER (THE PALIMPSEST HOLDS), MERCY (THE PAGE, SCRAPED CLEAN) and WRITER (THE NEW HAND) — with no score and no correct answer. AMBER requires killing the Red. MERCY and WRITER can be reached either after the fight or through the earned non-combat route. The finale reads your actual save file and quotes back up to three real journal entries the NPCs wrote about your playthrough, and the title screen keeps a gallery of the ones you have seen.

How was Ashaveth built and is it safe to play?

Ashaveth v1.2.0 passes 667 unit tests across 32 test files with 0 TypeScript errors, and ships a 370 kB entry bundle that compresses to 122 kB gzipped. It is built in React 19 and TypeScript 5.8 on Vite 6. Its AI features run through a Cloudflare Worker that keeps the API key server-side under a hard daily spending ceiling, and a build-time scan fails the build if a credential is ever inlined into the bundle, so your browser never handles the key.

Play free

Bottom line

Ashaveth is a complete, free grimdark RPG that runs in the browser with no download and no account. Its 50-level campaign ends at a 13,000 HP dragon you can kill with a blade you forged, or refuse to fight at all if you did the work to earn that door — and the NPCs' own journal entries, written about your specific playthrough, are read back to you at the finish. Nothing interrupts a fight, a conversation, a death or an ending to sell you something. It is made for adults 18 and over.

Play Ashaveth

Free, in your browser, no signup. Reach Sallowmere and hold the line against the Red.

ashaveth.ddsboston.com · v1.2.0 · Adults only, 18+

Ashaveth v1.2.0 is built by Robert McCullock at Design Delight Studio, Boston. The full business overview is on the investor pitch; the studio's free AI-engineering curriculum is at the DDS Vibe Academy, more from the studio is on the studio blog, and every page is indexed on the sitemap.

Page last reviewed against the shipped v1.2.0 source on 25 July 2026.