Skip to content

Notes System ​

The notes system provides an in-game notes app where players can store clues, information, and important details. Notes are written in Markdown and appear in the player's notes app.

Overview ​

The notes system allows you to:

  • Provide clues and evidence that players can reference later
  • Store important information like addresses, codes, and passwords
  • Track character details and relationships
  • Create puzzle hints and solutions
  • Build a knowledge base that grows as the scenario progresses

Directory Structure ​

Notes are stored in src/notes/ as Markdown files.

src/
└── notes/
    ├── welcome.md
    ├── secret-location.md
    ├── character-profiles.md
    └── access-codes.md

Each .md file represents one note.

Creating a Note ​

Basic Format ​

Example: src/notes/secret-location.md

markdown
#title:Secret Location

# Secret Location Discovered

You've uncovered a hidden location that might be connected to Sarah's disappearance.

## Address
**142 Riverside Drive, Unit 7B**

## Notes
- Abandoned warehouse district
- Security cameras disabled
- Multiple reports of suspicious activity
- Access code: **#7392**

**⚠️ Be careful if you decide to investigate this location.**

Initial Note Example ​

Example: src/notes/welcome.md

markdown
#initial
#title:Welcome to LeftUnread

# Welcome to LeftUnread

This is your notes app. Important information will appear here as you progress through the scenario.

## How it works

- Notes can be unlocked immediately or scheduled for later
- Use markdown for rich formatting
- Keep track of clues and important details

Stay alert and good luck!

Metadata Tags ​

All metadata tags must be placed at the top of the file, before any content. Each tag starts with # and is on its own line.

#initial ​

Purpose: Marks the note as unlocked from the start of the scenario.

Usage:

markdown
#initial
#title:Welcome to Your Notes

When to use:

  • Welcome/tutorial notes explaining the notes feature
  • Background information available from the start
  • Initial clues or starting information
  • Scenario setup or context

When to omit:

  • Notes that should be discovered during gameplay
  • Clues revealed at specific scenario moments
  • Information unlocked as rewards for player actions

#title:Note Title (Required) ​

Purpose: The title that appears in the notes list.

Usage:

markdown
#title:Secret Location
#title:Character Profiles
#title:Access Codes and Passwords
#title:Timeline of Events

Best practices:

  • Use clear, descriptive titles
  • Keep titles concise (2-5 words ideal)
  • Use title case for consistency
  • Make titles scannable and easy to find

Examples:

  • ✅ #title:Secret Location
  • ✅ #title:Sarah's Work Colleagues
  • ✅ #title:Club Neon Access Code
  • ❌ #title:note1 (not descriptive)
  • ❌ #title:This is a really long title that explains everything in detail (too long)

Unlocking Notes ​

Initial Notes ​

Notes with the #initial tag are automatically unlocked when the scenario starts:

markdown
#initial
#title:Welcome to Your Notes

This is your personal notes app. Important information will be saved here automatically as you progress through the scenario.

Use initial notes for:

  • Tutorial/welcome messages
  • Starting clues
  • Background information
  • How-to guides for players

Unlocking via Ink ​

Notes without #initial must be unlocked using the #unlockNote: tag in your Ink scripts.

Immediate unlock:

ink
I'm sending you the location now. #unlockNote:secret-location
Here are the access codes you'll need. #unlockNote:access-codes
I've added their profiles to your notes. #unlockNote:character-profiles

Delayed unlock:

ink
You'll get it soon. #unlockNote:secret-location:30s
I'll send the codes in a few minutes. #unlockNote:access-codes:5m
Check your notes in an hour. #unlockNote:investigation-summary:1h

Time units:

  • s - seconds (e.g., 30s)
  • m - minutes (e.g., 5m)
  • h - hours (e.g., 2h)

Checking if Notes are Read ​

Use external functions to check if a player has unlocked or read a note:

ink
{IsNoteRead("secret-location"):
    So you saw the location I sent you. Are you going to check it out?
- else:
    Check your notes. I sent you an important location.
}

// Check if unlocked
{IsNoteUnlocked("access-codes"):
    You have the access codes now. Use them wisely.
}

Markdown Formatting ​

Notes support full Markdown syntax for rich formatting.

Headings ​

markdown
# Main Title (H1)
## Section Heading (H2)
### Subsection (H3)

Best practice: Use H1 (#) for the main note title, H2 (##) for sections, H3 (###) for subsections.

Text Formatting ​

markdown
**Bold text** for important information
*Italic text* for emphasis
***Bold and italic*** for critical details

> Important quote or highlighted information

Lists ​

Bulleted lists:

markdown
- First clue
- Second clue
- Third clue

Numbered lists:

markdown
1. First step
2. Second step
3. Third step

Checklists (for player tracking):

markdown
- [ ] Find the warehouse
- [ ] Get the access code
- [ ] Investigate the scene
markdown
[Reference to external resource](https://example.com)

Images ​

markdown
![Map of the area](map-image.jpg)
![Suspect photo](suspect.jpg)

Note: Images must be in the src/assets/ directory.

Code/Monospace ​

Perfect for codes, passwords, and technical information:

markdown
Access code: `#7392`
Password: `SecurePass123`
Phone number: `+44 7700 900124`

Tables ​

Great for organizing information:

markdown
| Name | Role | Last Seen |
|------|------|-----------|
| Sarah | Missing Person | Friday 11:30 PM |
| Jake | Work Colleague | Friday 11:00 PM |
| Emma | Work Colleague | Friday 10:45 PM |

Horizontal Rules ​

markdown
---

Use to separate sections or create visual breaks.

Writing Effective Notes ​

Structure ​

A well-structured note typically includes:

  1. Title (#title:) - Clear, descriptive
  2. Main heading - Restate or expand on the title
  3. Key information - The most important details first
  4. Supporting details - Additional context or clues
  5. Action items - What the player should do (optional)

Example structure:

markdown
#title:Suspect Information

# Suspect: Jake Morrison

## Background
- Works with Sarah at TechCorp
- Started 6 months ago
- Known to be secretive about personal life

## Last Known Contact
- Seen with Sarah at Club Neon, Friday 11:00 PM
- Left the club alone at 11:15 PM
- Phone records show no calls after 11:00 PM

## Suspicious Details
- Lied about knowing Sarah's plans
- Security footage shows him watching Sarah
- Has access to the warehouse district

## Next Steps
- Verify his alibi for Friday night
- Check his work records
- Interview his colleagues

Note Types and Examples ​

Location Notes ​

markdown
#title:Warehouse Location

# Abandoned Warehouse - Riverside District

## Address
**142 Riverside Drive, Unit 7B**

## Access Information
- Main entrance: Padlocked (code: `#7392`)
- Side entrance: Broken window (accessible)
- Security: Cameras disabled

## Important Details
- Building abandoned for 3 years
- Previous owner: Riverside Logistics Ltd
- Recent activity reported by neighbors

## Safety Warning
⚠️ **Exercise caution.** Area is isolated and poorly lit.

Character Profiles ​

markdown
#title:Sarah's Work Colleagues

# TechCorp Colleagues

## Emma Chen
- **Role:** Senior Developer
- **Relationship:** Close friend of Sarah
- **Last Contact:** Friday 10:45 PM at Club Neon
- **Notes:** Left early, seemed worried about Sarah

## Jake Morrison
- **Role:** Project Manager
- **Relationship:** Started same time as Sarah
- **Last Contact:** Friday 11:15 PM at Club Neon
- **Notes:** Inconsistent statements about the evening

## David Park
- **Role:** Team Lead
- **Relationship:** Sarah's supervisor
- **Last Contact:** Thursday at work
- **Notes:** Confirmed Sarah seemed distracted recently

Codes and Passwords ​

markdown
#title:Access Codes

# Access Codes and Passwords

## Warehouse
- Main entrance: `#7392`
- Office door: `8451`
- Safe combination: `15-32-07`

## Digital Access
- Sarah's laptop password: `Tr4v3l2024!`
- Work email: Check with IT department
- Cloud backup: `[email protected]`

## Emergency Contacts
- Police (non-emergency): `101`
- Detective Morrison: `+44 7700 900555`
- Sarah's mother: `+44 7700 900124`

---

**Note:** Handle all access codes responsibly and only use for investigation purposes.

Timeline ​

markdown
#title:Timeline of Events

# Timeline - Sarah's Disappearance

## Friday, October 21

### Evening
- **6:00 PM** - Sarah leaves work (confirmed by security)
- **7:30 PM** - Arrives home (neighbor testimony)
- **9:00 PM** - Leaves for Club Neon (text to Alex)
- **10:30 PM** - Arrives at Club Neon (CCTV)
- **11:00 PM** - Last seen with Emma and Jake (witness)
- **11:30 PM** - Leaves club alone (CCTV)
- **11:47 PM** - Last phone activity (cell tower data)

### Late Night
- **12:00 AM** - Expected home (didn't arrive)
- **1:30 AM** - Alex tries calling (no answer)

## Saturday, October 22

### Morning
- **8:00 AM** - Family reports her missing
- **10:00 AM** - Police open investigation
- **2:00 PM** - Phone found at warehouse

---

**Last Updated:** October 23, 4:30 PM

Clues and Evidence ​

markdown
#title:Evidence Log

# Evidence Collected

## Physical Evidence

### Sarah's Phone
- **Found:** Warehouse, Unit 7B
- **Condition:** Battery dead, no visible damage
- **Last Activity:** Friday 11:47 PM
- **Notable:** Text message draft unsent

### Torn Fabric
- **Found:** Warehouse loading dock
- **Description:** Blue denim, matches Sarah's jacket
- **Significance:** Suggests struggle or hasty exit

## Digital Evidence

### Text Messages
- Draft to Alex: "Something's wrong. If you're reading this—"
- Last sent message: "On my way home" (11:30 PM)

### Photos
- Club Neon exterior (11:25 PM)
- Unknown person in background (blurry)

## Witness Statements
- Emma: "She seemed nervous all evening"
- Jake: "I left before her" (contradicts CCTV)
- Bartender: "She was looking at her phone a lot"

---

**Status:** Investigation ongoing

Puzzle Solutions ​

markdown
#title:Cipher Solution

# Decoded Message

## Original Cipher

PHHW DW PLGQLJKW


## Solution Method
Caesar cipher, shift of 3

## Decoded Message
**"MEET AT MIDNIGHT"**

## Context
- Found in Sarah's notebook
- Written the day before disappearance
- Location not specified

## Questions
- Who was she meeting?
- Where was the meeting?
- Did the meeting happen?

Writing Style ​

Be concise:

  • Get to the point quickly
  • Use bullet points for scanability
  • Highlight key information with bold or headings
  • Avoid long paragraphs

Good example:

markdown
## Key Information
- **Location:** 142 Riverside Drive
- **Access Code:** #7392
- **Danger Level:** High

Avoid:

markdown
The location that we need to investigate is at 142 Riverside Drive, and you'll need to use the access code #7392 to get in, but be careful because it might be dangerous.

Be organized:

  • Group related information together
  • Use consistent formatting throughout
  • Create clear section headings
  • Use visual hierarchy (H1 > H2 > H3)

Be actionable:

  • Include next steps when relevant
  • Highlight what the player needs to do
  • Provide context for why information matters

Formatting Tips ​

Emphasize important information:

markdown
⚠️ **WARNING:** Area may be dangerous
✅ **CONFIRMED:** Alibi checks out
❌ **UNVERIFIED:** Witness statement inconsistent
🔍 **INVESTIGATE:** Follow up on this lead

Use visual markers:

markdown
## 🔑 Key Points
- Main clue here
- Important detail here

## ⏰ Time-Sensitive
- Must be completed by midnight
- Window of opportunity closing

## 📍 Locations
- Primary: Club Neon
- Secondary: Warehouse District

Format codes and technical data:

markdown
Access code: `#7392`
Coordinates: `51.5074° N, 0.1278° W`
IP Address: `192.168.1.1`
License plate: `AB12 CDE`

Complete Examples ​

Welcome Note (Initial) ​

markdown
#initial
#title:Welcome to Your Notes

# 📝 Welcome to Your Notes

This is your personal notes app. As you investigate Sarah's disappearance, important information will be automatically saved here for your reference.

## How to Use

- **Check regularly** - New notes appear as you discover clues
- **Review carefully** - Details matter in this investigation
- **Cross-reference** - Connect information across different notes
- **Stay organized** - Notes are sorted by when you received them

## Tips for Success

1. Read all notes thoroughly
2. Look for connections between clues
3. Pay attention to inconsistencies
4. Don't ignore small details

Good luck with your investigation!

---

*This note will always be available in your notes app.*

Investigation Note ​

markdown
#title:Club Neon Investigation

# Club Neon - Investigation Notes

## Venue Information

**Address:** 142 King Street, City Centre  
**Type:** Nightclub  
**Hours:** 10 PM - 3 AM (Fri-Sat)  
**Capacity:** 300 people

## Friday Night Details

### Timeline
- **10:30 PM** - Sarah arrives (CCTV confirmed)
- **11:00 PM** - Seen with Emma and Jake at bar
- **11:15 PM** - Jake leaves alone
- **11:25 PM** - Emma leaves (taxi confirmed)
- **11:30 PM** - Sarah leaves alone (CCTV)

### Witness Accounts

**Bartender (Mike):**
> "She was on her phone a lot. Seemed distracted. Ordered two drinks all night."

**Security (Tom):**
> "She left alone. Walked toward the parking lot. Didn't see where she went after that."

**Emma Chen:**
> "She said she had a ride home arranged. Wouldn't tell me who with."

## Evidence

- CCTV footage shows unknown vehicle in parking lot
- Sarah's last text sent at 11:30 PM: "On my way home"
- Phone location data ends at 11:47 PM near warehouse district

## Questions to Answer

- [ ] Who was the arranged ride?
- [ ] Why did she go to the warehouse district?
- [ ] What happened between 11:30 PM and 11:47 PM?

## Next Steps

1. Review CCTV footage more carefully
2. Interview Jake about inconsistencies
3. Check vehicle registrations for parking lot
4. Investigate warehouse district

---

**Priority:** HIGH  
**Last Updated:** October 23, 2025

Best Practices ​

Content Strategy ​

  1. Start with a welcome note - Use #initial to introduce the feature
  2. Unlock progressively - Don't overwhelm with too many notes at once
  3. Keep notes focused - One topic per note
  4. Update when needed - Create new notes for updates rather than expecting players to re-read
  5. Make information findable - Use clear titles and organization

File Naming ​

Use descriptive, lowercase filenames with hyphens:

✅ Good:

  • welcome.md
  • secret-location.md
  • character-profiles.md
  • timeline-of-events.md

❌ Avoid:

  • note1.md
  • Important Information.md
  • secret_location.md

Organization Tips ​

Group related notes:

notes/
├── welcome.md                    # Initial
├── investigation-overview.md    # Initial
├── sarah-background.md          # Unlocked early
├── character-profiles.md        # Unlocked early
├── club-neon-details.md        # Unlocked mid-game
├── warehouse-location.md        # Unlocked mid-game
├── evidence-log.md             # Unlocked late
└── final-conclusions.md        # Unlocked at end

Use consistent formatting across all notes:

  • Same heading styles
  • Same emphasis patterns
  • Same section organization
  • Same visual markers

Testing ​

Before publishing:

  • ✅ Check #title: tag is present and descriptive
  • ✅ Verify unlock timing works correctly in your scenario
  • ✅ Test that images (if any) load properly
  • ✅ Proofread for typos and formatting errors
  • ✅ Ensure information is accurate and consistent with scenario
  • ✅ Check that notes are unlocked in logical order

Integration with Scenario ​

Referencing Notes in Conversations ​

ink
I've sent the location to your notes. #unlockNote:secret-location
Check your notes for the access code. #typing:2s

{IsNoteRead("secret-location"):
    So you saw the location. What do you think?
- else:
    Make sure you check your notes. The location is important.
}

Progressive Information Reveal ​

ink
// Early game - basic info
Here's what we know so far. #unlockNote:investigation-overview

// Mid game - specific clues
I found the warehouse location. #unlockNote:warehouse-location #delay:5s

// Late game - critical evidence
This changes everything. #unlockNote:breakthrough-evidence #delay:10s

Creating Investigation Flow ​

Scenario Start:
  - "Welcome to Your Notes" (#initial)
  - "Investigation Overview" (#initial)
  
After finding phone:
  - "Sarah's Last Messages" (unlocked via Ink)
  - "Club Neon Details" (unlocked via Ink)
  
After interviewing witnesses:
  - "Witness Statements" (unlocked via Ink)
  - "Timeline of Events" (unlocked via Ink)
  
After discovering warehouse:
  - "Warehouse Location" (unlocked via Ink)
  - "Access Codes" (unlocked via Ink)
  
Near conclusion:
  - "Evidence Summary" (unlocked via Ink)
  - "Suspect Analysis" (unlocked via Ink)

Combining with Other Systems ​

Notes + News:

ink
Breaking news about the case. #unlockNews:police-update
I've summarized the key points in your notes. #unlockNote:news-summary #delay:5s

Notes + Gallery:

ink
Here's the photo evidence. #gallery:crime-scene-photo
I've added details to your notes. #unlockNote:photo-analysis #delay:3s

Notes + Conversations:

ink
{IsNoteRead("suspect-profiles"):
    Now that you know about Jake's background, what do you think?
- else:
    Check the suspect profiles in your notes first.
}

Troubleshooting ​

Note not appearing:

  • Check filename matches the ID used in #unlockNote:
  • Verify #title: tag is present
  • Ensure file is in src/notes/ directory

Image not showing:

  • Confirm image exists in src/assets/
  • Check filename spelling and extension
  • Verify image isn't corrupted

Formatting issues:

  • Ensure #title: tag is at the top of the file
  • Check for proper Markdown syntax
  • Verify no extra spaces in tag definition

Unlock timing not working:

  • Verify time unit format (30s, 5m, 1h)
  • Check that the note ID matches exactly
  • Ensure the unlock tag is in the correct conversation

Next Steps ​

Released under the MIT License.