# Flowchart analysis

Source: https://docs.arcweave.com/introduction/quick-tour/flowchart
Section: Introduction > Quick tour
Description: How Arcweave flowcharts work, with elements & attachments, connections, jumpers, and branches

The heart of any Arcweave project is its **flowchart**, a visual representation of your story, with its branching flow, player choices, and logic. [Play Mode](https://docs.arcweave.com/introduction/quick-tour/play-mode) follows the structure of your flowchart and lets you prototype your project as a choice-based game.

This section walks you through the key building blocks of the flowchart using _The Castle,_ the built-in example project in Arcweave.

## Elements & connections

Context: Arcweave docs > Introduction > Quick tour > Flowchart analysis > Elements & connections

![Screenshot of Arcweave's UI demonstrating the example project's flowchart composed of story elements connected with connections. The elements are highlighted in orange rectangles.](https://docs.arcweave.com/assets/castle-elements.BNOtGi5V.png)

In the screenshot above, notice how the example's main flowchart consists mostly of [elements](https://docs.arcweave.com/project-items/elements) linked together with arrow [connections](https://docs.arcweave.com/project-items/connections). You design your story so it progresses from element to element, as the player clicks on **options**.

> ✅ You can use **keyboard shortcuts** to [navigate your project](https://docs.arcweave.com/project-tools/interface/keyboard-shortcuts#navigation-view) and [create connected elements](https://docs.arcweave.com/project-tools/interface/keyboard-shortcuts#element-creation-connection).

![Screenshot of Arcweave's UI focusing on two connections with labels, which have been highlighted in orange rectangles.](https://docs.arcweave.com/assets/castle-connection-labels.CE8hBUfX.png)

Connections can have [labels](https://docs.arcweave.com/project-items/labels), as shown in the screenshot above. It is not mandatory, but it is the best way to write clear text for the player's options.

Both elements and connection labels can include [Arcscript](https://docs.arcweave.com/project-items/arcscript). Don't be surprised if you come across snippets of code, like the examples shown in the image below.

![Screenshot of Arcweave's UI demonstrating segments containing Arcscript code embedded in elements and connections.](https://docs.arcweave.com/assets/arcscript-segments.C7DrAHW_.png)

## Attached assets

Context: Arcweave docs > Introduction > Quick tour > Flowchart analysis > Attached assets

[Assets](https://docs.arcweave.com/project-items/assets/overview) allow you to prototype the interactive experience with rich audiovisual feedback. By attaching **images**, **audio**, and **video assets** to your flowchart's elements, they appear in [Play Mode](https://docs.arcweave.com/introduction/quick-tour/play-mode), when each element loads.

### Images

Context: Arcweave docs > Introduction > Quick tour > Flowchart analysis > Attached assets > Images

In _The Castle,_ many elements have an attached [image asset](https://docs.arcweave.com/project-items/assets/images) that serves as a [cover](https://docs.arcweave.com/project-items/elements#element-covers): a visual that spans the full width of the element, helping set the tone or context, as shown in the screenshot below.

![Screenshot of Arcweave's UI demonstrating an element with an image asset attached as its cover.](https://docs.arcweave.com/assets/castle-element-cover.BkZZOA6K.png)

### Audio

Context: Arcweave docs > Introduction > Quick tour > Flowchart analysis > Attached assets > Audio

Some elements can also include one or more [audio assets](https://docs.arcweave.com/project-items/assets/audio). These may be music clips, ambience tracks, or sound effects that play or stop when the flow reaches the element.

![Screenshot of Arcweave's UI demonstrating two elements with attached audio assets. The attached audio assets appear as a list at the bottom of each element.](https://docs.arcweave.com/assets/castle-element-audio.BKkOTOdh.png)

### Video

Context: Arcweave docs > Introduction > Quick tour > Flowchart analysis > Attached assets > Video

Finally, instead of an image, you can attach a [video asset](https://docs.arcweave.com/project-items/assets/video) to an element. The video occupies the same area an image would and, by default, begins playing when the element loads in Play Mode. You can change this in the video's [playback settings](https://docs.arcweave.com/project-items/assets/video#playback-behavior).

![Settings panel for a video asset attached to an Arcweave element. The video shows two oxen and is attributed to Matthias Groeneveld from Pixabay.](https://docs.arcweave.com/assets/assets-video-settings.D8zqS1lH.png)

## Attached components

Context: Arcweave docs > Introduction > Quick tour > Flowchart analysis > Attached components

Elements can also take [components](https://docs.arcweave.com/project-items/components) as attachments. Components are great for keeping information about your story objects organized.

![Screenshot of Arcweave's UI demonstrating a component attached to an element.](https://docs.arcweave.com/assets/castle-attached-component.BvVG52VX.png)

In the screenshot above, the attached component represents one of the story's characters. Click the component to open it.

![Screenshot of Arcweave's UI demonstrating an opened component showing detailed information about a story character.](https://docs.arcweave.com/assets/castle-component.kRnEn2wd.png)

When opening a component for editing, you can also add and edit its [attributes](https://docs.arcweave.com/project-items/attributes).

> ✅ Components can be very useful when [integrating](https://docs.arcweave.com/integrations/overview) Arcweave with game engines.

## Jumpers

Context: Arcweave docs > Introduction > Quick tour > Flowchart analysis > Jumpers

[Jumpers](https://docs.arcweave.com/project-items/jumpers) let you connect elements that are either on different boards or too far apart on the same board. Use them to keep your flowchart tidy and easy to follow.

![Screenshot of Arcweave's UI demonstrating a jumper in the board, highlighting it in an orange rectangle. Two orange arrows indicate the destination board and the jumper's target element, in the UI's left sidebar.](https://docs.arcweave.com/assets/intro-jumpers.CLNFicYh.png)

In the screenshot above, the jumper sends the flow to an element that is in the board Crusader Dialogue, as shown on the [sidebar](https://docs.arcweave.com/introduction/quick-tour/ui#left-sidebar).

## Branches

Context: Arcweave docs > Introduction > Quick tour > Flowchart analysis > Branches

[Branches](https://docs.arcweave.com/project-items/branches) add logic to your flow. They route the story based on conditions using `if`, `elseif`, and `else`. This makes your narrative responsive to player actions or [variables](https://docs.arcweave.com/project-items/variables/overview).

![Screenshot of Arcweave's UI demonstrating a branch using if and else blocks. The branch comes after the element where the Crusader character tells the player "Only he who knows my name shall pass." The branch checks the condition "if the player has examined the painting."](https://docs.arcweave.com/assets/intro-branches.DnN04Vef.png)

The screenshot above shows a branch in the example project, which includes an `if` and an `else` condition.
