The game
Roots & Runes is a role-playing game that pairs cozy homesteading with adventure. In Steam's words, you can build, decorate, farm, craft, fish and sell, or explore the world, learn magic and take it home with you. Embratic is the developer and publisher.
Steam lists the game as coming soon, in Early Access, for Windows. It shows no release date, so this page gives none.

What is in the repository
It is a Unity project, on Unity 6000.3 with the Universal Render Pipeline and Cinemachine. It started from the code base of The Shrouded Parchments, the studio's earlier RPG, and My part below says what that code base holds. Its default branch, master, has 1,115 commits, the first from August 2025 and the last from 2026-10-18, counted on 2026-10-27. The branch Blue Olive works on runs ahead of master, so that number undercounts the work.
Counted in the repository, there are 64 scene files under Assets/Scenes, and 185 quest assets. Of the scenes, 18 are test and sandbox scenes, and nine sit in a _JUNK folder that the repository's CLAUDE.md marks as deprecated. Content is authored as ScriptableObject assets in the Unity editor, not in code: quests, items, weapons, abilities, traits, drop tables, building definitions and growth stages. A quest is therefore a plain text file, which is what makes the tooling on the AI workflow page possible.
The systems underneath
The repository's CLAUDE.md describes the patterns the code is built on. Four of them are worth naming.
- One action at a time. Every exclusive activity of a character, such as moving, fighting or using an ability, is an action, and a scheduler on the character lets only one run. Starting to move cancels a fight, and starting an ability cancels the move.
- Abilities in three parts. How targets are chosen, which of them are valid and what happens to them are separate pieces that snap together. A new effect or targeting mode is a new subclass, and nothing else changes.
- Stats from one formula. A final stat is
(base + additive modifiers) × (1 + percentage modifiers / 100). Equipment and traits supply the modifiers, and the stats component adds them up by itself. - Saving as JSON. A component that should be saved says how to capture and restore its state, and an id on its object ties the two together. The older binary system is kept only as legacy.
Three of the four came with the starting code base, from The Shrouded Parchments' import commit of 2023-06-01: the action scheduler, the three-part abilities and the stat formula. The JSON saving came later, in my commits on The Shrouded Parchments, as a JSON version of the older binary saving.
Part of the base is a third-party pack. The inventory, equipment and condition classes come from a pack that the repository vendors read-only, and the game's own code extends it. The repository also keeps a list of coding rules, each one written down after a real bug: start-up order, persistent managers, saving, prefab overrides, navmesh and UI.
What it looks like



The shaders
Two shaders in the project are written for the game, and in the history both are Blue Olive's work.
- Player Silhouette keeps the player visible behind leaves. It draws a soft, rim-lit outline of the player, but only where the player is hidden behind something, and only when what hides the player is some distance in front and well above the player's feet. A table, a bed or a bush next to the player never triggers it.
- Body Hide Mask is a skin shader for the character's body. Each garment carries a greyscale mask painted over the body's texture coordinates: white keeps the skin, black clips it away. The masks of the garments a character wears are multiplied together, so any garment that hides an area wins, and skin does not show through the clothes.
My part
Blue Olive made the art, the design and the writing. Of the code, I can claim only what the history shows, and it shows three things.
- The
ai/layer. Bygit blame, about 97% of the Python lines in theai/folder are in my commits. That is the AI workflow described below, with its verify gate and hooks. - The starting code base. Right after an empty first commit comes one import commit, "Full Game Files", on 2025-08-17, under my account. It is the code base of The Shrouded Parchments: 234 of its 248 C# files are that game's scripts, 226 of them unchanged byte for byte. In that game's own history, 32% of those scripts' lines come from its import commit of 2023-06-01, also under my account, 61% are in my later commits and 6% in Blue Olive's. Some of my later lines are edits to the imported files, so the 61% is not all new code. So that code base is mine, with a little of Blue Olive's code. It holds the systems of that import commit and the systems, modules and fixes I added later, such as farming, the NPC controllers and the managers. The other 14 files, 1,163 lines, are not in that game's history, so nothing says who wrote them, and I do not claim them. Here, the import still holds 21% of today's C# lines, and 76% to 88% of the lines in the combat, dialogue, saving, inventory, scene-management and manager folders.
- Scripts added later. My later commits hold 2.5% of the C# lines, 1,915 of them. Among the larger ones are new files:
NPCWorkerand the other scripts of the NPC worker system (from May 2026), andShopItemDetailUI(April 2026). Two more grew out of imported code:BaseShopUIbegan in December 2025 as a copy of the importedShopUI, and I added 88 lines toShop.
Blue Olive's account holds the other 76% of the C#. I counted all of this with git blame -w on 2026-10-27. It says who committed a line, and nothing more.
The AI workflow
A project with 64 scene files and 185 quests is more than an agent can hold in its context, and a wrong guess about an id or a file name can break a saved game. So I built an AI layer around the game: a verify gate that checks the docs and the content against the code, Claude Code hooks, and quest tools that drive the Unity editor over Unity-MCP. It has its own page.