Fimbul Devlog #0

Lately, I’ve been fascinated by traditional roguelikes. Games like Cogmind, Brogue, Cataclysm Dark Days Ahead, and Tales of Maj’Eyal. These games may look simple at first glance, but have serious technical complexity. There are so many intricate systems that are interacting with each other. I often find myself thinking about how I would build my own take on a roguelike.

Enter: Fimbul. It is a Norse-inspired roguelike, set within the roots of Yggdrasil. You are a Skald-Seer, a warrior-poet who has witnessed their own death in a vision. You drank from Mimir’s well by accident, granting you the ability to see the Wyrd, the threads of destiny. Your goal: descend through the nine layers of Yggdrasil’s roots to reach the Well of Urd and change your fate. But in this game, fate is a visible, tangible entity in the world. You are able to interact with and manipulate it.

The player is able to see Wyrd Threads. Every entity, from NPCs and enemies to traps, emits these threads. Your powers have granted you the ability to Snip these threads by spending Spindle. By doing so, that entity’s next movement action can be cancelled. The player can also Pull on an entity’s aggressive threads to redirect their attack to something (or someone) else. Spindle is a consumable resource that is not so easily found in your adventure. Choose your manipulations wisely!

You travel through the Nine Layers on your Drakkar longship. On this ship is a fire. Letting this fire die out will unleash Fimbulwinter. When this happens, your vision is impaired, enemies will frenzy, and threads will become more difficult to read. You are able to stoke this fire by spending amber, which can be found on your adventures. Your fire will be an ever-present reminder to keep moving forward.

I’ve dabbled in general-purpose game engines in the past, and while I feel there’s a place for them, I do not prefer them. I like to be completely hands-on and in control over every aspect of my game. I have chosen to build Fimbul using Odin and SDL3. Odin is an incredibly powerful language, but I feel that it is leagues easier to understand than languages such as C++, Rust, or Zig. I have come to prefer simpler languages. They let me come back after a few days and easily remember what I’ve worked on and why I wrote something a certain way.

I plan on writing more devlogs in the future to keep myself honest. Stay tuned, and check out /r/roguelikedev for more awesome projects!