
The Whispering Woods
Bandits work the roads — and here and there the trees repeat themselves, like a page copied one time too many.
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.
Opens at ashaveth.ddsboston.com. Intended for players 18 and over.
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.
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.
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.
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.
Scroll or swipe the strip. Nine captures, live build, 1.2.0.
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
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.
| Biome | Levels | Closing boss |
|---|---|---|
| The Whispering Woods | 1–9 | Arachne, The Broodmother |
| The Drowned Host | 10–19 | Golgoth, The Rot Giant |
| The Obsidian Peaks | 20–29 | High Cultist Malakor |
| The Void Edge | 30–39 | Xel'Nath, The Void Walker |
| The Dragon's Domain | 40–50 | Ashaveth, the Red |

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

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.

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

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.

Ash to the horizon and bone beneath it. This close to the Red, the air itself has started to forget how to be cold.
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.
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 | Lv | HP | STR | DEF | Weak to (1.5×) | Resists (0.5×) |
|---|---|---|---|---|---|---|
| Arachne, The Broodmother | 10 | 970 | 75 | 34 | FIRE | PIERCING |
| Golgoth, The Rot Giant | 20 | 3,900 | 140 | 58 | FIRE, HOLY | PIERCING, MAGIC |
| High Cultist Malakor | 30 | 7,200 | 246 | 100 | HOLY | MAGIC |
| Xel'Nath, The Void Walker | 40 | 10,000 | 342 | 165 | HOLY, MAGIC | SLASHING, PIERCING |
| Ashaveth, the Red | 50 | 13,000 | 470 | 300 | HOLY | FIRE |

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.

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.

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.

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.

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.
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
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.
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."
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.
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.
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.
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.

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.

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.

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.
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.
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.
| Arc | Stage | Gate | Reward |
|---|---|---|---|
| THE DROWNED HOST | A Name | Affection 30 · Lv 12 | Story only |
| THE DROWNED HOST | The Standard | Affection 50 · Lv 16 | +12 STR, permanent |
| THE DROWNED HOST | The Order | Affection 70 · Lv 20 · Golgoth dead | He stops drinking |
| THE DROWNED HOST | The Line | Affection 85 · Lv 25 | Permanent companion, +25 STR |
| THE RECORD | A Name to Keep | Affection 30 · Trust 40 · Lv 8 | Story only |
| THE RECORD | The Ledger | Affection 50 · Trust 55 · Lv 14 | Story only |
| THE RECORD | The Cipher | Affection 70 · Trust 70 · Lv 22 | Reveals enemy weaknesses in combat |
| THE RECORD | The Record | Affection 90 · Trust 85 · Lv 40 | Your 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.
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.
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 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.
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.
The boss winds up. The heavy attack is announced, and it can only make a basic attack this round.
You know exactly what is coming. Heal, raise a barrier, or take the trade knowingly.
The heavy attack lands — capped at 48% of your maximum HP, whatever its multiplier.
| Mechanic | Value |
|---|---|
| Weakness | 1.5× |
| Resistance | 0.5× |
| Critical hit | 15% chance, 2× |
| Basic attack | 1.5× strength |
| Godsbane vs the Red | 2.5× |
| Your damage vs enemy armour | 340 / (def + 340) |
| Their damage vs your armour | 1 − def / (def + 300) |
| Single-hit cap | 48% of max HP |
| Telegraph threshold | 2.0× and above |
| Damage over time, per round | Burn 5% · Poison 6% · Void rot 8% |
| Barrier (Shield Wall / Arcane Barrier) | Blocks 80% the same round, mends 10% |
| Death cost | 15% of net worth |
| Revive at | 10% of max HP |
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.
+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.
+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×.
+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%.
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.
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.
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.
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.
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.
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.
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.
| Type | COMMON | UNCOMMON | RARE | EPIC | LEGENDARY | MYTHIC |
|---|---|---|---|---|---|---|
| WEAPON |
|
|
|
|
|
|
| ARMOR |
|
|
|
|
|
|
| ACCESSORY |
|
|
|
|
|
|
| CONSUMABLE |
|
|
|
|
|
|
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.
| Ending | Title | After the fight | Non-combat route |
|---|---|---|---|
| AMBER | The Palimpsest Holds | Yes — requires the kill | Withheld by design |
| MERCY | The Page, Scraped Clean | Yes | Yes — LET IT FINISH |
| WRITER | The New Hand | Yes | Yes — 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.
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.
| Moment | Offer allowed? |
|---|---|
| During combat | Never |
| During dialogue | Never |
| On the ending | Never |
| On the death screen | Never |
| After a boss kill | Never |
| Inside the New Day modal (an interstitial) | Never |
| At the Inn, where you chose to stop | Allowed |
| On the WARES tab inside Vosk's shop | Allowed |
| After an ordinary fight win | At 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
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.
| Metric | Value | Was, at v1.1.0 |
|---|---|---|
| Pre-generated art assets | 192 | 171 |
| Monster plates | 84 (72 named + 12 family fallbacks) | 72 |
| Item images | 68 (44 named + 24 fallback) | 68 |
| NPC portraits | 26 | 26 |
| Location plates | 5 | 5 |
| Ending plates | 9 (3 endings, full + mobile + thumb) | 0 |
| Unit tests passing | 667 across 32 files | 487 across 21 |
| TypeScript errors | 0 | 0 |
| Entry bundle | 370 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Free, in your browser, no signup. Reach Sallowmere and hold the line against the Red.
ashaveth.ddsboston.com · v1.2.0 · Adults only, 18+