One of the less visible but critical pieces of D6scend’s development is the maze editor — a custom web app I built to design, organize, and publish all of the game’s levels.
Why build a custom tool?
The level format for D6scend is specific enough that no existing level editor fit cleanly. Each level has a 19×19 grid (coordinates -9 to 9), specific tile types (Floor, Start, Goal, Booster, Spinner, Toggle, Hidden), and color-coded layers. Getting those into a spreadsheet or generic editor was more friction than just building the right tool.

What it does
The editor runs in the browser, backed by Firebase Cloud Functions and Firestore. Levels are organized into Collections, and Collections can be published — which creates a verified snapshot that gets delivered to the game client.
Key features:
- 19×19 grid canvas with click-to-place tile editing
- Full CRUD for Collections, Mazes, and Levels
- Role-based access control (designers can be granted access to specific collections)
- Publishing workflow that separates work-in-progress from released content
- Maze Design Mode — a device registration system that lets a registered game client receive unpublished content for testing
What’s next for the editor
The next significant editor feature is STEM mode support — a way to flag collections as educational content and associate them with specific curriculum standards.