# The Hero's Journey (Star Wars, Harry Potter, The Hunger Games)

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0kped8000hjn06lk9xumba
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 30 steps across 4 layers
- Persona: The hero, The mentor, The villain
- Technology / systems: The world

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## The Hero's Journey (Star Wars, Harry Potter, The Hunger Games)

Lanes:
- The hero: person / role (id `hero`)
- The mentor: person / role (id `mentor`)
- The villain: person / role (id `villain`)
- The world: technology / system (id `world`)

Steps, in the order they run:

1. **The ordinary world: a farm, a cupboard, a district** [start; The world; id `j1`]
   - then Something disturbs it: a message, a letter, a reaping
2. **Something disturbs it: a message, a letter, a reaping** [task; The world; id `j2`]
   - then Accept the call?
3. **Accept the call?** [decision; The hero; id `j3`]
   - if "Yes" go to A mentor appears with a gift or training; if "No" go to Refuse: it is too scary, too far, too much
4. **A mentor appears with a gift or training** [task; The mentor; id `j4`]
   - then Cross the threshold into the unknown world
5. **Cross the threshold into the unknown world** [task; The hero; id `j5`]
   - then Tests, allies and enemies: the cantina, Diagon Alley, the training center
6. **Tests, allies and enemies: the cantina, Diagon Alley, the training center** [subprocess; The hero; id `j6`], opens the detail layer "Tests, allies and enemies"
   - then Approach the inmost cave
7. **Approach the inmost cave** [task; The hero; id `j7`]
   - then The ordeal: the hero faces death or loses the mentor
8. **The ordeal: the hero faces death or loses the mentor** [subprocess; The villain; id `j8`], opens the detail layer "The ordeal"
   - then Seize the reward: a weapon, a secret, a plan
9. **Seize the reward: a weapon, a secret, a plan** [task; The hero; id `j9`]
   - then The villain chases them down the road back
10. **The villain chases them down the road back** [task; The villain; id `j10`]
   - then The final test, a resurrection
11. **The final test, a resurrection** [subprocess; The hero; id `j11`], opens the detail layer "The final test"
   - then Does the hero win?
12. **Does the hero win?** [decision; The hero; id `j12`]
   - if "Yes" go to Return home, changed, with the elixir; if "Not yet" go to The mentor's lesson returns at the last second
13. **Return home, changed, with the elixir** [task; The hero; id `j13`]
   - then The ordinary world is better, and the hero belongs to it in a new way
14. **The ordinary world is better, and the hero belongs to it in a new way** [end; The world; id `j14`]
15. **The mentor's lesson returns at the last second** [task; The mentor; id `j12a`]
   - then Try once more with everything learned
16. **Try once more with everything learned** [task; The hero; id `j12b`]
   - then Does the hero win?
17. **Refuse: it is too scary, too far, too much** [task; The hero; id `j3a`]
   - then Tragedy forces their hand (the farm burns)
18. **Tragedy forces their hand (the farm burns)** [task; The world; id `j3b`]
   - then A mentor appears with a gift or training

```mermaid
flowchart LR
  subgraph l_hero["The hero"]
    n_j3{"Accept the call?"}
    n_j3a["Refuse: it is too scary, too far, too much"]
    n_j5["Cross the threshold into the unknown world"]
    n_j6[["Tests, allies and enemies: the cantina, Diagon Alley, the training center"]]
    n_j7["Approach the inmost cave"]
    n_j9["Seize the reward: a weapon, a secret, a plan"]
    n_j11[["The final test, a resurrection"]]
    n_j12{"Does the hero win?"}
    n_j12b["Try once more with everything learned"]
    n_j13["Return home, changed, with the elixir"]
  end
  subgraph l_mentor["The mentor"]
    n_j4["A mentor appears with a gift or training"]
    n_j12a["The mentor's lesson returns at the last second"]
  end
  subgraph l_villain["The villain"]
    n_j8[["The ordeal: the hero faces death or loses the mentor"]]
    n_j10["The villain chases them down the road back"]
  end
  subgraph l_world["The world"]
    n_j1(["The ordinary world: a farm, a cupboard, a district"])
    n_j2["Something disturbs it: a message, a letter, a reaping"]
    n_j3b["Tragedy forces their hand (the farm burns)"]
    n_j14(["The ordinary world is better, and the hero belongs to it in a new way"])
  end
  n_j1 --> n_j2
  n_j2 --> n_j3
  n_j3 -->|"Yes"| n_j4
  n_j3 -->|"No"| n_j3a
  n_j3a --> n_j3b
  n_j3b --> n_j4
  n_j4 --> n_j5
  n_j5 --> n_j6
  n_j6 --> n_j7
  n_j7 --> n_j8
  n_j8 --> n_j9
  n_j9 --> n_j10
  n_j10 --> n_j11
  n_j11 --> n_j12
  n_j12 -->|"Yes"| n_j13
  n_j12 -->|"Not yet"| n_j12a
  n_j12a --> n_j12b
  n_j12b --> n_j12
  n_j13 --> n_j14
```

### The final test (detail of step "The final test, a resurrection")

Lanes:
- The hero: person / role (id `hero`)
- The villain: person / role (id `villain`)

Steps, in the order they run:

1. **Alone against the villain** [start; The hero; id `f1`]
   - then Trust the Force, the plan or the friends
2. **Trust the Force, the plan or the friends** [task; The hero; id `f2`]
   - then The villain's weakness is exposed
3. **The villain's weakness is exposed** [task; The villain; id `f3`]
   - then The decisive move
4. **The decisive move** [end; The hero; id `f4`]

```mermaid
flowchart LR
  subgraph l_hero["The hero"]
    n_f1(["Alone against the villain"])
    n_f2["Trust the Force, the plan or the friends"]
    n_f4(["The decisive move"])
  end
  subgraph l_villain["The villain"]
    n_f3["The villain's weakness is exposed"]
  end
  n_f1 --> n_f2
  n_f2 --> n_f3
  n_f3 --> n_f4
```

### Tests, allies and enemies (detail of step "Tests, allies and enemies: the cantina, Diagon Alley, the training center")

Lanes:
- The hero: person / role (id `hero`)
- The world: technology / system (id `world`)
- The villain: person / role (id `villain`)

Steps, in the order they run:

1. **Meet a friend who is surprisingly useful** [start; The hero; id `x1`]
   - then Meet an enemy early
2. **Meet an enemy early** [task; The hero; id `x2`]
   - then A rule of the new world is learned the hard way
3. **A rule of the new world is learned the hard way** [task; The world; id `x3`]
   - then A bond forms
4. **A bond forms** [end; The hero; id `x4`]

```mermaid
flowchart LR
  subgraph l_hero["The hero"]
    n_x1(["Meet a friend who is surprisingly useful"])
    n_x2["Meet an enemy early"]
    n_x4(["A bond forms"])
  end
  subgraph l_world["The world"]
    n_x3["A rule of the new world is learned the hard way"]
  end
  n_x1 --> n_x2
  n_x2 --> n_x3
  n_x3 --> n_x4
```

### The ordeal (detail of step "The ordeal: the hero faces death or loses the mentor")

Lanes:
- The hero: person / role (id `hero`)
- The mentor: person / role (id `mentor`)

Steps, in the order they run:

1. **Everything goes wrong at once** [start; The hero; id `o1`]
   - then The mentor falls or sacrifices themselves
2. **The mentor falls or sacrifices themselves** [task; The mentor; id `o2`]
   - then Grief and doubt
3. **Grief and doubt** [task; The hero; id `o3`]
   - then A reason to keep going
4. **A reason to keep going** [end; The hero; id `o4`]

```mermaid
flowchart LR
  subgraph l_hero["The hero"]
    n_o1(["Everything goes wrong at once"])
    n_o3["Grief and doubt"]
    n_o4(["A reason to keep going"])
  end
  subgraph l_mentor["The mentor"]
    n_o2["The mentor falls or sacrifices themselves"]
  end
  n_o1 --> n_o2
  n_o2 --> n_o3
  n_o3 --> n_o4
```

## Full data (JSON)

```json
{
  "title": "The Hero's Journey (Star Wars, Harry Potter, The Hunger Games)",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "hero",
          "name": "The hero",
          "type": "person"
        },
        {
          "id": "mentor",
          "name": "The mentor",
          "type": "person"
        },
        {
          "id": "villain",
          "name": "The villain",
          "type": "person"
        },
        {
          "id": "world",
          "name": "The world",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "j1",
          "kind": "start",
          "lane": "world",
          "next": [
            {
              "to": "j2"
            }
          ],
          "uses": [],
          "label": "The ordinary world: a farm, a cupboard, a district"
        },
        {
          "id": "j2",
          "kind": "task",
          "lane": "world",
          "next": [
            {
              "to": "j3"
            }
          ],
          "uses": [],
          "label": "Something disturbs it: a message, a letter, a reaping"
        },
        {
          "id": "j3",
          "kind": "decision",
          "lane": "hero",
          "next": [
            {
              "to": "j4",
              "label": "Yes"
            },
            {
              "to": "j3a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Accept the call?"
        },
        {
          "id": "j3a",
          "kind": "task",
          "lane": "hero",
          "next": [
            {
              "to": "j3b"
            }
          ],
          "uses": [],
          "label": "Refuse: it is too scary, too far, too much"
        },
        {
          "id": "j3b",
          "kind": "task",
          "lane": "world",
          "next": [
            {
              "to": "j4"
            }
          ],
          "uses": [],
          "label": "Tragedy forces their hand (the farm burns)"
        },
        {
          "id": "j4",
          "kind": "task",
          "lane": "mentor",
          "next": [
            {
              "to": "j5"
            }
          ],
          "uses": [],
          "label": "A mentor appears with a gift or training"
        },
        {
          "id": "j5",
          "kind": "task",
          "lane": "hero",
          "next": [
            {
              "to": "j6"
            }
          ],
          "uses": [],
          "label": "Cross the threshold into the unknown world"
        },
        {
          "id": "j6",
          "kind": "subprocess",
          "lane": "hero",
          "next": [
            {
              "to": "j7"
            }
          ],
          "uses": [],
          "child": "m_tests",
          "label": "Tests, allies and enemies: the cantina, Diagon Alley, the training center"
        },
        {
          "id": "j7",
          "kind": "task",
          "lane": "hero",
          "next": [
            {
              "to": "j8"
            }
          ],
          "uses": [],
          "label": "Approach the inmost cave"
        },
        {
          "id": "j8",
          "kind": "subprocess",
          "lane": "villain",
          "next": [
            {
              "to": "j9"
            }
          ],
          "uses": [],
          "child": "m_ordeal",
          "label": "The ordeal: the hero faces death or loses the mentor"
        },
        {
          "id": "j9",
          "kind": "task",
          "lane": "hero",
          "next": [
            {
              "to": "j10"
            }
          ],
          "uses": [],
          "label": "Seize the reward: a weapon, a secret, a plan"
        },
        {
          "id": "j10",
          "kind": "task",
          "lane": "villain",
          "next": [
            {
              "to": "j11"
            }
          ],
          "uses": [],
          "label": "The villain chases them down the road back"
        },
        {
          "id": "j11",
          "kind": "subprocess",
          "lane": "hero",
          "next": [
            {
              "to": "j12"
            }
          ],
          "uses": [],
          "child": "m_final",
          "label": "The final test, a resurrection"
        },
        {
          "id": "j12",
          "kind": "decision",
          "lane": "hero",
          "next": [
            {
              "to": "j13",
              "label": "Yes"
            },
            {
              "to": "j12a",
              "label": "Not yet"
            }
          ],
          "uses": [],
          "label": "Does the hero win?"
        },
        {
          "id": "j12a",
          "kind": "task",
          "lane": "mentor",
          "next": [
            {
              "to": "j12b"
            }
          ],
          "uses": [],
          "label": "The mentor's lesson returns at the last second"
        },
        {
          "id": "j12b",
          "kind": "task",
          "lane": "hero",
          "next": [
            {
              "to": "j12"
            }
          ],
          "uses": [],
          "label": "Try once more with everything learned"
        },
        {
          "id": "j13",
          "kind": "task",
          "lane": "hero",
          "next": [
            {
              "to": "j14"
            }
          ],
          "uses": [],
          "label": "Return home, changed, with the elixir"
        },
        {
          "id": "j14",
          "kind": "end",
          "lane": "world",
          "next": [],
          "uses": [],
          "label": "The ordinary world is better, and the hero belongs to it in a new way"
        }
      ],
      "title": "The Hero's Journey (Star Wars, Harry Potter, The Hunger Games)",
      "parent": null
    },
    "m_final": {
      "id": "m_final",
      "lanes": [
        {
          "id": "hero",
          "name": "The hero",
          "type": "person"
        },
        {
          "id": "villain",
          "name": "The villain",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "f1",
          "kind": "start",
          "lane": "hero",
          "next": [
            {
              "to": "f2"
            }
          ],
          "uses": [],
          "label": "Alone against the villain"
        },
        {
          "id": "f2",
          "kind": "task",
          "lane": "hero",
          "next": [
            {
              "to": "f3"
            }
          ],
          "uses": [],
          "label": "Trust the Force, the plan or the friends"
        },
        {
          "id": "f3",
          "kind": "task",
          "lane": "villain",
          "next": [
            {
              "to": "f4"
            }
          ],
          "uses": [],
          "label": "The villain's weakness is exposed"
        },
        {
          "id": "f4",
          "kind": "end",
          "lane": "hero",
          "next": [],
          "uses": [],
          "label": "The decisive move"
        }
      ],
      "title": "The final test",
      "parent": {
        "map": "m_root",
        "step": "j11"
      }
    },
    "m_tests": {
      "id": "m_tests",
      "lanes": [
        {
          "id": "hero",
          "name": "The hero",
          "type": "person"
        },
        {
          "id": "world",
          "name": "The world",
          "type": "system"
        },
        {
          "id": "villain",
          "name": "The villain",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "x1",
          "kind": "start",
          "lane": "hero",
          "next": [
            {
              "to": "x2"
            }
          ],
          "uses": [],
          "label": "Meet a friend who is surprisingly useful"
        },
        {
          "id": "x2",
          "kind": "task",
          "lane": "hero",
          "next": [
            {
              "to": "x3"
            }
          ],
          "uses": [],
          "label": "Meet an enemy early"
        },
        {
          "id": "x3",
          "kind": "task",
          "lane": "world",
          "next": [
            {
              "to": "x4"
            }
          ],
          "uses": [],
          "label": "A rule of the new world is learned the hard way"
        },
        {
          "id": "x4",
          "kind": "end",
          "lane": "hero",
          "next": [],
          "uses": [],
          "label": "A bond forms"
        }
      ],
      "title": "Tests, allies and enemies",
      "parent": {
        "map": "m_root",
        "step": "j6"
      }
    },
    "m_ordeal": {
      "id": "m_ordeal",
      "lanes": [
        {
          "id": "hero",
          "name": "The hero",
          "type": "person"
        },
        {
          "id": "mentor",
          "name": "The mentor",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "o1",
          "kind": "start",
          "lane": "hero",
          "next": [
            {
              "to": "o2"
            }
          ],
          "uses": [],
          "label": "Everything goes wrong at once"
        },
        {
          "id": "o2",
          "kind": "task",
          "lane": "mentor",
          "next": [
            {
              "to": "o3"
            }
          ],
          "uses": [],
          "label": "The mentor falls or sacrifices themselves"
        },
        {
          "id": "o3",
          "kind": "task",
          "lane": "hero",
          "next": [
            {
              "to": "o4"
            }
          ],
          "uses": [],
          "label": "Grief and doubt"
        },
        {
          "id": "o4",
          "kind": "end",
          "lane": "hero",
          "next": [],
          "uses": [],
          "label": "A reason to keep going"
        }
      ],
      "title": "The ordeal",
      "parent": {
        "map": "m_root",
        "step": "j8"
      }
    }
  }
}
```
