Skip to content

Flowchart analysis

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 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

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.

In the screenshot above, notice how the example's main flowchart consists mostly of elements linked together with arrow connections. You design your story so it progresses from element to element, as the player clicks on options.

Screenshot of Arcweave's UI focusing on two connections with labels, which have been highlighted in orange rectangles.

Connections can have 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. Connection labels can include.

Both elements and connection labels can include 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 segment0s containing arcscript code embedded in elements and connections.

Attached assets

Assets 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, when each element loads.

Images

In The Castle, many elements have an attached image asset that serves as a cover: 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.

Audio

Some elements can also include one or more audio assets. 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.

Video

Finally, instead of an image, you can attach a video asset to an element. The video occupies the same area an image would and begins playing when the element loads in Play Mode.

Settings panel for a video asset attached to an Arcweave element. The video shows two oxen and is attributed to Matthias Groeneveld from Pixabay.

Attached components

Elements can also take 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.

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.

When opening a component for editing, you can also add and edit its attributes.

✅ Components can be very useful when integrating Arcweave with game engines.

Jumpers

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.

In the screenshot above, the jumper sends the flow to an element that is in the board Crusader Dialogue, as shown on the sidebar.

Branches

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.

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."

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