Dawnwarden

· ai, projects, game, godot, claude, development

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.

Play it

▶ Dawnwarden — a browser game, playable on the post's page.

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: fifteen minutes on an open field against an endless horde
  • Voiced lines
Emberwatch, the last lit outpost
A fight in the ossuary
A horde of skeletons around the hero
Gorrath the Butcher
Vorgath the Infernal
The Hollow King's hall in the dark
The inventory
On a phone: a goblin fight
On a phone: Elder Maren in town
Emberwatch, the ossuary, a horde of skeletons, the Butcher, Vorgath, the Hollow King's hall, the inventory, and two fights on a phone.

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.

Related posts

  • Gravelight — A 3D survivor-like where you only walk, your weapons fire on their own and a few hundred skeletons try to eat you for 15 minutes. Play it right here, on a computer or a phone.
  • Making small games with AI is now easy — I've made four small games with Claude Code without writing a line of code myself. Each has its own page where you can play it, on a computer or a phone. This is how they're made, and how they test t…

Machine-readable: llms.txt, llms-full.txt, JSON Feed, RSS. Any page also has a .md twin.