-
Notifications
You must be signed in to change notification settings - Fork 41
Quick Start Guide
Howdy!
This brief document only covers the basics of Arrow usage. For more information, please read other pages of the wiki as well.
Arrow welcomes you with a unsaved project, every time you open it.
To have a new project, you just need to save that untitled project, by
pressing the Save
button on the title-bar or via
Inspector (panel) > Project (tab) > New (menu button) > Save Current and Continue
.
You'll be asked for a title and a file (name.)
Arrow comes with an exported demo project file called demo.arrow-project.json
.
As the name suggests, this file is a demonstration of all the Arrow's built-in node-types. The project can serve you as an interactive walkthrough.
You can open that file to play and edit via:
Inspector (panel) > Project (tab) > New (menu button) > Import Project File
Arrow keeps all the projects in a single work directory.
This directory is by default user://
or the platform-specific directory for the user local data.
You can change work directory from Preferences
panel.
Press the Arrow
menu button on the top-left corner and select Preferences
.
Changing work directory won't move your project files, and if you save an open project, after change in the work directory path it will be regarded as a new project.
Projects are saved with .arrow-project
file extension.
Since Arrow v1.0.1, users can choose
whether saved data shall be formatted as textual (JSON) or binary (Godot variants),
via the Preferences
panel.
The default is textual.
File extension remains the same.arrow-project
and Arrow auto-detects them.
Right Click on the Grid, to insert new nodes. From this popup menu you can also copy, cut, paste or delete selected nodes.
Right clicking on the nodes won't select or deselect them. It's considered as a normal right click on the grid.
You can change play/execution order of nodes by connecting their slots (small circles attached to them.)
Position of nodes on the Grid won't affect the order of execution.
To change how a node behaves, and its parameters, you can open a node in the Node tab of the Inspector panel by
- Double Clicking on a Node
- or just select one if
Auto-Inspection
(quick preference) is on.
The parameters you can modify depends on type of the node; yet there are few common parameters:
- UID: Name of the node which is editable but shall be unique throughout the project.
- Node Notes: The arbitrary metadata you may add to any node (e.g. ToDo or Dev Notes.)
- Skip: Deactivates the node without removing it.
Behavior of skipped nodes depend on their types.
Nodes shall be updated in order to keep changes, otherwise when you inspect another node, the changes are gone.
Since Arrow v1.1.0, thanks to the Quick preference Auto-Node-Update
(which is active by default,)
inspected nodes get updated automatically
when user inspects another node
or deselects the current one by clicking on the grid or multiple selection.
Note! Reselecting the same node will reset parameters to the last updated state.
Updating nodes changes in-memory data, to save them permanently, save the project.
Some node-types such as User_Input
or Dialog
need a Variable
or a Character
, to work properly.
To make them, switch to the respective tab in the Inspector
panel.
You may need to use arrow buttons on the top-right corner of the panel to move the tabs into view.
Then create a new
entity.
Note that any change in the created variables or characters need to be set
to be updated in memory.
To expose a variable in content-oriented node-types including Dialog
, Interaction
, Content
, etc.
place the variable name in curly brackets (e.g. {HERO_NAME}
.)
The Arrow console and compatible runtimes will replace it with current value of the variable.
Arrow currently doesn't support continuous history (Ctrl+Z.)
We have Snapshots
and Node Modification History
.
A snapshot of a project or a snapshot of another snapshot,
can be taken, previewed or restored as the main working draft,
in the Project
tab of the Inspector
.
Snapshots can be edited in the preview mode but changes are volatile unless stored by taking another snapshot of the edited snapshot.
Snapshots are not currently saved with the project, but you can
preview
then save them as a copy viaInspector > Project > Export
Save a Copy
function always saves what is loaded in the editor, whether it's the main working draft or a previewed snapshot.
Since v1.1.0 and introduction of Auto-Node-Update
we also have Node Modification History
.
Arrow keeps track of the latest changes so if user deselects a node accidentally and gets an auto-update, the previously set (right) parameters won't be lost. You can restore history points using the back and fore buttons adjacent to the reset button of the node inspector.
You can use the Console
panel to test-play your creation without exporting it.
There are few buttons on the top-right corner of the editor which open console
and play from a special starting point.
PE
plays from the project's entry node.
PS
plays from the open scene's entry node.
CL
just re-opens the Console in whatever state it was.
PN
plays from the selected node without clearing the console,
so you can play in any order you like on the same set of variable values.
Console keeps the changes made in the variables while it's not cleared. You can also manually modify variables from the console via
Console > Settings > Inspect Variables
.
Test-playing in the Console
will not change your project data,
so play with ease of mind.
When a project is open, you can export it via Inspector > Project > Export
Arrow supports .json
and .html
exports.
.html
export will produce a single-file playable document
using the official HTML-JS runtime template.
The generated document can be played within any modern web browser.
JSON is also a very popular format you can use in many programming languages and game engines to further develop your narrative and/or use it as a database of your game content.
-
Panel Resize and Move
- Grab top-right corner of a panel to resize it
- Grab a panel's title-bar to move it
When panels overlap, grabbing title-bar of any panel will take it to the top layer above others.