An Overview
Coppola is Bitpart's content authoring and management tool. We'll walk through each of the pages at a high-level to give you a general understanding of what exists and how it all works. A deeper dive into each part of the tool can be found in the other subsections.

When you open Coppola, you'll begin on the dashboard. To access your project(s) you can either click the hyperlinked Projects or the folder icon in the left-hand toolbar.
The Projects Page
Once you click into the Projects Page, you'll see — as you might expect — a list of all of your existing projects. From this view you can create new projects and rename or delete existing ones.

What is a project?
A project is an organizational tool used to house the content you create for your NPCs. An Unreal map will point at a single Coppola project, so all content for that map should exist within a single project. We'll get more into the details of what exactly is contains as we move forward. So keep reading!
Looking at an Individual Project
When you open a project, you'll see a page that looks like the following:

1. The Project ID
The string of letters and numbers found to the right of the project name is your Project ID. You'll need this when creating new domain assets within Unreal. You can learn more about that process here.
2. Build Project
Build project will export the project into a .json file. This file can then be used to create a domain asset in Unreal.
3. Tasks
Content will be organized into tasks. In this view you can create new tasks, edit the name of an existing task, and delete a task.

The task table consists of the following columns:
Name: A descriptor of the task. We recommend using language that helps you easily differentiate between each
Domains: Domains are not something our tool currently utilizes, so this column will be blank for now.
Method Count: The number of task methods within that particular task
Created At: The number of days since the task was created
Actions: The vertical ellipses houses three options: edit, view usages, and delete.
What is a task?
Technically speaking, a task is an abstract unit of work that a character or cast of characters must accomplish, but it does not specify exactly how to do it. Think of a task as a goal or objective like “defend the village" or "gather resources." Tasks are abstract representations that can be fulfilled in multiple ways. Each task is associated with one or more task methods (scroll for more info), which are the concrete recipes or strategies for accomplishing that task. For instance, a "defend village" task might have both a "defend with magic" method and a "defend with weapons" method as different approaches to achieve the same goal.
View Usages
The View usages action shows you where that task is called as a subtask—we'll get into subtasks below. A task cannot be deleted if it's being called by another task. All usages need to be removed in order to delete.
4. Domains
Domains are not something we currently use. This tab will become active in the future.
5. Facts
This part of our tool is still under construction. Eventually, we will allow users to create their own facts.

What are facts?
Facts are pieces of data the game will set up and modify over the course of gameplay. We check these facts on entities in a scene's characters or props to determine what actions, tasks, or methods should be executed on next. They work to set the world state in a way that is compatible with what has been defined in Coppola.
6. Actions
Every project comes with a list of existing actions to use when building out content. New actions can also be created.

What is an action?
Actions are the atomic units of behavior in the planning system—they represent concrete, indivisible activities that cannot be decomposed into smaller units of behavior. Actions are the "leaves" of the hierarchical decomposition tree and represent the actual executable steps that will be performed in the game or simulation. Examples of actions include "cast healing spell," "equip sword," "move to position," or "attack enemy." Each action defines specific parameters (like which spell to cast or which weapon to equip).
7. Roles
Roles are used to create task parameters in your Coppola content. Each role aligns with a corresponding Bitpart archetype.

8. Characters
Character names are how we differentiate which NPCs in Unreal are assigned to content in Coppola. This information is assigned within the Bitpart character component on an NPC (in Unreal).

A character is assigned one or more roles, which aligns it with one or more archetypes. For example, a character named Wallace could be both a townsperson and a barkeep. Roles and character names can be added to fit your needs.
9. Prop Types
The prop types tab has a list of all props available for you to use when authoring content.

If you create a new prop in Unreal, be sure to register the prop in your Coppola project as well. You'll need to author content here in order to see the prop used properly in gameplay.
The Task Editor

What is a task method?
A task method is a concrete recipe or strategy for accomplishing a specific task. Each method is associated with exactly one task and defines a specific way to fulfill that task's objective. Methods provide a sequence of method steps to be performed, where each step involves an action (a concrete behavior).
What is a task method step?
An individual step within a task method that references either an action or another task.
What is a task parameter?
A variable or placeholder that allows roles and props to be generically specified without being tied to specific characters or props.
What is a subtask?
Tasks that are not root tasks are called subtasks, and they serve as intermediate steps toward accomplishing a root task. Top-level tasks are root tasks. These are the entry points to planning— the initial objectives given to the planner that specify what needs to be accomplished. For example, "defend the village" would be a root task that kicks off the entire planning process. Tasks that are not root tasks are called subtasks, which using the example above could be something like "sharpen sword". It's a stepping stone that builds towards the eventual completion of the root task.
Hierarchy of Coppola Terms
There's a lot of new terms to learn when using Coppola for the first time. You'll work most frequently with projects, tasks, task methods, task method steps, and actions. For an easy visual, this is how they fit together:
Project > Task > Task Method > Task Method Step > Action
Last updated