[{"data":1,"prerenderedAt":3057},["ShallowReactive",2],{"learn":3},[4,657,1028,1493,1789,2165,2532],{"id":5,"title":6,"author":7,"body":8,"cta":636,"datePublished":645,"description":646,"extension":647,"meta":648,"navigation":649,"path":650,"seo":651,"stem":652,"tags":653,"tracking":654,"__hash__":656},"learn/learn/00.worldbuilding.md","Worldbuilding for Tabletop RPGs: Start Small, Build What You Need","Jon",{"type":9,"value":10,"toc":635},"minimark",[11,53,56,60,63,75,78,85,92,97,103,106,181,184,199,206,209,222,226,232,235,246,249,262,277,280,292,296,302,309,312,381,387,394,409,413,423,426,432,442,502,509,513,519,525,546,552,559,562,569,573,579,590,597,607,612,620],[12,13,14,18,19,22,23,28,29,28,33,28,37,28,41,28,45,22,49,52],"p",{},[15,16,17],"strong",{},"What you'll learn:"," How to worldbuild reactively — expanding only where players push — instead of burning out before session 1 ",[15,20,21],{},"Kanka features used:"," ",[24,25,27],"a",{"href":26},"/features#entries","entry hierarchy",", ",[24,30,32],{"href":31},"/features#relations","Relations",[24,34,36],{"href":35},"/features#editor","@mention system",[24,38,40],{"href":39},"/features#collaborative","Permissions",[24,42,44],{"href":43},"/features#dashboards","Dashboards",[24,46,48],{"href":47},"/features#journals","Journals",[15,50,51],{},"Time to complete:"," 15 minutes to set up your starting structure",[54,55],"hr",{},[57,58,6],"h1",{"id":59},"worldbuilding-for-tabletop-rpgs-start-small-build-what-you-need",[12,61,62],{},"The number one reason GMs abandon worldbuilding projects is they built too much before anyone sat down to play. The conventional advice to design your pantheon, sketch your continents, write your creation myth, front-loads months of creative work before a single session happens. Most campaigns never survive contact with players anyway.",[12,64,65,66,70,71,74],{},"This is the \"Worldbuilder's Trap\": the belief that a world has to be ",[67,68,69],"em",{},"complete"," before it can be ",[67,72,73],{},"used",". The opposite is true. The most resilient campaign worlds are built reactively by expanding only where players push, deepening only where the story demands.",[12,76,77],{},"Session 1. The party arrives in the starting village. A player asks: \"What god does this village worship?\" You haven't built a pantheon. You improvise: \"Solara, goddess of the hearth.\" Three sessions later, a cleric player asks about Solara's rival deity, and you can't remember whether you said \"Solara\" or \"Solaris,\" or what domain you implied.",[12,79,80,81,84],{},"The problem isn't that you improvised. It's that you had no system to ",[67,82,83],{},"capture"," the improvisation and connect it to everything else.",[12,86,87,88,91],{},"This guide covers the methodology that prevents two common failure modes, overbuilding and losing continuity, by using a ",[24,89,90],{"href":26},"relational entry system"," that grows with your campaign instead of demanding everything upfront.",[93,94,96],"h2",{"id":95},"what-should-you-build-first","What Should You Build First?",[12,98,99,102],{},[15,100,101],{},"Build the smallest playable unit: one location, three NPCs, and one conflict."," Everything else can wait.",[12,104,105],{},"This method works in concentric circles:",[107,108,109,129],"table",{},[110,111,112],"thead",{},[113,114,115,120,123,126],"tr",{},[116,117,119],"th",{"align":118},"left","Circle",[116,121,122],{"align":118},"What to Build",[116,124,125],{"align":118},"When",[116,127,128],{"align":118},"entry Count",[130,131,132,149,165],"tbody",{},[113,133,134,140,143,146],{},[135,136,137],"td",{"align":118},[15,138,139],{},"1 — Starting Point",[135,141,142],{"align":118},"One settlement, three NPCs, one quest hook, one rumor pointing outward",[135,144,145],{"align":118},"Before session 1",[135,147,148],{"align":118},"5–8",[113,150,151,156,159,162],{},[135,152,153],{"align":118},[15,154,155],{},"2 — Immediate Region",[135,157,158],{"align":118},"Surrounding geography, neighboring settlements, the faction or threat driving Arc 1",[135,160,161],{"align":118},"Sessions 2–5",[135,163,164],{"align":118},"15–25",[113,166,167,172,175,178],{},[135,168,169],{"align":118},[15,170,171],{},"3 — Wider World",[135,173,174],{"align":118},"Political structures, distant empires, pantheons, historical events",[135,176,177],{"align":118},"Sessions 6+ (only when referenced)",[135,179,180],{"align":118},"As needed",[12,182,183],{},"Each circle's entries reference the previous circle's entries. The blacksmith in Circle 1 was born in the mining town in Circle 2. The mining town's economy depends on trade routes controlled by the empire in Circle 3. Building outward deepens existing connections rather than adding disconnected content.",[12,185,186,187,190,191,193,194,198],{},"Use ",[24,188,189],{"href":26},"Location entries"," with nesting for Circle 1: the starting settlement as parent, key buildings as children. Link NPCs to those Locations via ",[24,192,32],{"href":31}," (\"Owner,\" \"Patron,\" \"Guard\"). Create a single ",[24,195,197],{"href":196},"/features#quests","Quest entry"," for the starting hook and link its instigator and relevant locations as quest elements.",[12,200,201,202,205],{},"The discipline: name things immediately, detail them later. A location called \"The Thornwood\" with no description is more useful than no location at all. A Character entry with nothing but \"Innkeeper\" in the ",[15,203,204],{},"Type"," field is enough to start.",[12,207,208],{},"Circle 1 should take no more than 60 minutes. If an entry has zero connections after two sessions, set it aside, it's not a living part of the world yet.",[12,210,211,212,216,217,221],{},"For the full walkthrough on spatial structure such as how deep hierarchies go, when to create new locations, how uploaded maps connect to your entry hierarchy, see ",[24,213,215],{"href":214},"/learn/hierarchies","How to Organize Fantasy Locations: Hierarchies That Scale",". For the NPC creation pattern that makes every character findable and connected from birth, see ",[24,218,220],{"href":219},"/learn/characters","NPC Management for Game Masters",".",[93,223,225],{"id":224},"how-do-details-stay-connected","How Do Details Stay Connected?",[12,227,228,231],{},[15,229,230],{},"The difference between notes and a living, breathing world is that a world knows its own connections."," A document full of NPC profiles is static. You have to remember that the blacksmith's daughter joined the thieves' guild, that the guild operates out of the abandoned temple, that the temple was abandoned because of the plague 40 years ago. In a flat note system, those connections exist only in your head.",[12,233,234],{},"In a relational system, updating one entry ripples context to every connected entry. When you write that Mira trained under Grandmaster Torvald, both Mira and Torvald reflect that connection. Open Torvald's page during prep and you see that Mira is his student without searching.",[12,236,237,238,241,242,245],{},"This is the core architectural principle: ",[15,239,240],{},"entries reference each other, not just coexist."," Each new entry increases the context density of every entry it touches. Prep time ",[67,243,244],{},"decreases"," over time because the web does the memory work.",[12,247,248],{},"Two tools make this work:",[12,250,251,253,254,257,258,261],{},[15,252,32],{}," with custom labels (\"Trained Under,\" \"Rival Of,\" \"Operates In\") and ",[15,255,256],{},"Mirror Relations"," enabled, so every connection is automatically bidirectional. The ",[24,259,260],{"href":31},"Relation Explorer"," visualizes the full connection web during prep revealing narrative threads you didn't consciously plan.",[12,263,264,267,268,272,273,276],{},[15,265,266],{},"@mentions"," in every text field. Type ",[269,270,271],"code",{},"@"," followed by any entry name in ",[24,274,275],{"href":47},"session journals",", descriptions, or quest briefings. Every @mention creates a traceable reference: the \"Mentioned In\" interface shows everywhere an entry appears across the entire campaign wiki. Lore consistency scales beyond human memory.",[12,278,279],{},"Session 8. A player asks: \"Didn't that merchant say he was from the same village as the guard captain?\" You type the merchant's name, see his Relations tab: yes, \"Former Neighbor\" relation to the guard captain, linked to the village of Ashenmoor. You also notice Ashenmoor was recently tagged \"Status:Threatened.\" The merchant hasn't heard the news. You have a plot hook you didn't plan  because the system surfaced the connective tissue that made it possible.",[12,281,282,283,287,288,221],{},"Don't create connections you can't justify in-world. Relational clutter is worse than relational sparsity. For the full workflow on building, labeling, and maintaining entry relations at scale, see ",[24,284,286],{"href":285},"/learn/living-web","How to Link Characters, Locations, and Plot Into a Living Web",". For applying this specifically to political factions, see ",[24,289,291],{"href":290},"/learn/factions","How to Build Factions That Drive Conflict",[93,293,295],{"id":294},"what-should-players-see","What Should Players See?",[12,297,298,301],{},[15,299,300],{},"Players should see exactly what their characters have discovered, no more, no less."," The biggest UX mistake GMs make with digital tools is treating them as either fully private or fully public. The answer is granular: entry-by-entry, section-by-section, session-by-session.",[12,303,304,305,308],{},"The permission layer transforms a GM's personal wiki into a ",[24,306,307],{"href":39},"collaborative worldbuilding"," tool. Done well, players browse the campaign wiki between sessions, re-read what they know, discover connections between things they've encountered, and feel a growing sense of mastery over the world. But they never see the secret patron behind the thieves' guild.",[12,310,311],{},"The key pattern: public entry + private Articles = mystery that players can engage with without spoiling. A Character entry is visible, players see the NPC's name, appearance, role, but an Article titled \"True Allegiance\" on that same entry stays admin only. The fog of war holds.",[107,313,314,327],{},[110,315,316],{},[113,317,318,321,324],{},[116,319,320],{"align":118},"Permission Layer",[116,322,323],{"align":118},"What It Controls",[116,325,326],{"align":118},"Example",[130,328,329,342,355,368],{},[113,330,331,336,339],{},[135,332,333],{"align":118},[15,334,335],{},"entry visibility",[135,337,338],{"align":118},"Whether the entry exists for players at all",[135,340,341],{"align":118},"Hide the dungeon they haven't found",[113,343,344,349,352],{},[135,345,346],{"align":118},[15,347,348],{},"Article visibility",[135,350,351],{"align":118},"Secrets attached to otherwise public entries",[135,353,354],{"align":118},"Admin only \"Secret Mission\" article on a public NPC",[113,356,357,362,365],{},[135,358,359],{"align":118},[15,360,361],{},"Relation visibility",[135,363,364],{"align":118},"Which connections players can see",[135,366,367],{"align":118},"Public \"Guild Leader\" relation, hidden \"Secret Patron\" relation",[113,369,370,375,378],{},[135,371,372],{"align":118},[15,373,374],{},"Mention redaction",[135,376,377],{"align":118},"@mentions of private entries auto display as [redacted]",[135,379,380],{"align":118},"Write freely in session notes; the system handles what shows",[12,382,186,383,386],{},[15,384,385],{},"\"View As\" member switching"," before each session to experience the wiki from any player's perspective. This catches accidental reveals.",[12,388,389,390],{},"Reveal permissions progressively: after a major story beat, flip an Article from private to visible. The wiki becomes a record of discovery, not just a reference. For the complete guide to building a player-facing wiki experience with dashboards, organization, and the structural reasons players avoid wikis see ",[24,391,393],{"href":392},"/learn/players","Why Don't Your Players Use the Wiki You Built?",[12,395,396,404,405,221],{},[24,397,401],{"href":398,"rel":399},"https://app.kanka.io/register",[400],"nofollow",[15,402,403],{},"Try this in your own campaign →"," Per-entry permissions work on the ",[24,406,408],{"href":407},"/pricing","free tier",[93,410,412],{"id":411},"how-do-you-keep-it-organized","How Do You Keep It Organized?",[12,414,415,418,419,422],{},[15,416,417],{},"Organization in worldbuilding isn't about folders it's about retrievability."," The goal is finding any piece of your world in under 10 seconds during a live session. That changes the design principle: organize by ",[67,420,421],{},"context",", not just by type.",[12,424,425],{},"Two organizational layers survive long campaigns:",[12,427,428,431],{},[15,429,430],{},"entry types handle the \"what.\""," Characters, Locations, Organizations, Quests, Kanka's built-in taxonomy means you never decide where an NPC \"goes.\" A Character is always a Character. A city is always a Location. This structural clarity eliminates \"where did I put that note?\"",[12,433,434,437,438,441],{},[15,435,436],{},"Tags handle the \"why.\""," Tags are the ",[24,439,440],{"href":26},"cross referencing"," layer that connects entries by narrative relevance. Tag an NPC, a Location, and a Quest with \"Arc:TheDragonWar\" and you've created an instant filter showing everything relevant to that storyline regardless of entry type.",[107,443,444,456],{},[110,445,446],{},[113,447,448,451,454],{},[116,449,450],{"align":118},"Organizational Principle",[116,452,453],{"align":118},"What It Solves",[116,455,326],{"align":118},[130,457,458,469,480,491],{},[113,459,460,463,466],{},[135,461,462],{"align":118},"entry types (permanent)",[135,464,465],{"align":118},"\"What is this thing?\"",[135,467,468],{"align":118},"A Character is always a Character",[113,470,471,474,477],{},[135,472,473],{"align":118},"Tags (fluid)",[135,475,476],{"align":118},"\"Why does this matter right now?\"",[135,478,479],{"align":118},"\"Arc:TheDragonWar\" + \"Status:Active\" + \"Faction:KingsGuard\"",[113,481,482,485,488],{},[135,483,484],{"align":118},"Location hierarchy",[135,486,487],{"align":118},"\"Where is this in the world?\"",[135,489,490],{"align":118},"Continent > Region > City > District",[113,492,493,496,499],{},[135,494,495],{"align":118},"Dashboard widgets",[135,497,498],{"align":118},"\"What do I need for next session?\"",[135,500,501],{"align":118},"Filtered lists of active quests, seed entries, recent journals",[12,503,504,505,508],{},"Use 3–5 tags per entry maximum. Create a tag taxonomy early: \"Arc:[Name]\", \"Status:[State]\", \"Faction:[Name]\" as prefixes prevent sprawl. Configure ",[24,506,507],{"href":43},"dashboard"," widgets with filtered entry lists, a \"Current Arc NPCs\" widget, an \"Active Quests\" widget, a \"Seed Notes\" widget. The dashboard becomes the session-prep command center.",[93,510,512],{"id":511},"when-does-worldbuilding-happen","When Does Worldbuilding Happen?",[12,514,515,518],{},[15,516,517],{},"The best worldbuilding happens in three distinct moments: before session 1, during sessions, and between sessions."," Most advice focuses on pre-campaign building. In practice, a lot of meaningful worldbuilding happens reactively.",[12,520,521,524],{},[15,522,523],{},"Moment 1: The Seed Phase (pre-campaign)."," Build Circle 1. Set up the starting location, three NPCs, one quest. Establish your tag taxonomy. Time: 60–90 minutes.",[12,526,527,530,531,534,535,538,539,541,542,545],{},[15,528,529],{},"Moment 2: The Capture Phase (during sessions)."," A player asks a question you haven't prepped. You improvise an answer. The discipline is capturing that answer immediately, press ",[15,532,533],{},"'N'"," or click ",[15,536,537],{},"Quick Creator"," to create a seed entry in under 10 seconds. Name, type, one tag, done. Then write ",[269,540,271],{}," and the entry name in your ",[24,543,544],{"href":47},"session journal"," to link it to its narrative origin. Speed matters more than completeness.",[12,547,548,551],{},[15,549,550],{},"Moment 3: The Weave Phase (between sessions)."," Spend 15–30 minutes doing three things: flesh out seed entries from last session, add Relations between new and existing entries, review \"Mentioned In\" lists for key NPCs to spot emergent connections.",[12,553,554,555,558],{},"The critical insight: Moment 2 feeds Moment 3, which enriches Moment 2 of the next session. The more you capture, the more connections emerge. The more connections exist, the easier improvisation becomes. Prep time should ",[67,556,557],{},"decrease"," per session as the relational web grows.",[12,560,561],{},"The test: can you prep the next session using only your campaign wiki, without re-reading raw session notes? If yes, the system is working. Session prep gets shorter every week because the web is doing the recall for you.",[12,563,564,565],{},"For the concrete 5 step repeatable workflow that turns this rhythm into a 30 minute habit, see ",[24,566,568],{"href":567},"/learn/prep","How Do I Prep a Session in 30 Minutes?",[93,570,572],{"id":571},"what-does-a-living-world-look-like","What Does a Living World Look Like?",[12,574,575,578],{},[15,576,577],{},"A living world is one where the GM is surprised by their own creation."," Not because they forgot what they wrote but because the connections between entries surface narrative possibilities they didn't consciously plan. The merchant's hometown is threatened. The cleric's deity has a rivalry with the faction's patron god. The abandoned temple is linked to the same plague that orphaned two NPCs in different cities. None of these were designed. They emerged from the accumulation of relational decisions made over months of play.",[12,580,581,582,585,586,589],{},"After 10, 20, 50 sessions, the campaign wiki isn't a reference document, it's an emergent narrative engine. The ",[24,583,584],{"href":31},"entry relationships"," have grown dense enough that prep means browsing connections, not inventing from scratch. The question shifts from \"what should happen next?\" to \"what ",[67,587,588],{},"wants"," to happen next, given everything that's already connected?\"",[12,591,592,593,596],{},"This is where reactive worldbuilding proves its value. A pre-built world has the depth its creator imagined. A reactively built world has the depth its players ",[67,594,595],{},"demanded",", which means every detail is load-bearing, every NPC is relevant, every location has been touched by play. There's no dead content.",[12,598,599,600,602,603,606],{},"Use the ",[15,601,260],{}," and ",[15,604,605],{},"Campaign Wide Connections Web"," as primary prep tools in mature campaigns. Browse the visual web for underused connections, orphaned entries, and narrative threads. The relational dataset is the most valuable artifact your campaign produces.",[12,608,609,610,221],{},"The living world depends on connection density. For the detailed guide on building, labeling, and maintaining that web from your first entry to your hundredth session, see ",[24,611,286],{"href":285},[12,613,614],{},[24,615,617],{"href":398,"rel":616},[400],[15,618,619],{},"Start building your world for free, no entry limits →",[12,621,622,623,628,629,634],{},"If you have any questions, join us over on our ",[24,624,627],{"href":625,"rel":626},"https://kanka.io/go/discord",[400],"Discord","! We also have ",[24,630,633],{"href":631,"rel":632},"https://blog.kanka.io",[400],"more tutorials"," on our blog.",{"title":636,"searchDepth":637,"depth":637,"links":638},"",2,[639,640,641,642,643,644],{"id":95,"depth":637,"text":96},{"id":224,"depth":637,"text":225},{"id":294,"depth":637,"text":295},{"id":411,"depth":637,"text":412},{"id":511,"depth":637,"text":512},{"id":571,"depth":637,"text":572},"2026-04-10","Stop building worlds you'll never use. Start with one town, expand from play, and let a relational system keep it all connected. Free, no entry limits.","md",{},true,"/learn/worldbuilding",{"title":6,"description":646},"learn/00.worldbuilding",[654,655],"worldbuilding","hub","cGiqMRkQ137bcI6hmW4NKxDVQIdGHe5crMAzJ51bN_0",{"id":658,"title":215,"author":7,"body":659,"cta":1018,"datePublished":645,"description":1019,"extension":647,"meta":1020,"navigation":649,"path":214,"seo":1021,"stem":1022,"tags":1023,"tracking":1026,"__hash__":1027},"learn/learn/01.hierarchies.md",{"type":9,"value":660,"toc":1013},[661,682,685,692,702,706,712,715,775,778,781,790,793,796,802,805,815,826,829,836,840,846,853,860,863,906,909,912,929,934,936,939,943,949,952,958,961,964,970,976,978,981,988,1003,1005],[12,662,663,665,666,22,668,28,670,28,674,28,676,22,679,681],{},[15,664,17],{}," How to structure locations so any place in your world is findable in under 10 seconds, whether you have 15 entries or 500. ",[15,667,21],{},[24,669,189],{"href":26},[24,671,673],{"href":672},"/features#maps","Maps",[24,675,32],{"href":31},[24,677,678],{"href":26},"Tags",[15,680,51],{}," 20 minutes",[12,683,684],{},"Every campaign hits the same wall. You've got 40 locations in a flat list, a player asks \"wait, is the Iron Bazaar in Thornmere or Ashenmoor?\" and you're panicking, scrolling through entries trying to remember. Both cities have markets, why didn't you give them more detail when you wrote it down!. The problem is that list doesn't encode spatial relationships. You built a filing cabinet when you needed a map of your world's geography.",[12,686,687,688,691],{},"The fix isn't more notes. It's a ",[24,689,690],{"href":26},"location hierarchy"," that mirrors how your world actually works: continents contain regions, regions contain settlements, settlements contain districts and buildings. When you nest locations inside each other, browsing Thornmere's entry shows you every sub-location at a glance. The structure answers the question before you finish typing.",[12,693,694,695,697,698,701],{},"This tutorial covers the hierarchy depth that handles 95% of campaigns, when to create new locations, and how uploaded maps connect to your ",[24,696,27],{"href":26},". If you haven't read our hub article on ",[24,699,700],{"href":650},"worldbuilding for tabletop RPGs",", start there, it introduces the concentric circles model we'll build on here.",[93,703,705],{"id":704},"how-deep-should-hierarchies-go","How Deep Should Hierarchies Go?",[12,707,708,711],{},[15,709,710],{},"Three to four levels of nesting handle 95% of campaign worlds."," More than that creates navigation overhead that costs more than it saves.",[12,713,714],{},"Here's what works for most campaigns:",[107,716,717,729],{},[110,718,719],{},[113,720,721,724,726],{},[116,722,723],{"align":118},"Level",[116,725,326],{"align":118},[116,727,728],{"align":118},"Location Type",[130,730,731,742,753,764],{},[113,732,733,736,739],{},[135,734,735],{"align":118},"1 — Continent/World",[135,737,738],{"align":118},"The Sunward Reaches",[135,740,741],{"align":118},"Continent",[113,743,744,747,750],{},[135,745,746],{"align":118},"2 — Region/Province",[135,748,749],{"align":118},"Thornmere Province",[135,751,752],{"align":118},"Region",[113,754,755,758,761],{},[135,756,757],{"align":118},"3 — Settlement",[135,759,760],{"align":118},"Thornmere City",[135,762,763],{"align":118},"City",[113,765,766,769,772],{},[135,767,768],{"align":118},"4 — District/Building",[135,770,771],{"align":118},"The Iron Bazaar, Castle Ward, Docks District",[135,773,774],{"align":118},"Market, Fortress, District",[12,776,777],{},"This structure maps to how players actually think about space. \"We're heading to the Iron Bazaar\" triggers a mental chain: that's in Thornmere City, in Thornmere Province, somewhere in the Sunward Reaches. The hierarchy encodes that chain so you don't have to remember it.",[12,779,780],{},"The exception is dungeon-heavy campaigns. If you're tracking individual rooms in a megadungeon, add a fifth level — but the dungeon itself stays a Location at level 4, with rooms as children. You're still within the guideline.",[782,783,786,787],"preview",{"url":784,"alt":785,"asset":636},"images/screenshots/learn/sunward.png","Sunward Reaches","\n\nLocation tree in Kanka showing The Sunward Reaches > Thornmere Province > Thornmere City > Iron Bazaar / Castle Ward / Docks District, with Ashenmoor as a sibling of Thornmere City\n",[788,789],"br",{},[12,791,792],{},"It should now look something like this.",[12,794,795],{},"A few things make this hierarchy work harder for you:",[12,797,798,799,801],{},"Every Location can have a ",[15,800,204],{}," — City, Dungeon, Building, Wilderness, Natural Feature. This isn't just labeling. It enables cross-hierarchy filtering: \"show me all Dungeons regardless of which region they're in.\" That filter saves serious time when your world grows past 100 entries.",[12,803,804],{},"Create parent Locations before children, even if the parent is just a name with no description yet. A region called \"Thornmere Province\" with nothing but a name is better than three orphaned cities you'll have to reorganize later.",[12,806,599,807,810,811,814],{},[15,808,809],{},"Nested Layout Toggle"," during prep to see the full tree structure. Switch to ",[15,812,813],{},"Flatten Layout Toggle"," during sessions, flat lists are faster to scan when a player catches you off-guard.",[12,816,817,818,821,822,825],{},"Not everything fits a parent-child model, though. Trade routes between Thornmere and Ashenmoor, border disputes, military alliances, these are lateral connections, not hierarchical. Use ",[24,819,820],{"href":31},"entry relations"," for these. Set up a \"Trade Route\" relation between two cities, a \"Border Dispute\" between two regions. These cross-references turn static geography into a political and economic web, a ",[24,823,824],{"href":26},"living world"," where the spatial layer connects to everything else.",[12,827,828],{},"Parent-child hierarchy handles spatial containment. Relations handle everything else: trade, conflict, alliance.",[12,830,831,832,835],{},"This section establishes the spatial skeleton of your ",[24,833,834],{"href":39},"campaign wiki",". But a skeleton is empty without inhabitants. The next question: when do you actually create these locations?",[93,837,839],{"id":838},"when-do-you-add-new-locations","When Do You Add New Locations?",[12,841,842,845],{},[15,843,844],{},"Create a location when players are about to visit it, or when an existing entry references it."," Not before.",[12,847,848,849,852],{},"The concentric circles model from the ",[24,850,851],{"href":650},"hub article"," gives you the timing. Circle 1 locations, the starting settlement and its key buildings, exist before session 1. Circle 2 locations emerge during sessions 2–5 as the party explores outward. Circle 3 locations get created only when an NPC names them or a quest points there.",[12,854,855,856,859],{},"The discipline is resisting the urge to build every location on your map before session one. A location that players never visit is part of the lore, but not part of your player's world. Worldbuilding is fun, but if you're being a bit utilitarian, don't use too much of your ",[24,857,858],{"href":47},"session prep"," time without producing any play value. A location created in response to player action is guaranteed to be relevant.",[12,861,862],{},"A new location needs only three things at creation:",[107,864,865,875],{},[110,866,867],{},[113,868,869,872],{},[116,870,871],{"align":118},"Field",[116,873,874],{"align":118},"Why It's Required",[130,876,877,887,896],{},[113,878,879,884],{},[135,880,881],{"align":118},[15,882,883],{},"Name",[135,885,886],{"align":118},"You can't reference what you can't name",[113,888,889,893],{},[135,890,891],{"align":118},[15,892,204],{},[135,894,895],{"align":118},"Enables filtering across the hierarchy",[113,897,898,903],{},[135,899,900],{"align":118},[15,901,902],{},"Parent Location",[135,904,905],{"align":118},"Prevents orphans and places the location in spatial context",[12,907,908],{},"Everything else can wait. Description, population, political affiliations, you can add those when the party approaches or when you're prepping the session that features it.",[12,910,911],{},"For locations mentioned in conversation but not yet visited, create a seed entry. You can create a tag called \"Status:Seed\" so you know it's a placeholder and you can come back to it later to add content. Don't flesh it out until the party is two sessions away. This is how your world grows organically without overwhelming your prep schedule.",[12,913,914,915,917,918,921,922,925,926,928],{},"Press ",[15,916,533],{}," or click the ",[15,919,920],{},"Create"," button to create locations mid-session. Name, Type, Parent, done in under 15 seconds. Then add one ",[269,923,924],{},"@mention"," linking the new location to whatever spawned it: the NPC who mentioned it, the quest that leads there, the ",[24,927,544],{"href":47}," where it first appeared. That single link ensures the location is never disconnected from its narrative origin.",[782,930,933],{"url":931,"alt":932,"asset":636},"images/screenshots/learn/quick-creator-location.png","Médina Map","\n\nQuick Creator showing a new location being created with Name, Type, and Parent Location fields filled in\n\n",[12,935,792],{},[12,937,938],{},"When you write location descriptions, write from the arriving party's perspective. What do they see, hear, smell? This turns your wiki from a dry reference document into something you can read aloud at the table. \"The salt wind hits you before you see the harbor\" is more useful mid-session than \"Thornmere is a coastal trading city.\"",[93,940,942],{"id":941},"how-do-maps-fit-in","How Do Maps Fit In?",[12,944,945,948],{},[15,946,947],{},"Maps are the visual layer over your location hierarchy — not a replacement for it."," A beautiful map shows where things are. The hierarchy shows what those places contain, who lives there, and how they connect.",[12,950,951],{},"Upload maps you've created in any tool: Inkarnate, Wonderdraft, Dungeon Scrawl, or hand-drawn and scanned, directly to Kanka. Then add interactive pins linked to your Location entries. Clicking a pin shows the full location profile: geography and lore unified. Your players see the map; clicking a city pin shows them everything you've made visible about that city.",[12,953,954,955,957],{},"The two systems complement each other. The map provides spatial intuition: distances, terrain, borders at a glance. The ",[24,956,27],{"href":26}," provides relational depth, who rules there, what factions operate, which quests point to that region. Neither replaces the other.",[12,959,960],{},"Here's how to get the most from map integration:",[12,962,963],{},"Upload maps at the highest reasonable resolution. Players will zoom in during sessions, and blurry maps break immersion faster than any lore inconsistency.",[12,965,186,966,969],{},[15,967,968],{},"Map Groups"," to organize pins into logical clusters: \"Cities,\" \"Dungeons,\" \"Points of Interest,\" \"Secret Locations.\" This keeps your map readable as pin count grows.",[782,971,973,974],{"url":972,"alt":932,"asset":636},"images/screenshots/learn/map.png","\n\nMap with grouped pins showing Cities (visible to all) and Secret Locations (admin-only) groups\n",[788,975],{},[12,977,792],{},[12,979,980],{},"Pin placement is an ongoing activity. Add pins as new locations enter play. Don't try to pin everything on day one, that's the same overbuilding trap we talked about with location entries. Let the map grow alongside the campaign.",[12,982,983,984,987],{},"For campaigns spanning multiple scales or timelines, use ",[15,985,986],{},"Map Layer"," hierarchy for multi-scale mapping. Your world map serves as the base layer. Different layers of detail are here to add… layers relevant to any different set of circumstances. Think adding/removing historical borders. They use the base image and adapt it to your time context.",[12,989,990,991,994,995,998,999,1002],{},"Locations are where your world's geography lives. But they're also where ",[24,992,993],{"href":290},"factions operate",". Linking ",[15,996,997],{},"Organization"," entries to their territorial Locations transforms static geography into a political landscape which is exactly what the ",[24,1000,1001],{"href":290},"next article in this series"," covers.",[54,1004],{},[12,1006,622,1007,628,1010,634],{},[24,1008,627],{"href":625,"rel":1009},[400],[24,1011,633],{"href":631,"rel":1012},[400],{"title":636,"searchDepth":637,"depth":637,"links":1014},[1015,1016,1017],{"id":704,"depth":637,"text":705},{"id":838,"depth":637,"text":839},{"id":941,"depth":637,"text":942},"Hierarchies That Scale","Organize fantasy locations from continent to single room. A D&D world building hierarchy that stays searchable as your campaign grows past 200 entries",{},{"title":215,"description":1019},"learn/01.hierarchies",[1024,1025],"locations","hierarchy","hierarchies","2M86haCiSih-pe9hDwgh63rtypWIDiJ0vhdXFMAf-74",{"id":1029,"title":1030,"author":7,"body":1031,"cta":1484,"datePublished":645,"description":1485,"extension":647,"meta":1486,"navigation":649,"path":219,"seo":1487,"stem":1488,"tags":1489,"tracking":1490,"__hash__":1492},"learn/learn/02.characters.md","NPC Management for Game Masters: Track Characters That Actually Matter",{"type":9,"value":1032,"toc":1472},[1033,1053,1055,1058,1069,1072,1079,1083,1089,1095,1098,1104,1158,1163,1166,1175,1188,1204,1207,1209,1213,1216,1287,1294,1302,1306,1316,1327,1331,1334,1387,1394,1399,1401,1405,1408,1435,1441,1445,1456,1462,1464],[12,1034,1035,1037,1038,22,1040,1043,1044,28,1047,1049,1050,1052],{},[15,1036,17],{}," How to create NPCs that stay useful across dozens of sessions, connect them to your world, and find them instantly mid-game. ",[15,1039,21],{},[24,1041,1042],{"href":26},"Character"," entries, ",[24,1045,1046],{"href":31},"Entry Relations",[24,1048,36],{"href":35},", Property Kits ",[15,1051,51],{}," 15 minutes for your first three NPCs",[54,1054],{},[12,1056,1057],{},"Session 6. A player says: \"We want to go back and talk to that blacksmith from session 2.\" You created him on the fly, name: \"Brom.\" No other details. In a flat note system, you search \"Brom\" and find a single line. What did he look like? What did he know? Where was his shop?",[12,1059,1060,1061,1064,1065,1068],{},"Now picture the alternative. Brom's ",[24,1062,1063],{"href":26},"Character entry"," shows a Location relation (\"Shop in Thornmere's Market District\"), his @mentions in the session 2 journal (\"Brom mentioned strange noises from the old mine\"), and a single Tag (",[269,1066,1067],{},"Status:Seed","). In Kanka, Tags are an incredibly convenient way to group entries that don’t always fit under the same umbrella, like Gods. They might be creatures, they might be Characters, but giving them that Deity Tag makes it oh so much easier to find them. You have everything you need to improvise a rich follow-up — because the system captured the connective context around Brom, not just his name.",[12,1070,1071],{},"That's the difference between storing NPCs and actually managing them. This guide covers the creation pattern that makes every Non-Player Character findable, connected, and worth keeping.",[12,1073,1074,1075,1078],{},"If you're building your world from the ground up, our ",[24,1076,1077],{"href":650},"Worldbuilding Fundamentals hub"," covers the broader structure this fits into.",[93,1080,1082],{"id":1081},"how-many-npcs-do-you-need","How Many NPCs Do You Need?",[12,1084,1085,1088],{},[15,1086,1087],{},"Three deep NPCs with real connections beat twenty shallow names in a spreadsheet."," The \"NPC bloat\" problem isn't about memory. It's about signal to noise ratio.",[12,1090,1091,1092,1094],{},"A campaign with 200 NPCs where 180 have nothing but a name is harder to search than a campaign with 20 where each one links to ",[24,1093,1024],{"href":26},", factions, and plot. The litmus test: if an NPC doesn't have at least one Relation to another entry, they're not yet fully integrated into your world..",[12,1096,1097],{},"Start with three for session 1: a quest-giver, an ally, and an obstacle. Create every other NPC reactively: only when a player engages with a background character enough to make them worth tracking. Don't build profiles for unnamed tavern patrons. Build them for Brom, the blacksmith your players decided to care about.",[12,1099,1100,1101,1103],{},"Here's the ceiling and floor for ",[24,1102,858],{"href":47},":",[107,1105,1106,1116],{},[110,1107,1108],{},[113,1109,1110,1113],{},[116,1111,1112],{"align":118},"Guideline",[116,1114,1115],{"align":118},"Rule",[130,1117,1118,1126,1134,1142,1150],{},[113,1119,1120,1123],{},[135,1121,1122],{"align":118},"Session 1 minimum",[135,1124,1125],{"align":118},"3 NPCs (quest-giver, ally, obstacle)",[113,1127,1128,1131],{},[135,1129,1130],{"align":118},"Session 1 maximum",[135,1132,1133],{"align":118},"10 named NPCs",[113,1135,1136,1139],{},[135,1137,1138],{"align":118},"Creation trigger",[135,1140,1141],{"align":118},"A player interacts with the character",[113,1143,1144,1147],{},[135,1145,1146],{"align":118},"Archive trigger",[135,1148,1149],{"align":118},"If repeatedly no relations after multiple sessions, consider merging, archiving, or connecting",[113,1151,1152,1155],{},[135,1153,1154],{"align":118},"Background characters",[135,1156,1157],{"align":118},"Don't create entries for unnamed crowds",[1159,1160,1162],"h3",{"id":1161},"the-three-point-creation-pattern","The Three-Point Creation Pattern",[12,1164,1165],{},"Every NPC gets three things at birth. No more, no less.",[12,1167,1168,1171,1172,1174],{},[15,1169,1170],{},"1. A Type field."," Not a physical description, a role. \"Innkeeper,\" \"Guard Captain,\" \"Fence.\" During play, you're scanning for function, not eye color. Put the role in the ",[15,1173,204],{}," field on the Character entry. It shows up in search results and hover previews, so you can spot the right NPC without clicking through.",[12,1176,1177,1180,1181,1183,1184,1187],{},[15,1178,1179],{},"2. One Relation."," Link the NPC to a Location or Organization. Click ",[15,1182,32],{}," on the Character's overview, add a connection to wherever they operate. Brom gets linked to Thornmere's Market District. Now searching for that Location also surfaces Brom, ",[24,1185,1186],{"href":31},"cross-referencing"," happens automatically.",[12,1189,1190,1193,1194,1197,1198,1200,1201,1203],{},[15,1191,1192],{},"3. One @mention."," Write ",[269,1195,1196],{},"@Brom"," in the ",[24,1199,544],{"href":47}," where they first appear. That's it. The ",[24,1202,36],{"href":35}," auto-links to Brom's full profile and adds the journal to his \"Mentioned In\" list. Over time, this list becomes Brom's story: every scene he appeared in, every plot thread he touched, aggregated without extra work.",[12,1205,1206],{},"[Screenshot: Character entry for \"Brom\" showing Title field (\"Blacksmith\"), one Relation to \"Thornmere - Market District,\" and a Mentioned In list with two session journal links]",[12,1208,792],{},[1159,1210,1212],{"id":1211},"the-character-card-pattern","The Character Card Pattern",[12,1214,1215],{},"For NPCs who stick around past their first scene, apply a Property Kit with 3–5 lightweight fields. Create the template once, then apply it to every new NPC with a click.",[107,1217,1218,1230],{},[110,1219,1220],{},[113,1221,1222,1225,1228],{},[116,1223,1224],{"align":118},"Property",[116,1226,1227],{"align":118},"Purpose",[116,1229,326],{"align":118},[130,1231,1232,1243,1254,1265,1276],{},[113,1233,1234,1237,1240],{},[135,1235,1236],{"align":118},"Motivation",[135,1238,1239],{"align":118},"What drives them",[135,1241,1242],{"align":118},"\"Revenge against the Guild\"",[113,1244,1245,1248,1251],{},[135,1246,1247],{"align":118},"Secret",[135,1249,1250],{"align":118},"What they're hiding",[135,1252,1253],{"align":118},"\"Works for the Merchant Consortium\"",[113,1255,1256,1259,1262],{},[135,1257,1258],{"align":118},"Attitude Toward Party",[135,1260,1261],{"align":118},"Current disposition",[135,1263,1264],{"align":118},"\"Suspicious, trusts no one new\"",[113,1266,1267,1270,1273],{},[135,1268,1269],{"align":118},"Voice Note",[135,1271,1272],{"align":118},"One-line speech cue",[135,1274,1275],{"align":118},"\"Speaks slowly, avoids eye contact\"",[113,1277,1278,1281,1284],{},[135,1279,1280],{"align":118},"Status",[135,1282,1283],{"align":118},"Campaign lifecycle tag",[135,1285,1286],{"align":118},"\"Active / Seed / Archived\"",[12,1288,1289,1290,1293],{},"Set up the kit by clicking on ",[15,1291,1292],{},"Property Kits"," in your sidebar.",[12,1295,1296,1297,1301],{},"For NPCs who are merchants or carry plot-relevant items, add entries to their ",[24,1298,1300],{"href":1299},"/features#inventory","inventory",". Each item can either link to an Item entry, or remain free text for now, creating another relational thread your players can pull on.",[93,1303,1305],{"id":1304},"how-do-npcs-connect-to-everything","How Do NPCs Connect to Everything?",[12,1307,1308,1311,1312,1315],{},[15,1309,1310],{},"An NPC's value isn't in their profile it's in their connections."," A 500-word backstory that connects to nothing is less useful than a one-line character with entry ",[24,1313,1314],{"href":31},"relationships"," to two Locations, one Organization, and three other Characters.",[12,1317,1318,1319,1322,1323,1326],{},"The connections are what make NPCs findable, surprising, and useful during play. When you search a Location, related NPCs surface. When you open an Organization, its members appear. When you check a Character, their allies and enemies show up. This is ",[24,1320,1321],{"href":31},"auto-linking"," doing the memory work for you, it helps your campaign become a living index your ",[24,1324,1325],{"href":43},"Campaign Dashboard"," showcases.",[1159,1328,1330],{"id":1329},"the-connection-minimum","The Connection Minimum",[12,1332,1333],{},"After an NPC has appeared in 2+ sessions, they earn three Relations:",[107,1335,1336,1348],{},[110,1337,1338],{},[113,1339,1340,1343,1346],{},[116,1341,1342],{"align":118},"Relation Type",[116,1344,1345],{"align":118},"What It Creates",[116,1347,326],{"align":118},[130,1349,1350,1363,1375],{},[113,1351,1352,1357,1360],{},[135,1353,1354],{"align":118},[15,1355,1356],{},"Location",[135,1358,1359],{"align":118},"Where they operate",[135,1361,1362],{"align":118},"Brom → \"Runs shop in\" → Thornmere City",[113,1364,1365,1369,1372],{},[135,1366,1367],{"align":118},[15,1368,997],{},[135,1370,1371],{"align":118},"Who they serve or oppose",[135,1373,1374],{"align":118},"Brom → \"Secretly reports to\" → Thieves' Guild",[113,1376,1377,1381,1384],{},[135,1378,1379],{"align":118},[15,1380,1042],{},[135,1382,1383],{"align":118},"Who they know",[135,1385,1386],{"align":118},"Brom → \"Owes a debt to\" → Captain Aldara",[12,1388,1389,1390,1393],{},"Use custom Relation labels that tell a story. \"Owes a debt to\" is more useful mid-session than \"Connected to.\" Enable ",[15,1391,1392],{},"Reciprocal link"," on the Character entry so connections are always bidirectional, linking Brom to the Thieves' Guild automatically creates the reverse link on the Guild's page.",[782,1395,1398],{"url":1396,"alt":1397,"asset":636},"images/screenshots/learn/brom.png","Brom","\n\nBrom is connected to Thornmere City, the Thieve's guild, and has a relation to Captain Aldara\n\n",[12,1400,792],{},[1159,1402,1404],{"id":1403},"identity-fields-players-ask-about","Identity Fields Players Ask About",[12,1406,1407],{},"Fill the fields your table actually references during play:",[1409,1410,1411,1418,1429],"ul",{},[1412,1413,1414,1417],"li",{},[15,1415,1416],{},"Pronouns"," — dedicated field on every Character entry",[1412,1419,1420,1423,1424,1428],{},[15,1421,1422],{},"Age",": While the Age field is free text, you can create a reminder after the character is created, and it can be linked to your ",[24,1425,1427],{"href":1426},"/features#calendars","fantasy calendar",", which will then show their age in relation to the ‘present’.",[1412,1430,1431,1434],{},[15,1432,1433],{},"Appearance Traits"," — keep it to one sentence; players remember \"missing left hand\" better than a paragraph",[12,1436,1437,1438,1440],{},"The ",[15,1439,1280],{}," field on Character entries works as an archival tool. Deceased NPCs keep all their Relations as historical context: a dead NPC's connections still tell the story of who they were, while someone missing might signal that they are part of the next hook.",[1159,1442,1444],{"id":1443},"deeper-connection-tools","Deeper Connection Tools",[12,1446,1447,1448,1451,1452,1455],{},"For dynasty or lineage NPCs, use ",[24,1449,1450],{"href":26},"Family entries"," with member tracking instead of just Character-to-Character Relations. Premium campaigns get ",[15,1453,1454],{},"Family Tree Visualization"," for visual genealogy mapping.",[12,1457,1458,1459,1461],{},"Individual NPC connections are the atoms of your ",[24,1460,834],{"href":26},". At scale, these connections form emergent patterns — faction alliances, regional power structures, narrative themes.",[54,1463],{},[12,1465,622,1466,628,1469,634],{},[24,1467,627],{"href":625,"rel":1468},[400],[24,1470,633],{"href":631,"rel":1471},[400],{"title":636,"searchDepth":637,"depth":637,"links":1473},[1474,1479],{"id":1081,"depth":637,"text":1082,"children":1475},[1476,1478],{"id":1161,"depth":1477,"text":1162},3,{"id":1211,"depth":1477,"text":1212},{"id":1304,"depth":637,"text":1305,"children":1480},[1481,1482,1483],{"id":1329,"depth":1477,"text":1330},{"id":1403,"depth":1477,"text":1404},{"id":1443,"depth":1477,"text":1444},"Track Characters That Actually Matter","Stop losing NPCs in scattered notes. Link every character to their location, faction, and quest so context surfaces the moment a player asks. Free, any system",{},{"title":1030,"description":1485},"learn/02.characters",[1490,1491],"characters","npcs","mlQuav-3rER_vh8okVfSLSmWk8SWIZBcqT7Wsm-UiTQ",{"id":1494,"title":291,"author":7,"body":1495,"cta":1780,"datePublished":645,"description":1781,"extension":647,"meta":1782,"navigation":649,"path":290,"seo":1783,"stem":1784,"tags":1785,"tracking":1787,"__hash__":1788},"learn/learn/03.factions.md",{"type":9,"value":1496,"toc":1774},[1497,1504,1507,1513,1517,1523,1526,1529,1532,1535,1610,1613,1616,1620,1626,1629,1632,1635,1638,1641,1649,1653,1665,1668,1681,1691,1697,1707,1717,1721,1727,1730,1752,1758,1761,1763,1766],[12,1498,1499,1500,1503],{},"You've built five factions for your campaign. Each has a founding myth, a symbol, and 300 words of ideology. Session 4, a player asks: \"What do the Iron Covenant actually ",[67,1501,1502],{},"want","?\" You open your notes. There's a detailed origin story but no current goal, no named leader, no territory they control.",[12,1505,1506],{},"The history is rich. The faction is inert.",[12,1508,1509,1510,1512],{},"This is the most common faction-building mistake in TTRPG worldbuilding: front-loading ideology while skipping the operational specifics that generate play. A faction's ",[24,1511,584],{"href":31},", its members, territory, and rivals, matter more than its backstory. This guide covers how to build factions as dynamic political actors, not just lore entries. For the broader worldbuilding framework, see Worldbuilding for Tabletop RPGs: Start Small, Build What You Need.",[93,1514,1516],{"id":1515},"what-makes-factions-playable","What Makes Factions Playable?",[12,1518,1519,1522],{},[15,1520,1521],{},"A playable faction has three elements: members the players know, territory the players can visit, and a goal that conflicts with someone else's."," Without all three, a faction is background noise. With all three, it becomes a source of quests, dilemmas, and player agency.",[12,1524,1525],{},"Think about which factions your players actually remember from past campaigns. It's rarely the one with the longest wiki entry. It's the one whose leader double-crossed them in session 7, whose headquarters they broke into, whose rival hired them for a job they later regretted.",[12,1527,1528],{},"Players don't engage with founding myths. They engage with the faction member standing in front of them, the district they're walking through, and the conflict they're asked to pick sides in.",[12,1530,1531],{},"The pattern we see in community campaigns is consistent: factions with defined connections generate narrative threads on their own. Factions with only descriptions sit untouched. A faction that \"controls the harbor and hates the crown\" gives you session material. A faction that \"was founded during the Age of Sorrow by dissidents\" gives you a history lesson nobody asked for.",[12,1533,1534],{},"Here's what every faction needs before it's ready for play:",[107,1536,1537,1549],{},[110,1538,1539],{},[113,1540,1541,1544,1547],{},[116,1542,1543],{"align":118},"Element",[116,1545,1546],{"align":118},"What It Does",[116,1548,326],{"align":118},[130,1550,1551,1565,1579,1593],{},[113,1552,1553,1559,1562],{},[135,1554,1555,1558],{"align":118},[15,1556,1557],{},"Leader"," (Character)",[135,1560,1561],{"align":118},"Gives the faction a face players can talk to, negotiate with, or betray",[135,1563,1564],{"align":118},"Commander Borg of the Iron Covenant",[113,1566,1567,1573,1576],{},[135,1568,1569,1572],{"align":118},[15,1570,1571],{},"Base"," (Location)",[135,1574,1575],{"align":118},"Grounds the faction in geography — somewhere players can go",[135,1577,1578],{"align":118},"The Ironhold, a fortress in the northern pass",[113,1580,1581,1587,1590],{},[135,1582,1583,1586],{"align":118},[15,1584,1585],{},"Rival or Ally"," (Organization)",[135,1588,1589],{"align":118},"Creates tension that generates quests without GM prompting",[135,1591,1592],{"align":118},"The Silver Accord opposes the Iron Covenant's expansion",[113,1594,1595,1600,1607],{},[135,1596,1597],{"align":118},[15,1598,1599],{},"Active Goal",[135,1601,1602,1603,1606],{"align":118},"Defines what the faction is doing ",[67,1604,1605],{},"right now",", not what it did centuries ago",[135,1608,1609],{"align":118},"\"Secure the northern trade routes before winter\"",[12,1611,1612],{},"Start with two or three factions. Not ten. Add a new faction only when your story introduces a power dynamic that existing factions can't represent. Three factions with real connections create more conflict than ten factions with lore entries.",[12,1614,1615],{},"The critical design rule: every faction's goal should conflict with at least one other faction's goal. This is the engine of political worldbuilding. If your factions can coexist peacefully, they aren't generating play.",[93,1617,1619],{"id":1618},"the-messy-scenario","The Messy Scenario",[12,1621,1622,1625],{},[15,1623,1624],{},"Let's say you've built four factions for a port city called Thornmere."," The Iron Covenant is a militaristic guild. The Silver Accord is a diplomatic council. The Crown of Thornmere is the ruling monarchy. The Dock Workers' Union controls the harbor labour force.",[12,1627,1628],{},"On paper, each has a paragraph of lore. In play, you need to answer questions fast: Who runs the Iron Covenant? Where do they operate? Who wants them gone?",[12,1630,1631],{},"In a relational system, the Organization entry for \"Iron Covenant\" answers all of this through its connections, not its description. The leader is a Character relation. The headquarters is a Location relation. The rival is an Organization relation to \"The Silver Accord.\" Four member Characters are linked with ranks. Even if the description field is sparse, the connections tell the story.",[12,1633,1634],{},"Now imagine the reverse. The Iron Covenant's entry is 500 words of history with zero connections. A player asks who leads them. You improvise a name. Next session, you forget what you said. The campaign wiki becomes unreliable. Cross-referencing breaks down. Lore consistency erodes.",[12,1636,1637],{},"The difference isn't writing quality. It's structure.",[12,1639,1640],{},"![Political faction web diagram showing four organizations with rivalry, alliance, and patronage connections in a campaign world](faction-web-diagram.svg)",[12,1642,1643,1644,1646],{},"Political faction web diagram showing four organizations with rivalry, alliance, and patronage connections in a campaign world",[788,1645],{},[67,1647,1648],{},"Four factions with defined relationships generate more conflict than ten factions with lore entries.",[93,1650,1652],{"id":1651},"wiring-factions-in-kanka","Wiring Factions in Kanka",[12,1654,1655,1664],{},[15,1656,1657,1658,1663],{},"Kanka's ",[24,1659,1662],{"href":1660,"rel":1661},"https://docs.kanka.io/en/latest/entities/organisations.html",[400],"Organization entries"," are built for exactly this kind of relational faction design."," Each Organization tracks members, ranks, territory, and inter-faction connections as structured data — not just prose.",[12,1666,1667],{},"Here's how to wire a faction into your living world:",[12,1669,1670,1673,1674,1677,1678,1680],{},[15,1671,1672],{},"Set up the Organization."," Create a new Organization entry. You can set whatever you want as the ",[15,1675,1676],{},"Organization Type",": Guild, Government, Military, Religion, Criminal, so you can filter later. Planning a heist arc? Filter for all criminal organizations in the campaign. That kind of structured lookup is where a ",[24,1679,834],{"href":26}," pays off.",[12,1682,1683,1686,1687,1690],{},[15,1684,1685],{},"Add members with ranks."," Open the ",[15,1688,1689],{},"Members"," tab and link Character entries. Assign roles and ranks: members aren't all equal, and internal hierarchy creates its own drama. A general who disagrees with the faction leader is a quest hook waiting to happen.You can also add multiple members at once, so building a faction roster is fast.",[12,1692,1693,1696],{},[15,1694,1695],{},"Link territory."," Add Relations between the Organization and Location entries. Use labels that describe the relationship: \"Headquarters,\" \"Territory,\" \"Contested Zone,\" \"Secret Safehouse.\" Now browsing the location shows which factions operate there. Browsing the faction shows where it holds power. The cross-referencing works both directions.",[12,1698,1699,1702,1703,1706],{},[15,1700,1701],{},"Define inter-faction relations."," This is the political map of your world. Add Relations between Organization entries with custom labels: \"Rival,\" \"Vassal,\" \"Trade Partner,\" \"Blood Feud,\" \"Secret Alliance.\" Use ",[15,1704,1705],{},"Colors"," to make the web scannable: red for hostile, green for allied, grey for neutral. Each relation can have its own visibility settings, so a secret alliance between the Iron Covenant and the Dock Workers' Union stays hidden from players until they discover it in play.",[12,1708,1709,1712,1713,1716],{},[15,1710,1711],{},"Use hierarchy for complex factions."," The ",[15,1714,1715],{},"Superior"," field handles factions with internal structure, a local chapter reporting to a regional command reporting to a high council. Each level is its own Organization entry with its own members, its own territory, and its own internal politics.",[93,1718,1720],{"id":1719},"start-with-three","Start With Three",[12,1722,1723,1726],{},[15,1724,1725],{},"Two or three factions with defined relationships generate enough political tension to sustain a campaign arc."," Resist the impulse to build ten factions during prep. That's worldbuilding for its own sake. Satisfying, but not what drives play.",[12,1728,1729],{},"Here's a practical framework for getting started:",[1731,1732,1733,1736,1739,1746,1749],"ol",{},[1412,1734,1735],{},"Create three Organizations with conflicting goals",[1412,1737,1738],{},"Give each faction one leader (Character), one base (Location), and one rival (Organization relation)",[1412,1740,1741,1742,1745],{},"Define the active conflict: what does each faction want ",[67,1743,1744],{},"this month",", not this century?",[1412,1747,1748],{},"Play a session. See which faction the players engage with most",[1412,1750,1751],{},"Add the fourth faction when the story demands a new power dynamic",[12,1753,1754,1755,1757],{},"The faction labels in your ",[24,1756,820],{"href":31}," are worth thinking about. \"Opposes\" is clear. \"Secret Alliance\" is a plot hook. \"Trade Dependency\" is economic pressure. \"Blood Feud\" is personal. These labels aren't just metadata  they're narrative threads your players will follow.",[12,1759,1760],{},"One more thing: keep the living world alive between sessions by updating faction goals after major story events. When the players expose that secret alliance, change the relation. When a faction leader dies, update the membership. The campaign wiki reflects the current state of play, not a snapshot from session zero.",[54,1762],{},[12,1764,1765],{},"Factions create the macro-level conflict structure for your world. The full relational web, connecting factions to their members, their territory, their rivals, and the quests that emerge from those tensions, is the complete picture. That's covered in How to Link Characters, Locations, and Plot Into a Living Web.",[12,1767,622,1768,628,1771,634],{},[24,1769,627],{"href":625,"rel":1770},[400],[24,1772,633],{"href":631,"rel":1773},[400],{"title":636,"searchDepth":637,"depth":637,"links":1775},[1776,1777,1778,1779],{"id":1515,"depth":637,"text":1516},{"id":1618,"depth":637,"text":1619},{"id":1651,"depth":637,"text":1652},{"id":1719,"depth":637,"text":1720},"Create conflict with rich factions","Factions should start fights, not just fill lore pages. Link members, territory, and rivalries into a political web your players will actually navigate",{},{"title":291,"description":1781},"learn/03.factions",[1786,1787],"organizations","factions","-a6ZFcnf58MpjVOhsreJMzbB09U0KOBqG5pBIY5xB0Y",{"id":1790,"title":568,"author":7,"body":1791,"cta":2156,"datePublished":645,"description":2157,"extension":647,"meta":2158,"navigation":649,"path":567,"seo":2159,"stem":2160,"tags":2161,"tracking":2162,"__hash__":2164},"learn/learn/04.prep.md",{"type":9,"value":1792,"toc":2144},[1793,1817,1819,1822,1825,1832,1838,1842,1848,1851,1854,1927,1930,1936,1940,1949,1959,1968,1977,1987,1992,1997,2000,2004,2010,2014,2017,2023,2026,2030,2037,2040,2043,2047,2054,2057,2061,2064,2067,2075,2078,2089,2093,2100,2103,2108,2110,2114,2120,2123,2126,2129,2138],[12,1794,1795,1797,1798,22,1800,28,1803,28,1806,28,1809,28,1812,22,1814,1816],{},[15,1796,17],{}," How to build a repeatable 30-minute session prep workflow using Kanka's dashboard, journals, and quest tracking ",[15,1799,21],{},[24,1801,1802],{"href":43},"Campaign dashboards",[24,1804,1805],{"href":47},"Session journals",[24,1807,1808],{"href":196},"Quest tracking",[24,1810,1811],{"href":1426},"Fantasy calendars",[24,1813,36],{"href":35},[15,1815,51],{}," 15 minutes to set up, then 30 minutes per session going forward",[54,1818],{},[12,1820,1821],{},"Campaign building doesn't stop after session one. Every week you sit down to prep, and every week the same thing happens: you re-read old notes trying to remember what Lord Harren promised the party, search three different docs for the name of the tavern in Ashwick, and manually check whether that side quest from session 4 ever got resolved.",[12,1823,1824],{},"The prep time isn't spent creating. It's spent searching.",[12,1826,1827,1828,1831],{},"This tutorial shows you how to set up a ",[24,1829,1830],{"href":43},"campaign dashboard"," that pre-assembles your session context, so your weekly prep starts with reviewing, not hunting.",[12,1833,1834,1835,1837],{},"If you're building your first campaign from scratch, our hub guide on ",[24,1836,700],{"href":650}," covers the foundational structure this workflow depends on.",[93,1839,1841],{"id":1840},"why-does-prep-take-so-long","Why Does Prep Take So Long?",[12,1843,1844,1847],{},[15,1845,1846],{},"Most session prep tools store your world passively, they don't surface what's relevant."," Flat notes, scattered Google Docs, and generic DM tools treat every piece of information equally. Nothing tells you which NPCs are active, which plot threads your players tugged on last week, or which faction deadline is three in-game days away.",[12,1849,1850],{},"The result? You spend 2–4 hours doing administrative recovery before you get to the creative part.",[12,1852,1853],{},"Here's what's actually happening during that time:",[107,1855,1856,1869],{},[110,1857,1858],{},[113,1859,1860,1863,1866],{},[116,1861,1862],{"align":118},"Where Prep Time Goes",[116,1864,1865],{"align":118},"What You're Doing",[116,1867,1868],{"align":118},"What a Relational System Does Instead",[130,1870,1871,1884,1898,1913],{},[113,1872,1873,1876,1879],{},[135,1874,1875],{"align":118},"Re-reading session recaps",[135,1877,1878],{"align":118},"Searching for NPC names and plot threads",[135,1880,1881,1883],{"align":118},[24,1882,266],{"href":35}," in journals auto-link every entry referenced in the recap",[113,1885,1886,1889,1892],{},[135,1887,1888],{"align":118},"Checking quest status",[135,1890,1891],{"align":118},"Opening multiple docs, scanning for updates",[135,1893,1894,1897],{"align":118},[24,1895,1896],{"href":196},"Quest entries"," with Active/Completed/Failed status, filterable in one widget",[113,1899,1900,1903,1906],{},[135,1901,1902],{"align":118},"Finding relevant locations",[135,1904,1905],{"align":118},"Browsing folders, guessing file names",[135,1907,1908,1909,1912],{"align":118},"Location ",[24,1910,1911],{"href":26},"entries"," cross-referenced to characters, quests, and events",[113,1914,1915,1918,1921],{},[135,1916,1917],{"align":118},"Tracking time-sensitive events",[135,1919,1920],{"align":118},"Maintaining a separate calendar or spreadsheet",[135,1922,1923,1926],{"align":118},[24,1924,1925],{"href":1426},"Calendar reminders"," surface upcoming events automatically",[12,1928,1929],{},"If you become overwhelmed by the process of prepping, your tools are failing you, you’re not the one failing.",[12,1931,1932,1933,1935],{},"The fix isn't \"prep less.\" It's a system where the relational web between your ",[24,1934,1911],{"href":26}," does the retrieval work for you. Every @mention you write, every quest element you link, every calendar reminder you set — that's the cross-referencing infrastructure that future prep sessions depend on.",[93,1937,1939],{"id":1938},"how-do-i-build-a-prep-dashboard","How Do I Build a Prep Dashboard?",[12,1941,1942,1945,1946,1948],{},[15,1943,1944],{},"Configure four dashboard widgets once, then use them every prep session."," Open your ",[24,1947,1830],{"href":43}," settings and add a widget.",[12,1950,1951,1954,1955,1958],{},[15,1952,1953],{},"Widget 1 — Active Quests."," Add an entry list widget filtered to your ",[15,1956,1957],{},"Status:Active"," tag. This shows every open quest. Your campaign's living table of contents — the backbone of a living world that updates as the story evolves.",[12,1960,1961,1964,1965,1967],{},[15,1962,1963],{},"Widget 2 — Seed entries."," Add an entry list widget filtered to ",[15,1966,1067],{},". These are the half-formed ideas from previous sessions, an NPC name you dropped, a rumor you improvised, a location the party asked about. Seeds are your creative backlog.",[12,1969,1970,1973,1974,1976],{},[15,1971,1972],{},"Widget 3 — Recent Sessions."," Add a journal list widget showing the last 10 ",[24,1975,275],{"href":47},". These are your prep starting point every single week.",[12,1978,1979,1982,1983,1986],{},[15,1980,1981],{},"Widget 4 — Campaign Calendar."," Add a ",[24,1984,1985],{"href":1426},"calendar widget"," showing the current in-game date with upcoming reminders. Faction deadlines, NPC birthdays, seasonal festivals, anything time-sensitive surfaces here without manual tracking.",[782,1988,1991],{"url":1989,"alt":1990,"asset":636},"images/screenshots/learn/dashboard-wireframe.png","Dashboard setup","\n\nCustomise your dashboard for session prep\n\n",[12,1993,1994],{},[67,1995,1996],{},"Four widgets. Thirty minutes. Everything you need to prep the next session is already here.",[12,1998,1999],{},"This dashboard is the single entry point for every prep session. Configure it once. The widget filters handle the rest.",[93,2001,2003],{"id":2002},"whats-the-actual-workflow","What's the Actual Workflow?",[12,2005,2006,2009],{},[15,2007,2008],{},"Five steps, same order, every week."," The first three steps are review. Only Step 4 requires creative work.",[1159,2011,2013],{"id":2012},"step-1-review-last-session-5-min","Step 1: Review Last Session (5 min)",[12,2015,2016],{},"Open the most recent journal entry on your dashboard. Read through your @mentions, they're the threads your players pulled on. Note which characters, locations, or quests got the most attention.",[12,2018,2019,2020,2022],{},"The @mentions do double duty here. Every entry name you typed with @ in last session's recap is now a live link. Click through any that seem important. The ",[24,2021,820],{"href":31}," panel shows you who's connected to what without re-reading five sessions of backstory.",[12,2024,2025],{},"Write prep notes as Articles on the relevant entries, not in a separate document. This keeps context co-located with the NPC or location it's about.",[1159,2027,2029],{"id":2028},"step-2-triage-seed-entries-5-min","Step 2: Triage Seed entries (5 min)",[12,2031,2032,2033,2036],{},"Check your ",[15,2034,2035],{},"Seed entries"," widget. For each seed, decide: expand it, archive it, or leave it for later.",[12,2038,2039],{},"If players engaged with a seed last session, flesh it out. Add 2–3 properties and one relation to another entry. A seed NPC gets a goal and a connection to a faction. A seed location gets a parent location and one notable feature.",[12,2041,2042],{},"If nobody bit? Leave it. Seeds are cheap to create and free to ignore.",[1159,2044,2046],{"id":2045},"step-3-update-active-quests-5-min","Step 3: Update Active Quests (5 min)",[12,2048,2049,2050,2053],{},"Open each active ",[24,2051,2052],{"href":196},"quest",". Update the status if the story branched. Add new quest elements, maybe the party picked up an unexpected ally, or a new location became relevant.",[12,2055,2056],{},"Check quest prerequisites. If a quest depends on something the party hasn't done yet, note it. If a quest resolved last session, mark it Completed and move on.",[1159,2058,2060],{"id":2059},"step-4-prep-the-next-scene-10-min","Step 4: Prep the Next Scene (10 min)",[12,2062,2063],{},"Based on Steps 1–3, identify the most likely next encounter. Where are the players headed? Which NPC are they likely to talk to?",[12,2065,2066],{},"Write a brief Article on the relevant location or character entry: \"What happens when the party arrives.\" Two to three sentences. A scene hook, not a full script.",[12,2068,2069,2070,2072,2073,221],{},"Create any new seed entries for NPCs or locations that might appear. Use the ",[15,2071,537],{}," (press 'N') to add them without leaving your current page. Tag them ",[15,2074,1067],{},[12,2076,2077],{},"If this step takes more than 10 minutes, be wary of overprepping. The scene hook is enough, your players will take it somewhere you didn't plan anyway.",[12,2079,2080,22,2083,2088],{},[15,2081,2082],{},"Try this now:",[24,2084,2087],{"href":2085,"rel":2086},"https://app.kanka.io/register?utm_source=learn&utm_campaign=prep",[400],"Set up a free Kanka campaign"," and build your first prep dashboard. The four-widget layout takes about 15 minutes to configure.",[1159,2090,2092],{"id":2091},"step-5-calendar-check-5-min","Step 5: Calendar Check (5 min)",[12,2094,2095,2096,2099],{},"Advance the in-game date on your ",[24,2097,2098],{"href":1426},"campaign calendar",". Check what reminders fire this session. Note any time-sensitive plot threads: a faction ultimatum expiring, a festival starting, an NPC's deadline arriving.",[12,2101,2102],{},"Link your new session journal to the current calendar date. This transforms your session recaps into chronological, cross-referenced campaign history. Six months from now, you can check the calendar to see exactly what happened on any given in-game day. That's lore consistency enforced by the system, not your memory.",[782,2104,2107],{"url":2105,"alt":2106,"asset":636},"images/screenshots/learn/dashboard-calendar-sundisk.png","Dashboard calendar widget","\n\nA calendar keeps you on top of time\n\n",[12,2109,792],{},[93,2111,2113],{"id":2112},"how-does-this-get-faster","How Does This Get Faster?",[12,2115,2116,2119],{},[15,2117,2118],{},"The workflow accelerates as your relational web grows."," By session 10, Steps 1–3 take 5 minutes total because the system surfaces everything: active quests are already filtered, seed entries are already tagged, and your journal @mentions already link to every relevant entry.",[12,2121,2122],{},"The 30 minutes is the ceiling, not the floor. A campaign with 50+ cross-referenced entries and consistent tagging makes the dashboard do most of the cognitive work.",[12,2124,2125],{},"Run this workflow the same day each week to build the habit. Sunday afternoon works for most groups. The consistency matters more than the specific day.",[12,2127,2128],{},"One more thing: the same campaign wiki that powers your prep can also serve your players between sessions — if you design the player-facing experience deliberately. That's a different workflow, and we cover it in our guide on building a campaign wiki players will actually use.",[12,2130,2131,2137],{},[24,2132,2134],{"href":2085,"rel":2133},[400],[15,2135,2136],{},"Start your free campaign →"," Unlimited entries, unlimited campaigns, no paywalls.",[12,2139,622,2140,2143],{},[24,2141,627],{"href":625,"rel":2142},[400],"!",{"title":636,"searchDepth":637,"depth":637,"links":2145},[2146,2147,2148,2155],{"id":1840,"depth":637,"text":1841},{"id":1938,"depth":637,"text":1939},{"id":2002,"depth":637,"text":2003,"children":2149},[2150,2151,2152,2153,2154],{"id":2012,"depth":1477,"text":2013},{"id":2028,"depth":1477,"text":2029},{"id":2045,"depth":1477,"text":2046},{"id":2059,"depth":1477,"text":2060},{"id":2091,"depth":1477,"text":2092},{"id":2112,"depth":637,"text":2113},"Prepping in 30 minutes","Campaign building shouldn't take your entire day. A repeatable 30 minute session prep workflow built on dashboards, quest tracking, and last week's journal",{},{"title":568,"description":2157},"learn/04.prep",[2162,2163],"prep","session","VH6j5YaMc-fLlt2P-etktS_nthc4A7pG1X9_jzXRSj8",{"id":2166,"title":393,"author":7,"body":2167,"cta":393,"datePublished":645,"description":2524,"extension":647,"meta":2525,"navigation":649,"path":392,"seo":2526,"stem":2527,"tags":2528,"tracking":2529,"__hash__":2531},"learn/learn/05.players.md",{"type":9,"value":2168,"toc":2511},[2169,2175,2178,2181,2187,2191,2197,2201,2204,2207,2211,2214,2217,2221,2224,2274,2278,2290,2294,2301,2304,2310,2320,2329,2334,2338,2345,2348,2351,2355,2358,2361,2364,2379,2383,2389,2392,2395,2467,2470,2477,2493,2496,2505],[12,2170,2171,2172,2174],{},"You've spent hours building an extensive ",[24,2173,834],{"href":26},". Fifty entries, rich descriptions, detailed session journals. Your players have never opened it.",[12,2176,2177],{},"Session 8: \"What was the name of that merchant?\" You answer from memory. \"Where did he say the artifact was?\" You answer again. \"Who hired us originally?\" You check your notes and answer a third time.",[12,2179,2180],{},"These are exactly the questions a wiki should handle. The problem isn't that your players don't care about the world. The problem is the wiki was built for you, not for them.",[12,2182,2183,2184,2186],{},"This article breaks down why players avoid campaign wikis and how to restructure yours into something they'll actually browse between sessions. If you're still setting up your campaign's foundational structure, our hub guide on ",[24,2185,700],{"href":650}," covers the groundwork this approach depends on.",[93,2188,2190],{"id":2189},"why-dont-players-use-wikis","Why Don't Players Use Wikis?",[12,2192,2193,2196],{},[15,2194,2195],{},"Players ignore wikis for three structural reasons: spoiler anxiety, GM-centric organization, and no entry point."," These are design failures, not engagement failures. Fix the structure and usage follows.",[1159,2198,2200],{"id":2199},"spoiler-anxiety","Spoiler Anxiety",[12,2202,2203],{},"If players suspect the wiki contains information their characters shouldn't know, they'll avoid the entire thing, even the safe parts. One glimpse of a villain's secret motivation or an unmarked dungeon location, and the trust is broken. Players don't want to cheat. So they stay away.",[12,2205,2206],{},"The conventional workaround \"just don't read the spoiler sections\" puts the burden on the player to navigate around hidden information. That's a design problem disguised as a discipline problem.",[1159,2208,2210],{"id":2209},"gm-centric-organization","GM-Centric Organization",[12,2212,2213],{},"Most GMs organize wikis by entry type: all characters in one list, all locations in another, all items in a third. This mirrors how the GM thinks about the world, taxonomically.",[12,2215,2216],{},"Players don't think this way. They think narratively: \"the NPC we met in that port city,\" \"the quest the guild leader gave us,\" \"the artifact from session 3.\" When the wiki is organized for a GM's mental model, finding anything requires learning the GM's filing system first.",[1159,2218,2220],{"id":2219},"no-entry-point","No Entry Point",[12,2222,2223],{},"A player opens the wiki. They see a sidebar with twelve entry modules and hundreds of entries. There's no \"start here,\" no obvious path, no hierarchy of relevance. They feel lost, close the tab, and text you instead.",[107,2225,2226,2239],{},[110,2227,2228],{},[113,2229,2230,2233,2236],{},[116,2231,2232],{"align":118},"Why Players Avoid the Wiki",[116,2234,2235],{"align":118},"What's Actually Broken",[116,2237,2238],{"align":118},"The Structural Fix",[130,2240,2241,2252,2263],{},[113,2242,2243,2246,2249],{},[135,2244,2245],{"align":118},"\"I don't want to see spoilers\"",[135,2247,2248],{"align":118},"No permission boundary between GM and player content",[135,2250,2251],{"align":118},"Per-entry and per-article visibility controls",[113,2253,2254,2257,2260],{},[135,2255,2256],{"align":118},"\"I can't find anything\"",[135,2258,2259],{"align":118},"Organized by entry type, not by narrative encounter",[135,2261,2262],{"align":118},"Player dashboard filtered by what they've discovered",[113,2264,2265,2268,2271],{},[135,2266,2267],{"align":118},"\"I don't know where to start\"",[135,2269,2270],{"align":118},"No landing page, no guided entry point",[135,2272,2273],{"align":118},"Dedicated player dashboard with curated widgets",[93,2275,2277],{"id":2276},"how-do-you-build-a-wiki-players-will-browse","How Do You Build a Wiki Players Will Browse?",[12,2279,2280,2283,2284,2289],{},[15,2281,2282],{},"Separate the player experience from the GM experience — different dashboards, different organization, different content surfaces."," The GM prep dashboard from ",[24,2285,2288],{"href":2286,"rel":2287},"http://link-to-spoke-4",[400],"your session prep workflow"," is built for efficiency. The player wiki is built for discovery.",[1159,2291,2293],{"id":2292},"build-a-player-dashboard","Build a Player Dashboard",[12,2295,2296,2297,2300],{},"If you use Premium campaigns, Kanka's ",[24,2298,2299],{"href":43},"multiple dashboard"," system lets you create a dedicated player-facing landing page,  separate from your GM prep dashboard.",[12,2302,2303],{},"Configure three widgets for the player dashboard:",[12,2305,2306,2309],{},[15,2307,2308],{},"\"NPCs You've Met\"",": An entry list widget filtered to player-visible Characters. Only characters the party has encountered appear here. As the campaign progresses, this list grows organically.",[12,2311,2312,2315,2316,2319],{},[15,2313,2314],{},"\"Places Explored\"",": A location list widget filtered to visible ",[24,2317,2318],{"href":26},"Locations",". Players see the geography they've personally discovered. Unexplored regions stay hidden.",[12,2321,2322,2325,2326,2328],{},[15,2323,2324],{},"\"Active Quests\"",": A ",[24,2327,2052],{"href":196}," list widget showing open objectives with linked NPCs, locations, and items. This is the player's campaign table of contents.",[12,2330,2331],{},[67,2332,2333],{},"Two dashboards, one wiki. GMs see the machinery; players see the world.",[1159,2335,2337],{"id":2336},"use-article-visibility-as-a-surgical-tool","Use Article Visibility as a Surgical Tool",[12,2339,2340,2341,2344],{},"This is where the ",[24,2342,2343],{"href":39},"permission system"," does the heavy lifting. A Character entry can be public, players see the NPC's name, appearance, and role. But an Article titled \"Secret Allegiance\" on that same entry stays admin-only. The player browses freely. The mystery holds.",[12,2346,2347],{},"This approach is more precise than hiding entire entries. A location can be visible with its general description public, while an Article containing \"What the GM knows about the cult hideout beneath the temple\" remains hidden. Players get the collaborative worldbuilding experience of browsing real lore without tripping over fog of war boundaries.",[12,2349,2350],{},"Write your public entry descriptions in-world where possible. \"The Iron Bazaar is Thornmere's largest market, noisy from dawn to dusk\" reads better than \"This location serves as the commercial hub for the region.\" The first version rewards the player for reading. The second reads like database documentation.",[1159,2352,2354],{"id":2353},"reveal-content-progressively","Reveal Content Progressively",[12,2356,2357],{},"The most rewarding player wiki isn't static. It grows as the campaign grows.",[12,2359,2360],{},"After a story beat where the party meets a new NPC, discovers a hidden location, completes a quest, flip the relevant Article or entry from private to public. Make this a deliberate ritual. The wiki becomes a living world record of what the party has earned through play.",[12,2362,2363],{},"This progressive reveal does three things: it rewards engagement, it gives players a reason to check the wiki after each session, and it creates a natural campaign history that tracks discovery, not just information.",[12,2365,2366,22,2368,2373,2374,2378],{},[15,2367,2082],{},[24,2369,2372],{"href":2370,"rel":2371},"https://app.kanka.io",[400],"Create a free Kanka campaign"," and set up a player dashboard alongside your GM dashboard. The permission controls work on the ",[24,2375,408],{"href":2376,"rel":2377},"https://kanka.io/pricing",[400]," — no paywall.",[93,2380,2382],{"id":2381},"how-do-you-test-the-player-experience","How Do You Test the Player Experience?",[12,2384,2385,2388],{},[15,2386,2387],{},"Log in with a player account and browse your own wiki."," Kanka's \"View As\" member switching lets you see exactly what any role sees without logging out.",[12,2390,2391],{},"Do this monthly. The test is simple: can you find a specific NPC in 3 clicks or fewer from the player dashboard? If not, reorganize.",[12,2393,2394],{},"Here's a quick audit checklist:",[107,2396,2397,2410],{},[110,2398,2399],{},[113,2400,2401,2404,2407],{},[116,2402,2403],{"align":118},"Check",[116,2405,2406],{"align":118},"What You're Looking For",[116,2408,2409],{"align":118},"Fix If It Fails",[130,2411,2412,2423,2434,2445,2456],{},[113,2413,2414,2417,2420],{},[135,2415,2416],{"align":118},"Entry point",[135,2418,2419],{"align":118},"Does the player dashboard load first?",[135,2421,2422],{"align":118},"Set player dashboard as default for the player role",[113,2424,2425,2428,2431],{},[135,2426,2427],{"align":118},"Spoiler safety",[135,2429,2430],{"align":118},"Are any private Articles visible on public entries?",[135,2432,2433],{"align":118},"Review article-level permissions on recently edited entries",[113,2435,2436,2439,2442],{},[135,2437,2438],{"align":118},"Discoverability",[135,2440,2441],{"align":118},"Can you find an NPC from 2 sessions ago in 3 clicks?",[135,2443,2444],{"align":118},"Add the character to the \"NPCs Met\" dashboard widget",[113,2446,2447,2450,2453],{},[135,2448,2449],{"align":118},"Freshness",[135,2451,2452],{"align":118},"Does the wiki reflect last session's events?",[135,2454,2455],{"align":118},"Flip newly revealed entries/articles to public after each session",[113,2457,2458,2461,2464],{},[135,2459,2460],{"align":118},"In-world voice",[135,2462,2463],{"align":118},"Do entry descriptions read as lore, not database entries?",[135,2465,2466],{"align":118},"Rewrite mechanical descriptions with in-world framing",[12,2468,2469],{},"The \"View As\" audit is where most GMs catch problems they'd never notice from the admin side. Permission inheritance can create unexpected gaps: a location is public, but its parent region is private, so the breadcrumb navigation gets hidden. Testing from the player perspective can show you what it looks like and avoid missing anything.",[12,2471,2472,2473,2476],{},"For campaigns with rotating members or open tables, ",[24,2474,2475],{"href":39},"public campaign mode"," lets prospective players browse the world overview without creating a Kanka account. Useful for West Marches-style games where the player roster shifts between sessions.",[12,2478,2479,2480,2484,2485,2488,2489,2492],{},"The session prep workflow from ",[24,2481,2483],{"href":2286,"rel":2482},[400],"Spoke 4"," keeps the GM side organized. The player wiki is the other half, making it a campaign wiki that serves both sides of the table. When the same relational structure powers your prep ",[67,2486,2487],{},"and"," your players' browsing, every @mention you write and every ",[24,2490,2491],{"href":31},"entry relation"," you create does double duty. The cross-referencing infrastructure that makes your session prep faster is the same infrastructure that makes the player wiki navigable.",[12,2494,2495],{},"That's what a living world looks like in practice — not just a world you build, but a world your players can explore on their own terms.",[12,2497,2498,2504],{},[24,2499,2501],{"href":398,"rel":2500},[400],[15,2502,2503],{},"Start building your player wiki →"," Unlimited entries, per-entry permissions, no paywalls.",[12,2506,622,2507,2143],{},[24,2508,627],{"href":2509,"rel":2510},"https://discord.gg/rhsyZJ4",[400],{"title":636,"searchDepth":637,"depth":637,"links":2512},[2513,2518,2523],{"id":2189,"depth":637,"text":2190,"children":2514},[2515,2516,2517],{"id":2199,"depth":1477,"text":2200},{"id":2209,"depth":1477,"text":2210},{"id":2219,"depth":1477,"text":2220},{"id":2276,"depth":637,"text":2277,"children":2519},[2520,2521,2522],{"id":2292,"depth":1477,"text":2293},{"id":2336,"depth":1477,"text":2337},{"id":2353,"depth":1477,"text":2354},{"id":2381,"depth":637,"text":2382},"Players remember more when they can browse between sessions. Build a campaign wiki with per entity permissions. They see their discoveries, not your secrets",{},{"title":393,"description":2524},"learn/05.players",[2529,2530],"players","wiki","aziu_CRa_Z6OkvWPEJDPulrPTR_KWbNaC2hsPpVWBCY",{"id":2533,"title":286,"author":7,"body":2534,"cta":3047,"datePublished":645,"description":3048,"extension":647,"meta":3049,"navigation":649,"path":285,"seo":3050,"stem":3051,"tags":3052,"tracking":3055,"__hash__":3056},"learn/learn/06.living-web.md",{"type":9,"value":2535,"toc":3034},[2536,2539,2548,2551,2568,2570,2574,2580,2588,2592,2595,2648,2651,2656,2663,2669,2676,2684,2686,2690,2696,2700,2703,2706,2716,2774,2779,2786,2790,2799,2805,2815,2819,2822,2825,2839,2842,2850,2852,2856,2862,2865,2942,2948,2952,2955,2958,2992,2995,3001,3018,3026],[12,2537,2538],{},"Most campaigns trail off from disconnection, not from lack of detail. You build a rich NPC profile, a detailed city description, a faction with internal politics, but none of them know about each other. You become the sole thread holding it all together. Forty sessions in, you can't remember which NPCs operate in which city or which faction controls the northern trade routes.",[12,2540,687,2541,2544,2545,2547],{},[24,2542,2543],{"href":31},"relational database"," where every character, location, and faction is a node in a web of explicit, system-tracked connections. When you write that Mira trained under Torvald, both entries update. When you ",[24,2546,924],{"href":35}," Ashenmoor in a session journal, Ashenmoor's \"Mentioned In\" list grows automatically. The web is self-documenting: every creative decision you make adds connective tissue that makes the next decision easier.",[12,2549,2550],{},"This guide covers how to build that web in Kanka from your first entry to your hundredth session.",[12,2552,2553,2555,2556,22,2558,28,2561,2564,2565,2567],{},[15,2554,17],{}," How relational connections differ from wiki links, the three-stage connection workflow, and when to stop building and start reading the web ",[15,2557,21],{},[24,2559,2560],{"href":31},"entry Relations",[24,2562,2563],{"href":35},"@Mentions",", Relation Explorer, Campaign-Wide Connections Web, entry Archiving ",[15,2566,51],{}," 15 minutes to learn, ongoing to master",[54,2569],{},[93,2571,2573],{"id":2572},"what-is-a-relational-web","What Is a Relational Web?",[12,2575,2576,2579],{},[15,2577,2578],{},"A relational web is a campaign where every entry knows about every entry it's connected to, not through your memory, but through explicit, system-tracked links."," That distinction matters. A wiki page can link to another page, but neither page \"knows\" about the connection. A spreadsheet can list NPCs and their locations in columns, but it can't show you that the blacksmith in Ashenmoor is also the secret informant mentioned in three session journals.",[12,2581,2582,2583,602,2585,2587],{},"A relational web treats your campaign as a graph. entries are nodes. ",[24,2584,584],{"href":31},[24,2586,266],{"href":35}," are edges. The power is in the edges.",[1159,2589,2591],{"id":2590},"two-layers-of-connection","Two Layers of Connection",[12,2593,2594],{},"Kanka's web operates on two distinct layers, and understanding the difference is where most worldbuilders hit their first friction point.",[107,2596,2597,2612],{},[110,2598,2599],{},[113,2600,2601,2604,2606,2609],{},[116,2602,2603],{"align":118},"Layer",[116,2605,1546],{"align":118},[116,2607,2608],{"align":118},"When to Use It",[116,2610,2611],{"align":118},"Examples",[130,2613,2614,2630],{},[113,2615,2616,2621,2624,2627],{},[135,2617,2618],{"align":118},[15,2619,2620],{},"Explicit Relations",[135,2622,2623],{"align":118},"Permanent, labeled, bidirectional connections between entries",[135,2625,2626],{"align":118},"Structural relationships that won't change session to session",[135,2628,2629],{"align":118},"\"Member Of,\" \"Birthplace,\" \"Trained By,\" \"Opposes\"",[113,2631,2632,2636,2642,2645],{},[135,2633,2634],{"align":118},[15,2635,2563],{},[135,2637,2638,2639,2641],{"align":118},"Lightweight, automatic links created whenever you type ",[269,2640,271],{}," and reference an entry in any text field",[135,2643,2644],{"align":118},"Contextual connections that accumulate naturally during play",[135,2646,2647],{"align":118},"NPC referenced in session notes, location described in a quest briefing, faction named in a character backstory",[12,2649,2650],{},"Explicit Relations are the bones. @Mentions are the muscle. Together, they create a dual-layer system where some connections are deliberately designed and others emerge organically from play.",[782,2652,2655],{"url":2653,"alt":2654,"asset":636},"images/screenshots/learn/brom-web.png","Brom's relational web","\n\nSee how elements of your worlds are interlinked with a relational web\n\n",[12,2657,2658],{},[67,2659,2660,2661,221],{},"Solid lines are the connections you design. Dotted lines are the connections that emerge from play. Together, they build a ",[24,2662,824],{"href":31},[12,2664,2665,2666,2668],{},"The practical result: prep time decreases as the web grows. After 20 sessions, browsing an NPC's relations and mentions tells you more about their narrative significance than re-reading your notes ever could. The system surfaces relevant context instead of requiring you to recall it from memory. That's ",[24,2667,1186],{"href":26}," working for you instead of against you.",[12,2670,2671,2672,2675],{},"One more thing the web gives you: ",[15,2673,2674],{},"permission-aware connections."," Some relations are public—your players see the political alliances between factions. Others are admin-only—they don't see the secret patron behind the thieves' guild. Kanka's permission chaining ensures that private entries referenced in public relations stay hidden automatically. You design the web once; the system handles who sees what.",[12,2677,2678],{},[24,2679,2681],{"href":398,"rel":2680},[400],[15,2682,2683],{},"Try building your first relational web — free, unlimited entries →",[54,2685],{},[93,2687,2689],{"id":2688},"how-do-you-build-connections","How Do You Build Connections?",[12,2691,2692,2695],{},[15,2693,2694],{},"Build connections in three stages: at creation, during play, and during review."," This isn't a one-time setup task. It's a habit that compounds over the life of your campaign.",[1159,2697,2699],{"id":2698},"stage-1-at-creation","Stage 1: At Creation",[12,2701,2702],{},"Every new entry gets one explicit Relation at birth. No exceptions.",[12,2704,2705],{},"The NPC links to a Location. The Location links to a parent region. The Organization links to a Character leader. This minimum-viable connection prevents orphan entries—nodes floating in the web with zero edges, invisible to the rest of your world.",[12,2707,2708,2709,2711,2712,2715],{},"Open ",[15,2710,537],{}," (press ",[269,2713,2714],{},"N"," from any page) to create the entry without leaving your current context. Then add one Relation before moving on.",[107,2717,2718,2730],{},[110,2719,2720],{},[113,2721,2722,2725,2728],{},[116,2723,2724],{"align":118},"entry Type",[116,2726,2727],{"align":118},"Minimum Relation at Creation",[116,2729,326],{"align":118},[130,2731,2732,2743,2753,2763],{},[113,2733,2734,2737,2740],{},[135,2735,2736],{"align":118},"Character (NPC)",[135,2738,2739],{"align":118},"Link to a Location",[135,2741,2742],{"align":118},"Mira → \"Resides In\" → Ashenmoor",[113,2744,2745,2747,2750],{},[135,2746,1356],{"align":118},[135,2748,2749],{"align":118},"Link to a parent Location",[135,2751,2752],{"align":118},"Ashenmoor → child of → The Greymarch",[113,2754,2755,2757,2760],{},[135,2756,997],{"align":118},[135,2758,2759],{"align":118},"Link to a Character leader",[135,2761,2762],{"align":118},"The Ashen Compact → \"Led By\" → Torvald",[113,2764,2765,2768,2771],{},[135,2766,2767],{"align":118},"Quest",[135,2769,2770],{"align":118},"Link to an instigator (Character or Organization)",[135,2772,2773],{"align":118},"The Stolen Ledger → \"Instigated By\" → Mira",[782,2775,2778],{"url":2776,"alt":2777,"asset":636},"images/screenshots/learn/quick-creator.png","The quick creator UI","\n\nQuickly create more content without leaving the page\n\n",[12,2780,2781,2782,2785],{},"The key constraint: ",[15,2783,2784],{},"never create a Relation you can't explain in-world."," \"Connected to\" is not a valid label. Use specific, narrative labels: \"Owes a Debt To,\" \"Trained By,\" \"Operates In.\" If you can't name the relationship in a sentence your players would understand, it doesn't belong in the web.",[1159,2787,2789],{"id":2788},"stage-2-during-play","Stage 2: During Play",[12,2791,2792,2798],{},[15,2793,2794,2795,2797],{},"@mention every entry you reference in ",[24,2796,275],{"href":47},", descriptions, and quest briefings."," This is the lowest-effort, highest-return habit in relational worldbuilding.",[12,2800,2801,2802,2804],{},"Type ",[269,2803,271],{}," in any text field. Kanka's autocomplete finds the entry. Select it. Done. The mention creates a traceable link, that entry's \"Mentioned In\" list now includes the document you're writing. You don't track this manually. The system records it.",[12,2806,2807,2808,2810,2811,2814],{},"After a dozen sessions, an NPC's \"Mentioned In\" page becomes a narrative timeline: every session journal, location description, and quest briefing where they appeared. That's ",[24,2809,1321],{"href":35}," generating ",[24,2812,2813],{"href":26},"lore consistency"," without extra work.",[1159,2816,2818],{"id":2817},"stage-3-during-review","Stage 3: During Review",[12,2820,2821],{},"Between sessions, add one or two Relations to entries that gained screen time. If a player bargained with an NPC, that NPC earns a connection to the player's character or their faction. If a location hosted a significant event, link the event to the location.",[12,2823,2824],{},"The review phase is where organic @mentions become deliberate structure. But keep it bounded:",[1409,2826,2827,2830,2833,2836],{},[1412,2828,2829],{},"Add Relations only for entries that appeared in the most recent session",[1412,2831,2832],{},"Don't retroactively connect old entries unless a plot thread specifically demands it",[1412,2834,2835],{},"Limit deliberate Relations to 3–5 per entry, the @mention layer handles the rest",[1412,2837,2838],{},"Use verb phrases for labels: \"Trained By,\" \"Opposes,\" \"Operates In\" not nouns like \"Alliance\"",[12,2840,2841],{},"In practice, most campaigns we've seen settle into a rhythm: 5 minutes of relation building after each session. That small investment compounds into a web dense enough to prep from by mid-campaign.",[12,2843,2844],{},[24,2845,2847],{"href":398,"rel":2846},[400],[15,2848,2849],{},"Start connecting your campaign entries — free, no entry limits →",[54,2851],{},[93,2853,2855],{"id":2854},"when-is-the-web-done","When Is the Web \"Done\"?",[12,2857,2858,2861],{},[15,2859,2860],{},"The web is never done and that's the point."," A relational web grows with your campaign. Expecting a finished state is like expecting a finished story before you've run session one.",[12,2863,2864],{},"Here's how the maturity curve works in practice:",[107,2866,2867,2880],{},[110,2868,2869],{},[113,2870,2871,2874,2877],{},[116,2872,2873],{"align":118},"Campaign Stage",[116,2875,2876],{"align":118},"Web State",[116,2878,2879],{"align":118},"Your Role",[130,2881,2882,2896,2910,2928],{},[113,2883,2884,2887,2890],{},[135,2885,2886],{"align":118},"Sessions 1–5",[135,2888,2889],{"align":118},"Sparse. Few Relations, scattered @mentions.",[135,2891,2892,2895],{"align":118},[15,2893,2894],{},"Builder."," Seed connections deliberately. Every entry gets its first Relation.",[113,2897,2898,2901,2904],{},[135,2899,2900],{"align":118},"Sessions 6–20",[135,2902,2903],{"align":118},"Functional. Key NPCs have 3+ Relations. @mention references accumulate.",[135,2905,2906,2909],{"align":118},[15,2907,2908],{},"Gardener."," The web grows from play documentation. Your review sessions fill structural gaps.",[113,2911,2912,2915,2922],{},[135,2913,2914],{"align":118},"Sessions 20–50",[135,2916,2917,2918,2921],{"align":118},"Dense. Browsing any entry's connections reveals ",[24,2919,2920],{"href":31},"narrative threads"," you didn't plan.",[135,2923,2924,2927],{"align":118},[15,2925,2926],{},"Reader."," The Relation Explorer becomes a prep tool. You discover plot hooks by reading the web.",[113,2929,2930,2933,2936],{},[135,2931,2932],{"align":118},"Sessions 50+",[135,2934,2935],{"align":118},"Self-sustaining. Prep consists of browsing connections and deciding which threads to pull.",[135,2937,2938,2941],{"align":118},[15,2939,2940],{},"Editor."," Prune stale connections. Archive completed storylines. The web generates story faster than you consume it.",[12,2943,2944,2945,2947],{},"The test of web maturity: can you prep a session by browsing the ",[15,2946,260],{}," alone, without re-reading old session notes? If yes, the web is doing its job.",[1159,2949,2951],{"id":2950},"keeping-the-web-healthy","Keeping the Web Healthy",[12,2953,2954],{},"The danger in long campaigns is web decay—connections that no longer serve the narrative. Dead NPCs still linked to active factions. Archived locations still appearing in relation maps. Completed quests cluttering the active entry list.",[12,2956,2957],{},"Periodic maintenance keeps the web useful:",[1409,2959,2960,2970,2976,2982],{},[1412,2961,2962,2965,2966,2969],{},[15,2963,2964],{},"Archive completed quest lines"," using Kanka's ",[15,2967,2968],{},"entry Archiving",". Archived entries keep all their Relations and @mentions as historical context, but they stop cluttering your active lists.",[1412,2971,2972,2975],{},[15,2973,2974],{},"Use Quest status tracking"," (Active / Completed / Failed) as a narrative index. Completed quests mark resolved storylines. Browse their linked entries for loose threads worth revisiting.",[1412,2977,2978,2981],{},[15,2979,2980],{},"Review the Relation Explorer quarterly"," for orphan entries (nodes with zero connections). Either connect them or archive them. Dead weight in the web makes it harder to read.",[1412,2983,2984,2987,2988,2991],{},[15,2985,2986],{},"Export your campaign"," (",[24,2989,2990],{"href":26},"JSON"," or Markdown for premium) periodically. The relational dataset is the most valuable artifact your campaign produces, back it up.",[12,2993,2994],{},"If the web ever feels overwhelming, the issue is usually tag taxonomy, not connection density. Simplify your tags, and the web becomes navigable again.",[12,2996,2997,2998,3000],{},"A sparse entry with rich relations is more useful than a detailed entry with zero connections. The connective tissue between your characters, locations, and factions is what turns a collection of notes into a ",[24,2999,824],{"href":31},", one where the system remembers what you'd otherwise forget.",[12,3002,3003,3004,3007,3008,28,3011,3014,3015,221],{},"This article is part of our ",[24,3005,3006],{"href":650},"Worldbuilding for Tabletop RPGs"," guide. For entry-specific workflows, see our guides on ",[24,3009,3010],{"href":214},"building locations",[24,3012,3013],{"href":219},"tracking NPCs",", and ",[24,3016,3017],{"href":290},"managing factions",[12,3019,3020],{},[24,3021,3023],{"href":398,"rel":3022},[400],[15,3024,3025],{},"Start building your campaign web — free, unlimited entries, full data export →",[12,3027,622,3028,628,3031,634],{},[24,3029,627],{"href":625,"rel":3030},[400],[24,3032,633],{"href":631,"rel":3033},[400],{"title":636,"searchDepth":637,"depth":637,"links":3035},[3036,3039,3044],{"id":2572,"depth":637,"text":2573,"children":3037},[3038],{"id":2590,"depth":1477,"text":2591},{"id":2688,"depth":637,"text":2689,"children":3040},[3041,3042,3043],{"id":2698,"depth":1477,"text":2699},{"id":2788,"depth":1477,"text":2789},{"id":2817,"depth":1477,"text":2818},{"id":2854,"depth":637,"text":2855,"children":3045},[3046],{"id":2950,"depth":1477,"text":2951},"Creating a living web for your world","Notes aren't worldbuilding tools. Link every NPC, location, and faction into a living web so plot threads and rivalries surface themselves between sessions",{},{"title":286,"description":3048},"learn/06.living-web",[3053,3054],"living web","relations","living-web","kplNWGc2uUA4DXKaVluSKHGZoPRs8ZPcHgU7ib7U0L4",1775837390908]