Briefing Docs

Assuming you've already exported a Scenario JSON file. If not, get started with the EcoKnow Creator guide by Brad.

Quick start

Each scenario is a folder inside static/scenarios/. The folder name becomes the URL slug.

A scenario folder can contain up to three data files:

FileStatusDescription
scenario.jsonRequiredThe scenario file exported from the EcoKnow Creator. Contains entities, win conditions, map grid and all game data.
briefing.yamlOptionalAdds descriptions, context and educational content. Without this, the page uses auto-generated content from the JSON.
map.csvOptionalA custom map with zone definitions. Zone names and colours are extracted and displayed on the briefing page.
*.jpg / *.pngOptionalImages referenced by info_card.image in your briefing YAML. Place them in the scenario folder.

Just the scenario file?

With just scenario.json, the briefing page automatically generates:

FeatureSourceDetails
Title & authorName, AuthorDisplayed in the header and navigation bar
Gameplay summaryRounds, ActionsPerRound, StartCurrencyAuto-generated paragraph with round, action and credit counts
Entity cardsEntities[]Icons and colours, split into "Introduce" and "Observe" groups
ObjectivesWinConditions[]Icons, thresholds and round targets from each win condition
Cover imageCoverImageBase64Displayed below the title if present in the scenario
Creator versionAppVersionShown under the scenario title

The briefing.yaml lets you override any of these defaults and add educational context that doesn't exist in the game data.

But you can go further...

Every field is optional. Add only what you need. Edit the code below to see the preview update in real time, then use the copy button to grab the YAML for your briefing file.

author_url

Makes the author name in the navigation bar a clickable link.

Created by Dr. Example
1

situation

The prose shown under "The Situation" heading. Overrides the scenario's Description field. Supports bold (**text**) and italic (*text*) markdown. Use | for multi-line text.

The Situation

A former copper mine has left behind toxic tailings that are contaminating the surrounding soil and waterways.

Your task is to use phytoremediation techniques to restore the ecosystem.

123456

gameplay_summary

A short paragraph shown below the scenario panel. Supports HTML for emphasis. If omitted, an auto-generated summary of rounds, actions and credits is shown.

You have 12 rounds to rehabilitate the mine site while keeping your budget above 2,000.

123

play

Replaces the default Copy Scenario + Launch Player flow with a single button that links to a hosted version of the game. Useful when your scenario is already running on a public URL and players don't need to load it manually. The optional label overrides the button text (defaults to "Play Scenario").

123

info_card

A highlighted card with background context. Great for explaining a key concept. The optional image field references a file in the scenario folder.

What are "Mine Tailings"?

The toxic waste material left over after the valuable metals have been extracted.

In this case, from extracting Copper Ore.

your-image.jpg
12345678

actions_intro

Introductory text shown before the entity cards. Supports markdown. A sensible default is provided if omitted.

You can introduce species into zones or harvest them to manage populations.

123

entity_descriptions

Descriptions shown on each entity card. Keys must match the entity ID from your scenario JSON exactly. Supports markdown. Without this, entity cards show with no description text.

Introduce These

Heavy Metal

Description of Heavy Metal and its role in the ecosystem.

Vetiver Grass

Description of Vetiver Grass and its role in the ecosystem.

1234567

Tip: Open your scenario.json and look at Scenario.Entities[].ID to find the exact IDs to use as keys.

objectives

Override the auto-generated objectives. If omitted, objectives are built from the scenario's WinConditions with their icons, thresholds and round requirements. Each objective can reference an entity (by ID) to inherit its icon, or specify a custom icon.

To Meet Objectives

Heavy Metal Population

Maintain a healthy population.

Keep Heavy Metal above 500 for 3 rounds

Currency

Financial Sustainability

Don't overspend on introductions.

Keep budget above 2,000 for 2 rounds

123456789

watch_out

Highlighted warnings shown in the "Watch Out For" section. Each item can reference an entity (inherits icon and name), a custom icon, or both a custom icon and name.

Watch Out For

Heavy Metal

Watch out for Heavy Metal levels getting out of control.

Currency

Overspending

Spending too much too early can leave you short on funds later.

123456

why_this_matters

Educational context shown under "Why This Matters". This is where you connect the scenario to real-world science, ecology or current events. Supports markdown.

Why This Matters

This scenario is based on real environmental challenges faced by communities near mining operations in the Philippines.

**Your decisions mirror the choices real stakeholders must make when balancing environmental restoration with limited budgets.**

12345678

further_reading

A list of external links shown as cards under "Further Reading".

1234567

Full example

Here's a complete briefing.yaml showing all fields together. Remember, every field is optional — start with just entity_descriptions and add more as needed.

author_url: https://example.com/profile

situation: |
  A former copper mine has left behind **toxic tailings**
  that are contaminating the surrounding soil and waterways.

gameplay_summary: |
  You have <strong>12 rounds</strong> to rehabilitate
  the mine site while keeping your budget healthy.

play:
  url: https://example.com/play/copper-tailings
  label: Play on EcoKnow Live

info_card:
  title: What are "Mine Tailings"?
  body: |
    The toxic waste material left over after the
    valuable metals have been extracted.

actions_intro: |
  You can **introduce** species into zones or
  **harvest** them to manage populations.

entity_descriptions:
  VetiverGrass: |
    Vetiver grass tolerates heavy metals and
    stabilises soil to prevent erosion.
  Fish: |
    Fish help filter heavy metals from water.

objectives:
  - title: Healthy Waters
    entity: Fish
    description: Ensure fish populations recover.
    goal: Keep Fish above 400 for 3 rounds

watch_out:
  - entity: HeavyMetal
    description: The toxic run off you need to clean up.
  - icon: currency
    name: Overspending
    description: Don't spend too much too early.

why_this_matters: |
  This scenario is based on real environmental challenges
  faced by communities near mining operations.

further_reading:
  - title: Phytoremediation
    description: How plants remove pollutants from soil.
    url: https://en.wikipedia.org/wiki/Phytoremediation