Inspiration
I always wanted create a dungeon-crawler in the means of Wizardry, Might & Magic and Ultima Underworld. These inspired me with my interest in the Divine Comedy by Dante, which I just reread this year. The combination was given itself, nine circles, dungeon crawler, fun.
What it does
NOVEM is a portrait, first-person dungeon crawler that runs in a single HTML file with no network access. You descend nine procedurally generated circles on three finite resources - oil for the lamp, blood for melee and for being hit, salt for the only ranged attack. None of them regenerate; they exist only in caches on the floor. Each floor is a route problem: find the key, take the caches, reach the stair with enough left to go further. A run ends three ways - you die, you retreat from a lit brazier and bank what you carried out, or you clear the ninth circle, which opens the next rung of a six-step difficulty ladder.
How we built it
Three.js on a deliberately small architecture: one plain state object, one reducer where every rule lives, and two projections - the Three.js scene and a DOM overlay - that follow state and never write to it. Content is frozen catalog data, so adding a circle, an enemy, a relic, a weather condition or a difficulty rung is a table row and zero logic. Generation and combat share a seeded PRNG, so a run is reproducible from (seed, circle); geometry and textures hash off a separate stream so building a floor can never shift a combat roll. Nothing is shipped that can be generated: the stone, the sky, the decal atlas, the parchment map and the drawn art are all canvas-generated from FBM plus a per-circle palette, and floors are merged BufferGeometry emitting only faces that border open space - about seven draw calls. A build step inlines the source, unminified, into one index.html that works from file://.
Challenges we ran into
Most of the hard bugs were measurement problems, not code problems. All about graphics, normal maps, the texture generation, fitting everything together was a tough one and required a lot of back and forth.
Accomplishments that we're proud of
The circle generation: the textures look so fitting, with the light, the sky and the whole environment has a certain charme and difference between all circles.
What we learned
Dev, Test, Dev, Test, Play! Dogfooding! Eat your own dogfood. Do not only think and plan and design, but play from start to finish.
What's next for NOVEM
More consistent art direction, more rules, more variances, enemies and environment hazards. And a better tutorial/onboard ;)



Log in or sign up for Devpost to join the conversation.