Sparks

Sparks are reusable components or modules. They have 3D characteristics and self-contained functional logic. They are the building blocks of an experience. They can be visual or non-visual elements added into an experience with modifiable Traits. Sparks are defined by their modifiable Traits.

Most Sparks have common Traits like ‘Altitude,’ ‘Position,’ ‘Rotation,’ and ‘Scale.’ Other Sparks have unique Traits like ‘Grabbable,’ Interactable,’ or ‘Collidable.’

A Spark (file) is composed of two things:

  • Asset: Audio, Geometry, Image, Video

  • Logic: Traits and Behaviors (Causes and Effects)

When a Spark is created, it packages the Assets and Logic into a standalone, self-contained unit (the Spark file). These Spark files can be created in Bonfire:

  • Bonfire Builder: An 'import' option allows creators to ingest models, audio, etc., directly into Bonfire and associate them with defined behaviors. This enables non-technical creators to generate custom Sparks from a source asset.

Types of Sparks:

  • Living - While any Spark can be given lifelike characteristics (e.g., run, walk, fall, jump, sway), it is most intuitive to think of these Sparks as humans, animals, plants, or mythical creatures.

  • Non-living - Sparks typically described as non-living might be environmental or structural elements to a scene (e.g., buildings, rocks, rivers, streets, vehicles, furniture, equipment)

  • Invisible - These are a particular type of Spark that enables experience changes. Creators can find these sparks within the Configuration (Config) folder within the Spark Browser. They include a countdown timer, an inventory counter for items collected, a modifier, and more.

  • Environmental - These Sparks control the weather, lighting, or audio (e.g., Sun, Skies). Every experience requires both the Sun and the Sky. These Sparks can be replaced but cannot be deleted. Once dragged into the Map Editor, the Sky or Sun Sparks are configurable from within the Configuration panel (bottom right).

  • History - A special kind of Spark called a State Machine keeps track of the state. An example of using this Spark is to track whether a door is open or closed. That becomes useful for creating other behaviors based on the state. For instance, if the door's state is closed, then using the ‘Approached’ Cause, the door Spark can be configured to open automatically.

  • Graphical User Interfaces - Bonfire supports graphical components (e.g., buttons, text, etc.) to create menus and other graphical interfaces. These graphical components are referred to as Symbol Sparks.

Last updated

#16: Built-in Content definitions

Change request updated