...
StoryFlow provides several ways to control if and when different branches activate. It also gives the author tools to modularize and reuse branches. This makes it easy to create, organize and maintain your VR training scenarios. Let’s go through a few, quick concepts before diving in.
Concepts
In StoryFlow, there are certain terms that are commonly used. This section will highlight the most important of these for branching scenarios.
Scripts
A script is where an author defines what will happen in a training scenario. It can be thought of like a movie script. A script is made up of one or more frames. It defines the order and relationships between the frames. In a script, frames are arranged in a tree structure. Branching happens by design.
...
The picture above shows a script in edit view within StoryFlow.
Frames
Frames live in a script. Frames control the specific things that happen in a training scenario. It might be an animation starting, a piece of media playing, a text box appearing, etc… Each of these distinct items is called a resource.
...
The picture above shows a script with the frames on the left-hand side. The currently editable frame is highlighted in red. The conditions and resources for that frame are visible in the center of the screen. Finally, the right-hand side shows a list of resources, conditions, variables, and events which that can be used when creating or editing any frame. These can be dragged and dropped into the currently selected frame.
Branching
Branching Basics
The simplest way to branch is inside of a single script. As we know, a script has one or more frames. The list of frames can be thought of as a table of contents for the script. Let’s look at an example:
...
The script above has a Main Frame which has three child frames. Each child frame is a branch. Each branch is on the same level. It is possible to have all of these branches open and active at the same time. It is also possible to have one or more branches open and waiting to activate based on a condition. A StoryFlow author has full control over the number of branches, the order in which they activate, and the conditions that govern their activation.
Each frame can have its own child frames. This means any branch can be several levels deep. If a frame has child frames, those will open once their parent is activated. This makes defining a sequence very easy and happens by design. If a training procedure has three steps that happen in a specific order, you can define three frames that happen one after the other. A single script allows for several branches to exist in parallel. Each can have its own defined sequence.
...
Conditional Branching
Conditions allow you to control when and if a branch opens. Sometimes, you’ll want a branch to open right away. Other times you’ll want it to wait until something specific happens. Conditions allow you to do this. They can be of many types.
...
The StoryFlow variable and event systems can also be used with conditions. Each of these is powerful and flexible in its own way. They both provide easy ways to ensure that the conditions for your VR scenarios are customizable for your specific needs.
Example
Let’s think of a training situation for a store. We have a VR scene of a store with a customer avatar and a 3D model of a product. The trainee is the employee and will interact with the customer and product inside the scene. We want to author a simple scenario where the trainee can ask the customer three questions in any order.
...
For example, we may want to prevent a trainee from progressing if they have not asked every question. Or we may want to remind the trainee to ask a question if they have not. This level of control is possible with our drag and drop editor. These options allow your training scenarios to be specific, responsive, realistic, and helpful.
Modularizing Branches
StoryFlow has excellent tools to help you modularize branches of a training scenario. This makes scripts more flexible and easier to maintain. Let’s take a look at how this can be used.
...
Modularization can do much more. Here is one additional, important example.
Director Script Pattern
This is an excellent way to organize and modularize your training scenarios. Let’s say your training scenario has ten complex steps. One large script would be harder to maintain. Instead, you could create eleven scripts, one for each step and one to control when to launch the right script for each step. That final script is the same as any other but we call it a director script because it directs when the other scripts should launch.
...
This will make it easy to add, modify and remove questions if needed. The same is true for product demos. Each part of the training scenario is modularized into its own script and the flow is controlled in one place. This makes maintaining and reusing your scripts much easier.
Adaptive Content
Adaptive content is a powerful, general system within StoryFlow. Variables, which were mentioned earlier, play a key part in it. This system allows for content of any kind to be presented based on choices the user has made. It also helps with script maintenance and testing.
In the context of branching, let’s say a training scenario has several branches that follow a similar pattern. Using adaptive content, a single branch can be created which can launch all branches which fit that pattern. This means there is only one script to test instead of several.
Randomization
Randomization can be used in many ways. Branching is one of them. It is possible to randomize when different content is activated. This could be a basic value or an entire branch.
Let’s say instead of asking the customer questions, the customer asks the trainee questions. These questions, their order, and the number of questions can be randomized. This helps the trainee not become accustomed to a particular pattern of interaction and increases their level of engagement.
Summary
StoryFlow makes it easy to create and maintain branches for your VR training scenarios. Sequential, parallel, randomized and conditional branching options ensure that you can build training scenarios that are tailored to the needs of your organization.
...