---
title: "Dawnwarden"
slug: "dawnwarden"
url: "https://haakony.no/posts/dawnwarden"
date: "2026-11-07"
updated: "2026-11-07"
categories: ["ai", "projects"]
tags: ["game", "godot", "ai", "claude", "development"]
reading_time_minutes: 3
description: "A Diablo-like action RPG with generated dungeons, five acts and three classes. Go down into the Deep and bring back the Dawn Lantern. Play it right here, on a computer or a phone."
---

# Dawnwarden

Seven nights ago the Dawn Lantern fell into the Deep. You are the Lightbearer who goes down after it to bring back its five shards. Dawnwarden is my take on Diablo: a dungeon that is generated anew every time, monsters by the hundred, loot everywhere, and a boss at the end of each act. Play a Warrior, a Wizard or a Priest who keeps a party of companions alive.

It's by far the biggest of my small AI-made games. How they're all made is in [Making small games with AI](<https://haakony.no/posts/making-small-games-with-ai>).

## Play it

{{< game id="4" title="Dawnwarden" width="1920" height="1080" poster="/media/133" >}}

On a computer, WASD moves and the left mouse button is your main skill (hold it to walk). The right button is your second skill, 1–4 are skills, Space dodges, Q drinks a potion and E talks or uses things. Hold T for a town portal. I, C, N, K and J open the windows, Tab or M shows the map, the wheel zooms and F1 shows the help. Esc or P pauses.

On a phone, hold it sideways. Your left thumb moves you with a stick that appears where you touch. On the right is a big attack button with your skills around it; drag a skill to aim it. You can also tap the floor to walk there. Hold the portal button for a town portal, and double-tap an item to equip or sell it.

It's a big one: about 170 MB to download, so use Wi-Fi, and give it a moment to start. The browser version has no shadows and a little less atmosphere than the desktop version, and phones start on medium graphics. Your heroes are kept on this page, in this browser.

## What's in it

- 25 floors over five acts, each ending with a boss in a room of its own: Gorrath the Butcher, Grubnak, Sythara, Vorgath and the Hollow King
- Dungeons generated every time, with rooms at different heights, bridges, traps and things to smash
- Three classes with three talent trees each
- Loot in nine gear slots, with legendary powers
- A town with vendors, a mystic, a gambler, bounties and a stash
- Nightmare depths after the story, and a Survivor mode borrowed from [Gravelight](<https://haakony.no/posts/gravelight>): fifteen minutes on an open field against an endless horde
- Voiced lines

{{< gallery cols="3" layout="mosaic" caption="Emberwatch, the ossuary, a horde of skeletons, the Butcher, Vorgath, the Hollow King's hall, the inventory, and two fights on a phone." >}}
![Emberwatch, the last lit outpost](https://haakony.no/media/134)
![A fight in the ossuary](https://haakony.no/media/135)
![A horde of skeletons around the hero](https://haakony.no/media/136)
![Gorrath the Butcher](https://haakony.no/media/137)
![Vorgath the Infernal](https://haakony.no/media/138)
![The Hollow King's hall in the dark](https://haakony.no/media/139)
![The inventory](https://haakony.no/media/140)
![On a phone: a goblin fight](https://haakony.no/media/141)
![On a phone: Elder Maren in town](https://haakony.no/media/142)
{{< /gallery >}}

## How it was made

Dawnwarden is twelve days old: 181 commits from October 27 to today. It got this big because many Claude sessions worked on it at the same time, each in its own copy of the code, and their work was merged back in 37 times. The Priest, for example, was built in seven pieces at once: the class, her spells, her companions, the interface, her voice, the fights and her intro. The art is from Asset Store packs I already owned, pulled out of their Unity packages without Unity, with the animations moved over to the new skeletons.

It has the biggest test harness of the four. 107 runs with 4,909 checks take about eleven minutes: bots playing the campaign, a boss lab for every boss that fires every phase and every ability, a survival run, the phone controls, sound under stress, and whether things move smoothly at both 60 and 120 frames a second. Seven of the runs go twice with the same seed and must end exactly the same. Another 23 scripts open a window and take screenshots for the polish rounds.

Getting it into a web page took real work. The browser draws with a simpler renderer, and in a big fight it ran out of room for the settings each monster needs, so most of them were drawn black. Shadows made everything too bright, and the floor decals, like blood and spell rings, weren't drawn at all. All of that is fixed or worked around in this version, and the game's data went from 230 to 166 MB by leaving out things it never uses.

Hit me up if you find a bug, or if you beat the Hollow King.
