awww thank you!
keep me posted if you’re going to use it
Please open an issue or better a pull request on Github with a working example in the notation: https://github.com/zeruhur/lonelog
You’re absolutely right, and the collision was real enough to fix properly. Round markers in the Combat Add-on are now Rd# (Rd1, Rd2, Rd3) instead of R#. The [R:] prefix stays for rooms. In a combined dungeon+combat log the two are now unambiguous, and — as you noted — this also means translations don’t inherit the same letter conflict. Your [P:] / T# pairing for French is clean and compatible.
Combat add-on is now at v1.1.0. The Community Add-on Guidelines have also been updated with an explicit note about checking for collisions between tag prefixes and structural markers across the full ecosystem — so future add-ons shouldn’t run into this.
Thanks for flagging it while working on the French version. That’s exactly the kind of thing that only surfaces when someone tries to actually use everything together.
Your observation is totally legit and fueled some thoughts.
Here’s my solution and this will be implemented soon in section 4.3
The examples above assume your table lives somewhere else — a rulebook, a supplement, a separate file. You roll, you record the result, and anyone reading your log has to trust you (or own the same book) to verify it.
But what if you made the table yourself? What if you filtered options from a larger set to fit your campaign? What if you’re playing a game where content generation is the game — systems like Bivius Companion, homebrew oracles, or any setup where the possibility space is part of the creative act?
In those cases, embedding the table directly in your log makes it self-contained. Readers see the full option space and the result. No external references, no “see page 47.”
Format:
tbl: TableName (die)
1: Result one
2: Result two
3: Result three
4: Result four
5: Result five
6: Result six
The table name and die type go on the first line. Each entry is indented with its number and result. Then roll against it normally:
tbl: TableName d6=3 -> Result three
Complete example:
tbl: Forest Encounter (d6)
1-2: Nothing — eerie silence
3: Animal tracks, fresh
4: Abandoned campsite
5: Traveler on the road
6: Something is following you
? What do I encounter on the forest path?
tbl: Forest Encounter d6=5 -> Traveler on the road
=> A cloaked figure waves me down. [N:Traveler|unknown|friendly?]
When to define inline vs. reference externally:
For longer tables, you can define them once at the start of a session or campaign (much like the Resource Status Block pattern), then reference them by name throughout play:
tbl: Forest Encounter d6=5 -> Traveler on the road
If the table was defined earlier in the log, readers can scroll back to find it. If it’s a published table, the name and die type provide enough context to locate the source.
Some games don’t use numbered tables — they use curated lists you pick or draw from. You might filter a larger set of options down to the ones relevant to your scene, then select randomly or intuitively.
Format:
tbl: TableName [Option A, Option B, Option C, Option D]
Square brackets signal “these are the options in play.” No numbers, no die — just the possibility space.
Rolling against a filtered set:
tbl: Mood [Tense, Melancholic, Hopeful, Uncanny]
tbl: Mood -> Uncanny
tbl: Weather [Clear, Fog, Rain, Storm]
tbl: Weather d4=2 -> Fog
=> A thick fog rolls in from the coast. Visibility drops to nothing.
Building a filtered set from a larger source:
(note: filtering Bivius Companion themes for this arc)
tbl: Theme [Betrayal, Redemption, Sacrifice, Secrets]
tbl: Theme -> Sacrifice
=> The scene will center on what someone is willing to give up.
Dynamic filtering mid-session:
tbl: Available Leads [The dockworker's tip, The torn letter, The locked room]
tbl: Available Leads -> The torn letter
=> I follow up on the letter I found in Session 2.
[Thread:Torn Letter|Open]
The key difference from numbered tables: filtered sets capture what was available, not just what was chosen. This is especially valuable when you’re sharing logs — readers see the roads not taken alongside the one you picked.
Some generators produce compound results — multiple axes of meaning that together create something greater than any single roll. An NPC might have a role, a personality trait, and a motivation. A location might have a feature, a mood, and a secret. Recording each axis makes the creative logic transparent.
Format:
gen: GeneratorName
Axis1: roll -> result
Axis2: roll -> result
Axis3: roll -> result
Each axis is indented under the generator name. Roll details are optional — include them when transparency matters, skip them when speed matters.
NPC generator example:
gen: NPC (custom)
Role: d6=3 -> Merchant
Trait: d6=5 -> Secretive
Want: d6=1 -> Escape
=> [N:Unnamed Merchant|secretive|wants to flee town]
Location generator example:
gen: Ruin (custom d6 tables)
Feature: d6=4 -> Collapsed tower
Mood: d6=2 -> Oppressive silence
Secret: d6=6 -> Hidden passage beneath the rubble
=> [L:Old Watchtower|collapsed|eerie|hidden passage]
With inline table definitions — you can combine these features. Define the axes, then roll:
tbl: NPC Role (d6) [Guard, Merchant, Scholar, Beggar, Noble, Priest]
tbl: NPC Trait (d6) [Nervous, Secretive, Boisterous, Cold, Kind, Obsessive]
tbl: NPC Want (d6) [Escape, Revenge, Wealth, Knowledge, Power, Peace]
gen: NPC
Role: d6=2 -> Merchant
Trait: d6=6 -> Obsessive
Want: d6=4 -> Knowledge
=> [N:The Collector|merchant|obsessive|seeks forbidden texts]
Minimal format — when you just need the output:
gen: NPC -> Merchant / Secretive / Escape
=> [N:Unnamed Merchant|secretive|wants to flee]
Use the expanded multi-line format when you want to show your work — especially useful in shared logs, for generators you created yourself, or when you want to trace how the fiction emerged from the mechanics. Use the minimal single-line format when speed matters more than process.
You got it totally right!
As for the expansion… I actually drafted a “Beyond the Void” expansion with many rules like “passengers transport”, “market competition” and “fleet management”
Since my schedule is very packed I don’t plan to release it till next year, but I loaded the text in a shared gdocs, you can find it here:
https://docs.google.com/document/d/1giKYO-ZWM6zGUfm0g5zpt4Ire0XfkGwk7UyBsaenl2I/edit?usp=sharing
any feedback is very welcomed!
Thanks for the detailed feedback! Really appreciate you taking the time to read through it carefully.
1. Links in the doc - I’m not quite sure I understand what you mean here. Could you clarify what kind of links you’re looking for and where? The doc is meant to be standalone and system-agnostic, so I want to make sure I understand the suggestion before considering it.
2. +/- notation for tag changes - I like that! Using [N:Jonah|+captured] or [N:Jonah|-wounded] is definitely clearer than just [N:Jonah|captured] when you want to show incremental changes. That’s a nice extension of the notation—feel free to use it! As with everything in the system, if it makes your logs clearer, adopt it. The notation is flexible, so anyone can adapt it as they see fit.
3. Mythic GME random events (doubles below Chaos Factor) - Are you asking how to record the random event when it triggers, or how to track whether it’s likely to trigger? Just want to make sure I understand before I give you a good answer!
If you mean recording the event itself, I’d use:
? Is the merchant trustworthy?
d: Fate chart d100=33 (Chaos 5) => Yes
(note: rolled doubles below CF - random event!)
gen: Mythic Event d100=45,78 => NPC Action / Betray
=> The merchant nods yes, but I notice him signal to someone in the back.
[N:Merchant|duplicitous]
4. PC stats tracking - In my logs, I only track variable stats in tags (HP, ammo, status conditions). Static stuff like your Strength score or skill bonuses I keep in a separate character sheet.
That said, you can absolutely track everything if you want! Some people do [PC:Alex|STR 16|DEX 14|HP 20|Gear:Sword,Shield] on first mention. It’s really about what serves your play—the notation is flexible and anyone can adapt it as they see fit to match their specific needs.
Let me know if I can clarify anything else!