GS_Cinematics

Tell your story.

From simple NPC barks to complex branching narratives — a complete dialogue system with conditions, effects, performances, and localization.

Complete Dialogue System

Node-based authoring with runtime execution and extensibility

Node-Based Dialogue Editor

Visual dialogue authoring using O3DE's GraphCanvas. Nodes for text, player choices, random branching, effects, and performances. Save as `.dialoguedb` assets for runtime loading.

  • Text Nodes — NPC dialogue with speaker, text, and optional audio
  • Selection Nodes — Player choices with conditional visibility
  • Random Nodes — Weighted random branching for variety
  • Effects Nodes — Execute gameplay effects mid-conversation
  • Performance Nodes — Move performers, trigger animations

Conditions & Effects

Polymorphic systems for branching logic and gameplay consequences. Check game state via conditions. Modify game state via effects. Fully extensible through inheritance and O3DE serialization.

  • Conditions — Evaluate game state (check records, inventory, etc.)
  • Effects — Modify game state (set records, toggle entities, etc.)
  • Reversible — Effects support ReverseEffect() for dialogue rollback
  • Auto-Discovery — Custom types discovered automatically at startup

Dialogue Performances

Direct your characters. Polymorphic performance system moves performers to markers, navigates navmesh paths, or repositions instantly. Perfect for staging conversations and cutscenes.

  • MoveTo — Direct movement to stage markers
  • PathTo — Navmesh-based navigation
  • Reposition — Instant teleport to marker
  • Performer Markers — Named positions with optional target tracking

Dialogue UI

Screen-space and world-space dialogue display. Typewriter text with character-by-character reveal. Audio babble with phoneme mapping. Selection buttons for player choices.

  • DialogueUI — Screen-space text display with typewriter effect
  • WorldDialogueUI — World-space speech bubbles
  • DialogueUISelection — Player choice buttons
  • Babble Component — Audio synthesis for text reveal

Localization

Built-in localization support. LocalizedStringId references strings with keys and default text. LocalizedStringTable provides runtime lookup. Ship your game in multiple languages.

  • LocalizedStringId — String key + default text fallback
  • LocalizedStringTable — Runtime string lookup
  • Dialogue Database Integration — All text supports localization

Technical Specifications

Components

Complete dialogue system

Management: DialogueManager, CinematicsManager, DialogueSequencer

Graph Nodes: Text, Selection, Random, Effects, Performance (5 types)

UI: DialogueUI, WorldDialogueUI, DialogueUISelection, Typewriter, Babble

Performance: Stage markers, performer direction

Dependencies

Required: GS_Core

UI: LyShine

Navigation: RecastNavigation (for PathTo performances)

Data Assets

Dialogue Database: .dialoguedb files (GraphCanvas-based)

Localization: LocalizedStringTable assets

Author dialogues visually, ship with localization support.

Extensibility

Polymorphic systems. Custom conditions, effects, and performances are discovered automatically through O3DE serialization — no modification to core required.

From Barks to Branching Narratives

Start Simple

Single text nodes for NPC barks. World-space bubbles for ambient dialogue. Typewriter effects for dramatic reveals. You can ship a simple dialogue system in minutes.

Scale to Complexity

Branching conversations with conditions. Player choices that affect game state. Performances that move characters mid-conversation. The system grows with your narrative ambition.

Extend It All

Custom conditions, effects, and performances. Extend the base classes and reflect them — the system discovers your types automatically. Your dialogue ties directly into your gameplay.

Tell the Stories Your Game Deserves

From simple conversations to complex branching narratives — GS_Cinematics gives you the tools to bring your characters to life.

Get GS_Play Read Documentation Explore Other Gems