LAB / PERSONAL
AELADAS: WORLD TO GAME
A homebrew D&D world run with AI-assisted lore, Midjourney concept art, and custom Foundry VTT macros, now becoming a Golden Axe-style brawler built in Godot 4 with Claude Code. Exploratory AI practice pointed at something joyful.
CLIENT
Personal project
YEAR
Ongoing
ROLE
Worldbuilder, toolmaker, first-time game developer
DELIVERABLES
Foundry VTT automation · AI lore & art pipeline · Godot 4 vertical slice
WHY THIS IS ON A PORTFOLIO
Aeladas is where I test AI workflows before they ever touch client work, with real creative stakes and no one to disappoint but my players. Every technique I use professionally, agentic coding, generative art pipelines, human-in-the-loop review of machine output, gets its shakedown cruise here first. It is exploratory practice pointed at something joyful, and the joy is the point: sustainable learning happens on projects you would do anyway.
THE WORLD
Aeladas is a long-running homebrew D&D campaign with the kind of depth that accumulates over years: the Enchiridion of Worlds as its central lore corpus, constructed languages including Kilgrimmish, distinct peoples (the Ealthirr Alari, the Kilgrim, the Ocrians), and the Octolith of Varr’I’Dos as the artifact the current arc turns on. Midjourney handles concept art, key art, and environmental mood, feeding a consistent visual identity across sessions.
[ ADD ] Midjourney concept art grid, 6-up
FIG 1 · Concept art from the Aeladas pipeline
THE TOOLKIT
Running a world this size by hand does not scale, so I built automation into Foundry VTT: a Trap Factory for generating and placing encounter hazards, a Universal Item Parser that converts loose item text into structured game objects, NPC generators, and custom skill trees. The pattern is the same one I use professionally, identify the repetitive judgment-light work, automate it, and keep human review on everything that touches the table.
WORLD TO GAME
The current chapter turns the world into a video game: a Golden Axe-style side-scrolling brawler with a Castle Crashers-style overworld hub, built in Godot 4 with Claude Code as the pair programmer. The scoping decision came first and mattered most, trading an ambitious Metroidvania for a genre where a first-time developer can actually ship a vertical slice.
What is running so far: a 2.5D floor band with Y-sorting for the depth illusion the genre depends on, hitbox and hurtbox combat built on Area2D signals, a GameState autoload carrying progress across scenes, a magic aura buff, and an animated title screen. The build follows a milestone brief with a human playtest checkpoint at the end of every milestone, placeholder art until the loop feels right, lore skinning deliberately deferred to a second pass. The playable roster draws straight from the world: a Sunborn blade, a Kilgrim reaver, an Ocrian skyseer, chasing the Octolith.
[ ADD ] Gameplay capture, GIF or short clip
FIG 2 · The vertical slice in motion
WHAT IT TEACHES
Three lessons that transfer directly to client work. Scope is a design act: the pivot from Metroidvania to brawler is the same judgment as cutting an MVP to what a team can validate. Agentic development has a working shape: clear briefs, small milestones, human checkpoints, which is human-in-the-loop by another name. And AI art has a real boundary: Midjourney produces concept and key art, not game-ready sprite animation, and knowing where a tool stops is as valuable as knowing what it does.
NEXT PROJECT
