Build a Horror Game Lore Bible in Notion
Design a world bible and environmental storytelling plan for a horror game.
Introduction
30 Second Summary
The best horror games don't tell you what happened. They let you piece it together through scattered notes, unsettling architecture, and details that only click on a second playthrough.
In this project, you will build a complete world bible and environmental storytelling delivery plan for your Russian asylum horror game using Notion. You'll design how players discover your story through exploration rather than exposition.
What You'll Build
A structured narrative design system in Notion with interconnected databases, boss-lore mappings, and a location-by-location plan for delivering story through the game environment.
By the end of this project, you'll have:
- A Notion world bible workspace with linked databases connecting the asylum's locations, characters, lore items, and events.
- 7 sin-boss profiles designed as lore anchors, each revealing a specific layer of the asylum's hidden truth through the Known Truth vs. Actual Truth framework.
- A complete environmental storytelling delivery map that assigns every piece of lore to a specific in-game discovery method and location, with a twist architecture that reframes the entire experience on replay.
- Secret Mission: Design a Lore Discovery Matrix proving your narrative holds together regardless of what order players find clues.
Are there any prerequisites?
You'll need a free Notion account and an existing game premise. This project assumes you already have a story concept, 7 bosses based on the 7 deadly sins, and a Russian mental health asylum setting.
Set Up Your Notion World Bible Workspace
Every detail of your horror game's story needs a home. Without a structured system, lore notes scatter across loose documents, contradictions creep in, and you lose track of which boss reveals which secret.
In this step, you'll create a dedicated Notion workspace that organizes your asylum's world into interconnected databases. By the end, you'll have a living reference system where locations, characters, lore items, and events all link to each other.
In this step, get ready to:
- Create the top-level workspace page with sub-pages for your world overview and timeline.
- Build 4 databases with custom properties tailored to your asylum horror game.
- Link all databases together using Notion's Relation property and verify the connections work.
Create the workspace structure
Your world bible is a single Notion page that contains everything about your game's narrative. Inside it, you'll create sub-pages for prose-based content and databases for structured, searchable data.
- In Notion's sidebar, click the + next to Private to create a new page.
- Title the page with your game's name followed by - World Bible (for example, Asylum of Sins - World Bible).
- Press Enter to confirm the title and enter the page.
You're now inside your world bible page. Next, create the sub-pages that will hold your narrative prose.
- Type /page and select Page from the menu that appears.
- Title this sub-page World Overview.
- Click back to your main World Bible page using the breadcrumb at the top.
- Repeat the process to create a second sub-page titled Lore Timeline.
- Click back to your main World Bible page again.
What are these sub-pages for?
World Overview is where you'll write your asylum's core premise, themes, and the Known Truth vs. Actual Truth layers in the next step.
Lore Timeline will hold the chronological history of events at the asylum, giving you a bird's-eye view of what happened and when.
Now you'll create the four databases that form the structured backbone of your world bible.
- On your World Bible page, type /database and select Database - Full page.
- Title this database Locations Database.
- Click on the default Name column header. This is already set up for you as the title of each entry.
- Click the + button to the right of the last column to add a new property.
- Add the following properties one at a time by clicking +, naming the property, and selecting the type Select or Text as noted:
What is a Notion database property?
Each column in a Notion database is a property. Properties give structure to your entries. The Select type lets you pick from a fixed set of options (like Active or Abandoned). The Text type is freeform for descriptions.
To change a property's type, click the property name, select Edit property, then Change type.
- Click back to your World Bible page using the breadcrumb.
- Type /database again and select Database - Full page.
- Title this database Characters Database.
- Add these properties:
- Click back to your World Bible page.
- Create a third database using /database and title it Lore Items Database.
- Add these properties:
- Click back to your World Bible page.
- Create a fourth database using /database and title it Events Database.
- Rename the default Name column to Event Name by clicking on it and typing the new name.
- Add these properties:
You should now see all four databases listed as sub-pages on your World Bible page, alongside World Overview and Lore Timeline.
Don't see all your databases on the World Bible page?
Make sure you're navigating back to the World Bible page (via the breadcrumb at the top) before creating each new database. If a database ended up in the wrong location, hover over it in the sidebar and drag it under your World Bible page.
help me find my databases in the Notion sidebar
Set up database relations
Right now your databases are isolated tables. Notion's Relation property lets you create clickable links between entries in different databases, so opening a location shows its connected lore items and characters in one view.
- Open your Locations Database from the World Bible page.
- Click the + to add a new property.
- Name it Lore Items Found Here (replacing the placeholder Text property you created earlier).
- Click Edit property, then select Change type.
- Search for Relation and select it.
- In the database picker that appears, search for and select Lore Items Database.
- Toggle on Show on Lore Items Database to create a two-way relation. This adds a corresponding Location Found property in the Lore Items Database automatically.
- Click Add relation.
What does a two-way relation do?
When you toggle on "Show on" the other database, changes sync both ways. If you link a lore item to the Main Hall in the Locations Database, that same connection appears on the lore item's page under its Location Found property.
This means you only need to create the link once. It shows up in both places.
Now repeat this process for the remaining relations.
- Still in the Locations Database, add another Relation property called Characters Here. Connect it to the Characters Database with the two-way toggle on.
- Open the Characters Database.
- Add a Relation property called Events Involved. Connect it to the Events Database with the two-way toggle on.
- Open the Lore Items Database.
- Add a Relation property called Reveals Event. Connect it to the Events Database with the two-way toggle on.
- Add another Relation property called Connected Characters. Connect it to the Characters Database with the two-way toggle on.
Your four databases are now interconnected. Every database can see relevant entries from the others.
Delete the placeholder Text properties
You created some properties as plain Text placeholders earlier (like Connected Characters in the Events Database). Now that you have real Relation properties doing the same job, delete the leftover Text versions by clicking the property name and selecting Delete property.
Verify the structure works
The best way to confirm your relations work is to create a test entry in each database and link them together. If you can open any entry and see its connections to other databases, your structure is solid.
- Open your Locations Database and click New to add an entry.
- Name it Main Hall.
- Set the Status property to Abandoned.
- Open your Characters Database and create a new entry.
- Name it something like Dr. Volkov (use any character name from your game concept).
- Set Alive/Dead/Unknown to Unknown.
- Open your Lore Items Database and create an entry called Intake Form #001.
- Set Type to Document and Discovery Priority to Supporting.
Now link the entries together to test the relations.
- Open the Intake Form #001 entry in the Lore Items Database.
- Click the Location Found relation property (this appeared automatically from your two-way relation).
- In the search menu that appears, select Main Hall.
- Click the Connected Characters relation property and select your character entry (Dr. Volkov or whichever name you used).
- Now navigate back to your Locations Database and open the Main Hall entry.
- Confirm that Intake Form #001 appears under the Lore Items Found Here relation property.
If you can see the linked entries appearing on both sides, your cross-database relations are working correctly.
Don't see the linked entries?
Make sure you toggled on the two-way relation ("Show on...") when you created each Relation property. If you missed it, click on the Relation property name, select Edit property, and toggle Show on [other database] to on.
Also confirm you clicked the entry name in the relation picker (not just searched for it). The entry needs a checkmark next to it to be linked.
help me fix my Notion database relations that aren't showing linked entries
Your world bible workspace is ready. You have a structured home for every piece of your asylum's narrative. Next up, you'll fill in the deep history of your asylum using the Known Truth vs. Actual Truth framework.
Build the Asylum's Deep History
Your workspace is ready. You have four linked databases and a clean structure waiting to be filled with the story that will drive your entire game.
Now comes the most important question in horror narrative design: what does the world believe happened, and what actually happened? The gap between these two versions is the engine of dread in your game. In this step, you will write both layers of your asylum's history using a technique called Known Truth vs. Actual Truth.
In this step, get ready to:
- Write the asylum's official public history (the Known Truth).
- Write the hidden real history and populate your Events Database with dual-version entries (the Actual Truth).
- Map the disparity between the two layers and define how the player moves from belief to revelation.
Write the Known Truth (the public story)
Every horror setting has a surface story. This is what the world believes, what new staff would be told on their first day, and what a Wikipedia article might say about the asylum. Think of this as the tip of the iceberg.
What is the iceberg method?
The iceberg method comes from Hemingway's writing philosophy: show only the most interesting 10% on the surface, and players will imagine the remaining 90% better than you could write it. In games, this means your Known Truth is the small visible portion. The Actual Truth is the massive hidden body beneath.
The player starts with the surface and gradually dives deeper. The horror comes from realizing how much was hidden.
- Open your World Overview page in your Notion workspace.
- Create a new heading called Known Truth.
- Below the heading, write the asylum's official, surface-level history. This is the public-facing version of events.
Your Known Truth section should answer these four questions:
- When was the asylum founded and by whom?
- What was its stated purpose?
- What does the public know about what happened there?
- Why is it closed or abandoned now (the official explanation)?
Write like an outsider
Imagine you are a journalist writing an article about this place, or a new employee reading the welcome pamphlet. Use formal, detached language. The tone should feel sterile and reassuring. That contrast will make the Actual Truth hit harder when the player uncovers it.
Write the Actual Truth (the hidden history)
Now you write the 90% below the surface. This is what was really happening behind closed doors, who the key figures truly were, and what they were really doing to the people in their care.
- Below the Known Truth section on your World Overview page, create a new heading called Actual Truth.
- Write the hidden real history here. Focus on what was going on behind closed doors, who the key figures were, and what their real motivations were.
As you write the Actual Truth, think about these questions:
- What was really going on behind closed doors?
- Who were the key figures, and what were their real motivations?
- What went wrong, and how does this connect to the 7 sins?
- What triggered the situation the player walks into?
Now bring this hidden history into your Events Database so each event is tracked with both versions of the truth.
- Open your Events Database.
- Create at least 3-5 entries for the major hidden events that shaped the asylum's real history.
- For each event, fill in the Event Name, Date, Known Version (what people think happened), and True Version (what actually happened).
- Fill in the Evidence Available and Connected Characters fields for each event as well.
Why dual versions in the database?
Tracking both the Known Version and True Version for every event gives you a built-in design tool. When you later place lore items in the game world, you can decide exactly which version (or which fragment of which version) each item reveals to the player.
This makes it easy to control pacing. Early lore items might only confirm the Known Version. Later items introduce contradictions. The player starts questioning everything they read before.
What is the Known Truth vs. Actual Truth framework?
This technique comes from world bible design for games and stories. You define what the world believes happened (the surface), then separately define what really happened (the depth). The gap between these two layers is where your narrative tension lives.
For horror specifically, this gap IS the horror. The player starts trusting the Known Truth and gradually realizes it is a constructed lie. Every crack in the official story builds dread.
Map the disparity between Known Truth and Actual Truth
You now have two layers of history written. The final piece is defining exactly how the player moves between them. This is the emotional architecture of your game's story.
- On your World Overview page, below the Actual Truth section, create a new heading called Why the Disparity Matters.
- Write 2-3 sentences explaining why the gap between the Known Truth and Actual Truth creates tension for the player.
- Below those sentences, define these three moments:
- What does the player believe at the start? (This is the Known Truth they accept without question.)
- What is the first crack in that belief? (The first moment something does not add up.)
- What is the moment the truth becomes undeniable? (The point of no return where the Known Truth fully collapses.)
Why define these three moments?
These three points map the player's emotional journey through your lore. The starting belief creates comfort. The first crack creates unease. The undeniable moment creates horror. Every lore item you design later will serve one of these three emotional functions.
Why does the gap matter more than either truth alone?
Frictional Games, the studio behind Amnesia and SOMA, developed a narrative design approach where player actions cause story to emerge during play. Their principle states that the player's thinking should shift to "doing stuff in order to make the story appear." The gap between your two truths is what motivates that shift. Players explore not to find items, but to understand what really happened.
Review your completed World Overview page. You should see three distinct sections: Known Truth at the top, Actual Truth in the middle, and Why the Disparity Matters at the bottom with your three defined moments.
Open your Events Database and confirm you have at least 3-5 entries, each with both the Known Version and True Version fields filled in. Click on any event entry and verify you can see its Connected Characters relation linking to your Characters Database.
Not sure if your dual versions are different enough?
Read your Known Version out loud, then your True Version. If the True Version only adds minor details to the Known Version, the gap is too small. The True Version should fundamentally reframe the event. A funding cut (Known) vs. a coverup of fatal experiments (True) is a meaningful gap. A budget reduction (Known) vs. a slightly larger budget reduction (True) is not.
Help me make my Known Truth and Actual Truth more distinct from each other.
You now have a layered history with real narrative depth. Next up, you will turn your 7 sin-bosses into lore anchors, each one designed to crack open a specific piece of the Actual Truth for the player.
Design the 7 Sin-Bosses as Lore Anchors
Your asylum now has two layers of history. The Known Truth gives you the surface story, and the Actual Truth gives you the horror lurking beneath it. The gap between them is your engine of dread.
Now you need a way to deliver that hidden truth to the player. Your 7 sin-bosses are not just combat encounters. Each one is a lore delivery mechanism that peels back a specific layer of the asylum's reality, teaching the player something they could not learn any other way.
In this step, get ready to:
- Create 7 boss profiles with sin mappings, asylum metaphors, and specific lore reveals.
- Design the revelation sequence that controls what the player learns and when.
- Create foreshadowing lore items for each boss and link them in your databases.
Create the boss-lore mapping
Each boss embodies a deadly sin, but the sin needs to make sense within the asylum's world. A boss representing Greed is not just "greedy" in an abstract way. They might be a doctor who exploited patients for research funding. The sin becomes a metaphor that ties directly to the Actual Truth.
- In your Notion workspace, decide where your boss profiles will live. You can either create them as entries in your Characters Database or as standalone pages linked from a new "Bosses" hub page.
- Create 7 boss entries, one for each deadly sin: Wrath, Sloth, Pride, Greed, Lust, Envy, and Gluttony.
- For each boss, define the following four elements:
Why are bosses lore anchors?
In Poppy Playtime, each creature (Huggy Wuggy, Mommy Long Legs, Catnap, The Prototype) reveals a piece of Playtime Co.'s history when the player encounters them. The boss is not just an obstacle. It is the moment the player learns something new about the world.
Your 7-sin structure naturally supports this pattern. Each sin-boss is both a metaphor and a revelation mechanism. The player walks away from every encounter understanding the asylum differently than before.
Ground the sin in the asylum
Avoid abstract sin representations. Ask yourself: "How would this sin corrupt someone who works in a mental health facility?" Sloth might be a nurse who neglected patients. Pride might be an administrator who refused to acknowledge failures. The asylum context makes generic sins feel specific and real.
Design the revelation sequence
The order in which the player encounters bosses determines the pacing of your horror. Each boss should build on what came before, escalating the player's understanding from "something feels wrong" to "everything I believed was a lie."
- Create a new page in your World Bible workspace called "Revelation Sequence".
- Assign each of your 7 bosses to one of three tiers based on what they reveal:
- Bosses 1-2: Establish that something is wrong. These encounters crack the Known Truth. The player starts to doubt the official story.
- Bosses 3-5: Reveal the scope and nature of the Actual Truth. The player now understands that something systematic was happening, not just isolated incidents.
- Bosses 6-7: Reframe everything the player thought they knew. These encounters set up the final twist by forcing the player to reconsider earlier revelations.
- For each boss in the sequence, write two lines on the Revelation Sequence page:
- What question does this boss encounter answer for the player?
- What NEW question does this encounter raise?
Why answer AND raise a question?
Each boss encounter should satisfy one piece of curiosity while creating a new one. This is what keeps the player moving forward. If a boss only answers a question, the player feels closure and might stop exploring. If it only raises questions, the player feels frustrated by a lack of progress.
The answer/question pair creates a rhythm: relief, then new tension. This is the heartbeat of horror pacing.
Connect bosses to the Lore Items Database
Players should encounter hints about a boss before they meet it. These foreshadowing items build anticipation and dread. When the player finally faces the boss, the encounter feels earned because the world has been whispering about it.
- For each of your 7 bosses, create 2-3 lore items in your Lore Items Database that serve as foreshadowing.
- Set the Type property on each lore item (Document, Recording, Environmental, or Architectural).
- Use the Connected Boss relation property to link each foreshadowing item to its boss's character entry.
- Use the Location Found relation property to link each item to the location where the player discovers it.
- Fill in the Reveals property with a short description of what this item hints at (without giving away the full boss revelation).
What makes good foreshadowing items?
Good foreshadowing is invisible on first encounter but obvious in hindsight. A patient file mentioning "unusual appetite" foreshadows a Gluttony boss without naming the sin directly. A staff memo about "missing research samples" hints at a Greed boss without explaining the full scheme.
The player should feel a chill of recognition when they encounter the boss and remember the clues they found earlier. That moment of connection is where environmental storytelling shines.
Relations not linking properly?
If your Connected Boss or Location Found relations are not showing options, make sure the boss entries exist in the Characters Database (or whichever database you chose for bosses) and that the Relation property points to the correct database. You can check this by clicking the property name and verifying the "Related to" setting.
If you created bosses as standalone pages instead of database entries, you will need to use the Characters Database relation or create a new relation pointing to your Bosses hub page's sub-pages.
Help me fix my Notion database relations for boss entries.
- Verify your work by opening any one boss entry and confirming you can see its linked foreshadowing items. Then open one of those lore items and confirm it links back to both the boss and a location.
Your 7 bosses are now fully designed as lore anchors, each one peeling back a specific layer of the asylum's hidden truth. Next, you will build the environmental storytelling delivery system that determines exactly how, where, and in what form the player discovers all of this lore.
Map the Environmental Storytelling Delivery System
Your 7 sin-bosses are now designed as lore anchors, each one unlocking a specific piece of the asylum's hidden truth.
Bosses are powerful revelation moments, but they only fire 7 times across the entire game. The rest of the player's experience happens between bosses, in the quiet moments where they explore rooms, read documents, and notice things that feel wrong. This step focuses on designing exactly how your lore reaches the player through the environment itself.
In this step, get ready to:
- Define the 5 environmental storytelling delivery methods your game uses.
- Assign a delivery type and push/pull priority to every lore item in your database.
- Design the discovery experience for at least 3 asylum locations.
Define your delivery methods
Horror games like Poppy Playtime never dump lore on the player through cutscenes or dialogue. Instead, they scatter evidence across the environment in different formats. Each format triggers a different emotional response.
You need to define the specific categories of environmental storytelling your game will use, so that every lore item in your database has a clear delivery format.
- In your Notion World Bible workspace, click the + icon next to your top-level page title in the sidebar.
- Name the new page Storytelling Methods.
- On this page, type a heading for each of the following 5 delivery method categories. Under each heading, write one sentence defining its emotional function.
Here are the 5 categories to define:
- Documents (patient files, staff memos, incident reports, letters, newspapers).
- Recordings (audio logs, CCTV footage, phone messages, PA system recordings).
- Environmental clues (bloodstains, scratches, moved furniture, locked doors, broken equipment, graffiti, personal belongings left behind).
- Architectural storytelling (room layouts that tell a story, spaces that have been modified or repurposed, contrast between public-facing areas and hidden areas, spatial disorientation).
- Behavioral traces (evidence of routines, rituals, attempts to escape, signs of struggle or compliance).
- Under each category heading, write one sentence describing what emotional response that method creates in the player.
What's an emotional function sentence?
Each delivery method does something different to the player psychologically. Documents provide factual revelation. Architectural cues create atmospheric dread without the player consciously recognizing why.
Your one-sentence description should name what the player feels or understands because of that specific format. This helps you choose the right delivery method for each lore item later.
Why these 5 categories?
These categories are drawn from how Poppy Playtime delivers its lore. VHS tapes, corporate documents, environmental evidence of experiments, architectural contrast between the public factory and hidden labs, and behavioral traces like blood and organic matter all appear across its chapters.
Your asylum setting naturally maps to the same structure. Staff memos replace corporate documents. Patient recordings replace VHS tapes. The contrast between public-facing wards and restricted wings mirrors the factory-to-lab contrast.
Assign delivery methods to lore items
Every lore item in your database needs two things: a delivery type (how the player encounters it) and a priority level (whether the player must find it or can discover it optionally).
- Switch to your Lore Items Database in the sidebar.
- Confirm that every lore item entry has its Type property filled in (Document, Recording, Environmental, or Architectural).
- Click the + button in the database header to add a new property.
- Set the property type to Select.
- Name the property Push/Pull.
- Add two options: Push and Pull.
What is push/pull narrative balance?
Push items are things the player MUST encounter to progress. They sit on critical paths and carry essential revelations. Pull items are things the player discovers through exploration. They sit off the main path and reward curiosity.
Aim for approximately 30% Push (essential, unmissable) and 70% Pull (discoverable through exploration). This balance ensures players who rush still understand the story, while players who explore deeply experience the full iceberg.
- Go through each lore item entry and assign it either Push or Pull in the new property.
- For Push items, ask yourself: "If the player misses this, will the story stop making sense?" If yes, it is Push.
- For Pull items, ask: "Does this add richness and reward curiosity, but the story still works without it?" If yes, it is Pull.
- Check your ratio. Roughly 30% of your items should be Push and 70% should be Pull.
Use Notion's filter to check your ratio
Click Filter at the top of your database view, then filter by Push/Pull to quickly count how many items fall into each category. Adjust if the balance feels off.
Create a location-by-location delivery map
Each location in your asylum is not just a backdrop. It is a narrative experience with its own arc. The player's understanding should shift from the moment they enter a space to the moment they leave it.
Why design discovery by location?
Mob Entertainment (the studio behind Poppy Playtime) designs locations starting with story and theme. They ask what a space meant before everything went wrong, then layer in the distortion. This creates a contrast the player feels even before they consciously understand it.
Your asylum locations work the same way. A therapy room that was meant to heal becomes horrifying when the player notices the restraints, the scratches on the walls, and the locked door from the outside.
- Switch to your Locations Database in the sidebar.
- Open at least 3 location entries that have lore items connected to them.
- In each location entry, scroll below the existing properties and type a heading called Discovery Design.
Under each Discovery Design heading, answer the following 4 questions:
- What does the player see/feel immediately upon entering? This covers architectural storytelling and atmosphere. What is the first impression the room gives?
- What do they find if they look around? This covers environmental clues and surface-level documents. Things a curious player finds with minimal effort.
- What do they find if they explore deeply? This covers hidden recordings, behavioral traces, and items tucked behind or under things. Rewards for thorough exploration.
- What is the emotional arc of this space? How does the player's understanding shift from entering to leaving? Name the emotion they arrive with and the emotion they leave with.
- Write 2-4 sentences for each question, referencing the specific lore items connected to that location.
- Repeat this process for at least 3 locations total.
Pick locations with the most lore items first
Start with the 3 locations that have the most connected lore items. These are your richest narrative spaces and will give you the best practice designing discovery layers. You can come back and fill in the remaining locations later.
What makes a good emotional arc?
A well-designed space does not just contain lore. It transforms the player's emotional state. For example, a player might enter a children's ward feeling uneasy curiosity, notice the cheerful wall paintings, then find a hidden observation room behind the mirror. They leave feeling violated on behalf of the patients.
The arc works because each discovery layer peels back another level of the location's truth. Surface beauty, then wrongness, then horror.
Your environmental storytelling system is now designed. Every lore item has a delivery format and priority, and your key locations have layered discovery experiences planned. Next up, you will architect the twist that makes all of this lore converge into a single devastating revelation.
Plan the Twist Reveal Architecture
Your environmental storytelling system is mapped. Every location has a discovery design, every lore item has a delivery method, and the push/pull balance ensures players experience a coherent story regardless of how deeply they explore.
Now it is time to architect the moment everything clicks. A great twist does not just surprise the player. It reframes everything they already experienced, making them see earlier moments in a completely new light.
In this step, get ready to:
- Define your twist mechanics using The Twist, The Setup, and The Reframe structure.
- Tag every lore item with its twist function to ensure proper foreshadowing balance.
- Write a retrospective test proving your twist enriches the second playthrough.
Define the twist mechanics
The power of a twist is not in the surprise itself. It is in the reframe. Once the player knows the truth, earlier moments that seemed innocent should suddenly feel loaded with meaning.
- In your Notion workspace, create a new page inside your World Bible called Twist Architecture.
- At the top of this page, create a section called The Twist.
- Write one single sentence stating what the player learns at the very end of the game. This is the core revelation your entire lore system builds toward.
- Below that, create a section called The Setup.
- Write a paragraph describing what the player THINKS is true throughout the game. This is the false belief the twist will shatter.
- Below The Setup, create a section called The Reframe.
- List 5-7 specific earlier moments, lore items, or boss encounters that take on completely new meaning once the twist is known.
What makes a strong Reframe entry?
Each entry in The Reframe should name a specific moment from your game (a lore item, a boss encounter, an environmental detail) and explain what it means BEFORE the twist versus what it means AFTER the twist.
For example, a patient intake form that seemed like routine paperwork might actually be evidence of something far more sinister once the player understands the asylum's true purpose. The stronger the contrast between the innocent reading and the horrifying reading, the more powerful your twist becomes.
Draw from your existing work
Your Revelation Sequence page and boss entries already define what gets revealed and when. Reference those directly in your Reframe list. The best reframe moments come from things the player encountered early (Bosses 1-2) that seemed straightforward at the time.
Plant the seeds in your Lore Items Database
Your lore items already have types, priorities, and push/pull designations. Now you need to tag each one with its function in relation to the twist. This ensures you have a deliberate balance of misdirection and foreshadowing.
- Open your Lore Items Database in your Notion workspace.
- Click the + button in the database header to add a new property.
- Set the property type to Select.
- Name the property Twist Function.
- Add four select options: Setup, Red Herring, Seed, and None.
What do these Twist Function categories mean?
- Setup items establish the false belief the twist will shatter. They make the player confident in the wrong story.
- Red Herring items misdirect the player away from the truth. They point toward a plausible but incorrect explanation.
- Seed items hint at the truth in retrospect. They seem innocuous on first encounter but become evidence once the twist is known.
- None items serve atmosphere or gameplay purposes without directly supporting or contradicting the twist.
- Go through every entry in your Lore Items Database and assign a Twist Function value to each one.
- Check your balance. Too many Seeds and the twist becomes predictable. Too few and it feels unearned.
- Use the Filter button in your database to view items by each Twist Function category. Confirm you have a mix across all four types.
Aim for a healthy distribution
A good starting point is roughly equal numbers of Setup and Seed items, with fewer Red Herrings. If every item is a Seed, the player will guess the twist too early. If every item is Setup, the twist will feel like a betrayal rather than a revelation.
Write the retrospective test
Games like SOMA, Bioshock, and Poppy Playtime are designed so that a second playthrough recontextualizes early moments. This is the hallmark of a well-planted twist versus one that is merely surprising.
- On your Twist Architecture page, create a new section at the bottom called The Second Playthrough Test.
- Write a paragraph describing what a player experiences if they play your game again knowing the twist.
- Identify at least 3 specific moments that transform on replay. For each one, name the moment and explain how it feels different the second time.
What counts as a moment that transforms?
Focus on moments where the player's emotional response completely changes. A lore item that felt like routine worldbuilding on the first playthrough might feel like a confession on the second. A boss encounter that seemed like a punishment might feel like a mercy.
Pull these moments from your Reframe list above and from lore items you tagged as Seeds. These are your strongest candidates because they were specifically designed to carry dual meaning.
- Review your 3 moments. If any of them rely on the player having found a specific optional (Pull) item, note that dependency. A great twist transforms even the critical path, not just hidden content.
Struggling to find 3 moments that transform?
If your earlier moments do not feel different after the twist, your twist may be too disconnected from the rest of the game. Go back to The Reframe section and check whether your 5-7 listed moments genuinely carry dual meaning. If they do not, consider adjusting your twist to connect more directly with the lore you have already built.
Help me figure out why my twist doesn't recontextualize earlier moments.
Confirm that your Twist Architecture page has all four sections complete: The Twist, The Setup, The Reframe (5-7 moments), and The Second Playthrough Test (3+ transforming moments).
Also confirm your Lore Items Database now shows the Twist Function property on every entry with a balanced distribution across Setup, Red Herring, Seed, and None.
Secret mission
Design a Lore Discovery Matrix
Players don't experience your game in a fixed order. They explore, backtrack, miss things, and find items out of sequence. Can your lore hold together no matter what path a player takes through your asylum?
Clean Up Your Resources
Clean Up Your Resources
This project runs entirely on Notion's Free plan, so there are no ongoing costs or paid resources to worry about.
Decide whether to keep your world bible workspace as-is, or remove it if you no longer need it.
Resources you used:
- Notion World Bible workspace (top-level page with all sub-pages and 4 linked databases).
Keep everything running
No action needed. Choose this if you are still actively building your game's narrative design or plan to expand the world bible further.
- Your Notion workspace stays on the Free plan with no charges.
- All pages, databases, and relations remain intact and editable.
Pause - I'll come back to this later
Since Notion is free and cloud-hosted, there is nothing to shut down or pause. Your workspace persists indefinitely at no cost.
- Your pages and databases will be exactly as you left them whenever you return.
- No running processes or active resources to stop.
Delete - I don't want to use this again
Remove all project resources if you want a clean slate.
- In Notion, navigate to your top-level World Bible page.
- Click the three-dot menu (•••) in the top-right corner of the page.
- Select Move to Trash.
- This deletes the top-level page and all nested sub-pages, including your 4 databases and every entry within them.
- To permanently remove the content, open Trash from the left sidebar and click Delete permanently on the World Bible page.
Nice Work!
Nice Work!
You just built a professional-quality narrative design system for your Russian asylum horror game. Your world bible, lore delivery plan, and twist architecture form the foundation for every piece of storytelling your player will experience.
Here's what you accomplished:
- Built a structured Notion world bible workspace with 4 interconnected databases (Locations, Characters, Lore Items, Events) linked by relations, creating a living design document for your entire game.
- Designed 7 sin-boss profiles that each function as lore anchors, revealing specific pieces of the asylum's hidden truth through a carefully sequenced revelation progression.
- Mapped a complete environmental storytelling delivery system with defined methods, push/pull balance, and location-by-location discovery design showing how players uncover your story through exploration.
- Secret Mission: Designed a Lore Discovery Matrix proving your narrative works across multiple player paths and discovery orders.
Ready to quiz yourself?