Logic Controls are higher-level interactive elements that include Locks, Switches, and Operations. These can be found in the Designer in the Logic and Effects workspace. While they share similarities with Puzzles, Actions, and Experiences, they are not part of the Puzzle Schema. Like tasks within the schema, these Logic Controls offer the game host interactive elements in the Game Host and Prepper applications, allowing for the activation or management of various actions and sequences during gameplay.

Game Host 3.5.2: Operations, Locks and Switches and Game Scheme grouped by the Showcase project. Offline layout preview with inactive task models; no live device feedback is shown.
Game Host 3.5.2: Operations, Locks and Switches and Game Scheme grouped by the Showcase project. Offline layout preview with inactive task models; no live device feedback is shown. Open full-size image

Game Host groups Operations, Locks and Switches according to the room’s presentation structure.

To set up locks, you can easily activate them while preparing the room for the next group of players. Operations can be configured to test effects or initiate effects or start a script that you want to run asynchronously with the game flow. Additionally, operations can be linked to an absolute game time or elapsed maximum game time. To prevent accidental activation of test effects, they can be hidden while the game is running. These topics will be covered in more detail in the following sections.

Lock Control

Choose the Lock Type before assigning its channels. A physical lock uses an Output to drive the mechanism. A Virtual Lock has no physical Output; its lock and unlock events can run effect sequences. The type also determines what feedback means.

Showcase Locks and Magnetic Lock readiness choices for lock output and door position.
Designer 3.5.2: the Showcase Locks workspace and its properties. Open full-size image
Lock types, feedback and preparation
TypeI/O and feedbackReady conditionsStart and reset defaults
Magnetic LockAssign the lock Output. An optional Door Closed Input reports the door position: 0 is open; a non-zero value is closed.Lock output: Energized, De-energized or Don’t care. With an assigned input, also select Door position: Closed, Open or Don’t care. All selected conditions must match.Locked, Unlocked or Unchanged for start and reset.
Mechanical Lock with Pulse ReleaseAssign the release Output and pulse duration. An optional Door Locked Input reports lock feedback, rather than just door position.Lock state: Locked, Unlocked or Don’t care.Locked, Unlocked or Unchanged. A release pulse can unlock the mechanism; physically closing or latching it remains part of room preparation.
Virtual LockNo lock Output is required. Lock/unlock events run the configured effects. An optional Door Closed Input can still monitor a physical door.Logical lock output: Energized, De-energized or Don’t care; separate Door position condition when an input is assigned.Locked, Unlocked or Unchanged set the logical state and its associated behavior.

A closed door does not prove that it is locked. Door position and lock output are separate observations. A selected door-position condition needs a known input value; an unknown value cannot confirm that the door is ready.

Showcase lock properties showing the output assignment and separate door-feedback input.
Designer 3.5.2 lock configuration with separate lock output and door-feedback input. No live door state is shown. Open full-size image

Ready conditions help the game host check the room before starting. The example below applies to a Mechanical Lock: select Locked, Unlocked or Don’t care as required by the room. Magnetic and Virtual Locks instead have the separate output and optional door-position conditions described above.

Open full-size image

Default settings for the lock can be defined for both the game start and reset phases. Typically, during a reset, all locks are released. For the game start, it’s common to leave the lock unchanged since the game host manually locks it during room preparation. The game start process is initiated by the game host once the room is ready for the next players. Automatic locking is only selected in situations where a door or cabinet is designed to lock itself.

Open full-size image

Switch control

A Switch is toggled on or off. Choose Output for a physical switch with an assigned Output, or Virtual to run on/off effect sequences without a physical Output.

Switch types
TypeI/O and feedbackReadyDefaults
OutputThe assigned Output controls the device. Its commanded state is not independent physical feedback.On, Off or Don’t care.On, Off or Unchanged, separately for game start and reset.
VirtualNo Output required. The logical state runs the configured on/off events.On, Off or Don’t care.On, Off or Unchanged, separately for game start and reset.

The following Ready and Defaults examples remain applicable. For example, choose Off when the switch must be off before starting, or Don’t care when preparation does not depend on its state.

Open full-size image

Refer to the image below for the available default settings for the switch.

Open full-size image

Operation control

The Operation control is designed to initiate effect sequences independently from Puzzle, Action, or Experience tasks. It serves three purposes and can be activated in the following ways:

  • By the game host, either before the game begins or during gameplay.
  • Based on room-specific timing.
  • From another effect sequence.

See below settings for the Operation control

Designer 3.5.2: the Showcase Operations workspace.
Designer 3.5.2: the Showcase Operations workspace. Open full-size image

To make operations available to the game host, enable the appropriate checkboxes to show them when the game is stopped, running, or both. For timed-based activation, the following options are available:

  • Trigger on game fail: Activates the operation when the maximum game time has elapsed.
  • Trigger on game time: When selected, allows you to specify an exact game time at which the operation will activate.

The effect sequence to be launched is linked to the On Start event.

In a script, use launchOperation(name, startTimeSecs, repeatCount, repeatInterval) and cancelOperation(name, startTimeSecs). Operations use their configured names. See Using control functions for parameters and the Lock/Switch functions.