Draconic Ghoul is a real-time, roguelike game engine built with Elixir and Phoenix LiveView. Designed as both a solo project and a public technical series, it explores how to build fast, resilient game systems with clean architecture, platform thinking, and a LiveView approach.
Draconic Ghoul is more than a demo—it's a narrative system:
A cursed ghoul seeks soul fragments of a fallen dragon to restore his fading mind. Each fragment recovered is a deeper dive into platform design, functional rigor, and game abstraction. It is inspired by:
- Soulslike themes and tactical games
- ADT-rich languages like Haskell, F#, and Scala
- A desire to master developer platforms and LiveView
This is a practice ground, not an overengineered monolith. Every mechanic, abstraction, and test exists to clarify thinking and grow real-world architectural skill.
- Built with Elixir, Phoenix LiveView, and functional design principles
- Game systems modeled with ADTs (Option, Result, etc.) for expressive state
- Backend-first roguelike engine focused on tactical depth and platform extensibility
- Infrastructure-aware: CI/CD, DevContainers, and Dockerized from the start
- Paired with a long-form technical blog series, post by post
- Install Docker + VS Code
- Add the Dev Containers extension
- Open the repo and select “Reopen in Container”
Inside the container:
mix deps.get
mix phx.server