跳到正文
cccskills
免费在 GitHub 公开

godot-dialogue-system

Expert patterns for branching dialogue systems including dialogue graphs (Resource-based), character portraits, player choices, conditional dialogue (flags/quests), typewriter effects, localization support, and voice acting integration. Use for narrative games, RPGs, or visual novels. Trigger keywords: DialogueLine, DialogueChoice, DialogueGraph, dialogue_manager, typewriter_effect, branching_dialogue, dialogue_flags, localization, voice_acting.

中文简介正在准备中。当前显示原文说明。

实测评分 未实测

查看安装方法

包含的文件(18)

  • SKILL.md11.7 KB
  • references/elite-dialogue-patterns.md2.2 KB
  • references/migration-notes.md3.2 KB
  • scripts/branching_condition_validator.gd1.3 KB
  • scripts/dialogue_engine.gd2.2 KB
  • scripts/dialogue_event_bridge.gd1.2 KB
  • scripts/dialogue_graph_editor.gd267 B
  • scripts/dialogue_lipsync.gd492 B
  • scripts/dialogue_manager_singleton.gd1.6 KB
  • scripts/dialogue_manager.gd3.5 KB
  • scripts/dialogue_node_data.gd1.1 KB
  • scripts/dialogue_option_data.gd1018 B
  • scripts/dialogue_portrait_manager.gd1.1 KB
  • scripts/dialogue_resource.gd1.1 KB
  • scripts/dialogue_stat_logger.gd332 B
  • scripts/dialogue_ui_controller.gd1.5 KB
  • scripts/localized_dialogue_resource.gd1.3 KB
  • scripts/typebox_effect.gd1.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Dialogue System

Data-driven dialogue routing — not beginner typewriter tutorials.

NEVER Do in Dialogue Systems

  • NEVER hardcode dialogue text in GDScript — Store lines in Resources / JSON / CSV so localization works.
  • NEVER show choices the player has not unlocked — Hide (or intentionally gray) gated options.
  • NEVER use unvalidated loose strings for node transitions — Typos in next_node_id soft-lock mid-convo; assert / registry IDs.
  • NEVER force a typewriter without skip — Click/confirm must finish the line immediately.
  • NEVER drive reveal with per-character Timer / OS.delay_msec() — Use visible_ratio / visible_characters + Tween (see typebox_effect.gd).
  • NEVER store dialogue cursor state only in the UI node — Scene changes drop the player; keep progress in the manager Autoload / session object.
  • NEVER get_node() from NPCs into Dialogue UI — Start via manager signals (start_dialogue(res)).
  • NEVER invent regex for BBCode — Prefer RichTextLabel BBCode / custom effects.
  • NEVER save/load inside a dialogue node Resource — Nodes are data; persistence belongs to SaveSystem.
  • NEVER hardcode portrait paths in code — Assign textures on node Resources or a portrait database.

Decision Tree: Authoring Engine

Authoring needEngineMANDATORY scriptsDo NOT Load
Designer-friendly .tres graphs in-repoResource Autoload graphdialogue_resource.gd → dialogue_manager_singleton.gd → dialogue_ui_controller.gd → typebox_effect.gddialogue_engine.gd JSON path
External writers / spreadsheet → JSONJSON graph enginedialogue_engine.gd (+ optional dialogue_manager.gd) → UI + typeboxResource Autoload stack
Visual node editor in-projectGraphEdit authoringKeep runtime on Resource or JSON export; GraphEdit is editor-only toolingShipping GraphEdit as the runtime walker
Conditions / quest gatesEitherbranching_condition_validator.gdEmbedding flag checks in UI buttons
Portraits / expressionsEitherdialogue_portrait_manager.gd—
Localization keysEitherlocalized_dialogue_resource.gdHardcoded language if trees
Quest / gameplay hooks from linesEitherdialogue_event_bridge.gdSide effects inside UI controller

Default golden path: Resource Autoload → UI controller → typebox_effect. Pick one runtime engine; do not run Resource manager and JSON engine in parallel.

Available Scripts (single catalog)

Runtime (golden path)

Supporting

Alternate engines (load only if decision tree says so)

Typewriter Contract (skip-safe)

Use typebox_effect.gd: set full text, tween visible_ratio (or RichTextLabel visible_characters) from 0→1. On skip input: kill tween and snap visibility to complete. Do not spawn a Timer per character.

Elite Deltas

MANDATORY for GraphEdit tooling, TTS/lipsync, analytics, and moved inline manager/UI tutorials: elite-dialogue-patterns.md. Do NOT Load for Resource Autoload golden path only.

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.

Official Documentation

  • Resources — Why dialogue graphs belong in Resource / .tres data instead of hardcoded strings in scripts.
  • BBCode in RichTextLabel — Native markup for speaker emphasis, custom tags, and effects without rolling your own parser.
  • RichTextLabel — visible_characters / image helpers and BBCode APIs the dialogue UI should drive for typewriter and portraits.
  • Internationalizing games — tr() / TranslationServer workflow so line text stays key-based across locales.
  • Localization using spreadsheets — CSV translation tables that map cleanly onto dialogue text_key fields.
  • Importing translations — How Godot imports CSV/PO so localized dialogue resources resolve at runtime.
  • Using signals — Emit line/choice/end events upward so UI, quests, and audio never hard-reference the manager internals.
  • Singletons (Autoload) — Register a DialogueManager that survives scene changes and owns traversal state.
  • Tween — Drive visible_ratio / character reveal timing without blocking the main thread.
  • Text-to-speech — DisplayServer TTS callbacks for placeholder VO and lipsync-adjacent timing.
  • GraphEdit — Editor surface for authoring branching dialogue graphs when .tres lists become unwieldy.
  • JSON — Parse external dialogue graph files when designers prefer JSON over Resources.

Related Skills

Prerequisites

  • godot-project-foundations — Autoload registration, input for advance/skip, and project layout dialogue UI scenes plug into.
  • godot-gdscript-mastery — Typed Resources, signals, await, and Callables required before branching engines and UI bridges.
  • godot-resource-data-patterns — Canonical patterns for DialogueLine / graph Resources, exports, and avoiding duplicated mutable state.
  • godot-autoload-architecture — Singleton ownership and boot order for a global DialogueManager that must outlive scene swaps.

Complements

  • godot-signal-architecture — Signal-up / call-down contracts for line_displayed, choice selection, and narrative event bridges.
  • godot-ui-rich-text — RichTextLabel BBCode, custom effects, and image embedding beyond the basics used in typewriter UIs.
  • godot-ui-containers — Layout choice buttons and dialogue panels without fighting Control sizing and focus.
  • godot-tweening — Skip-safe Tweens for character reveal, portrait entry, and panel transitions.
  • godot-audio-systems — Voice-line players, bus ducking during dialogue, and subtitle sync with spoken audio.
  • godot-quest-system — Quest flags and objectives that gate conditional choices and fire from dialogue event bridges.
  • godot-save-load-systems — Persist dialogue flags / seen-node state outside UI nodes so progress survives reloads.

Downstream / consumers

  • godot-genre-visual-novel — Full VN presentation loops consume this skill’s graph traversal, portraits, and choice UI patterns.
  • godot-inventory-system — Dialogue effects often grant/require items; keep grant logic in inventory, not inside line Resources.
  • godot-monte-carlo-balancer — Simulate skill-check / branching choice trees when narrative gates or reward paths need balance passes.

Master

  • godot-master — Library router and mirrored module entry; open when discovering which Domain Skill owns narrative, UI, or quest concerns.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Bevy ECS skill for 2D sprite animation. Keywords: Bevy, sprite, animation, AnimationPlayer, AnimationClip, 2D.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8842026年10月17日 更新

Spawn and tune Bevy 0.20 directional, point, and spot lights, cascade shadows, distance fog, and a nearest-light shadow budget. Use when a 3D scene needs a sun, local lights, or fog on the camera. Keywords: DirectionalLight, PointLight, SpotLight, CascadeShadowConfig, DistanceFog, bevy_light.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8842026年10月17日 更新

Bevy ECS skill for PBR materials. Keywords: Bevy, StandardMaterial, PBR, material, ExtendedMaterial.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8842026年10月17日 更新

Bevy ECS skill for 3D level assembly. Keywords: Bevy, level, scene, mesh, world, ECS.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8842026年10月17日 更新

Bevy ECS skill for abilities. Keywords: Bevy, ability, cooldown, ECS, gameplay.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8842026年10月17日 更新

Rewrite Bevy 2D actors and cameras into 3D meshes and Camera3d while keeping gameplay components. Use when a Bevy 2D game should gain a perspective camera, mesh draw, and a planar velocity lifted onto XZ. Keywords: Camera2d, Camera3d, Sprite, Mesh3d, StandardMaterial, WishVelocity.

中文简介正在准备中。当前显示原文说明。

thedivergentai/Game-Dev-Agentic-Skills8842026年10月17日 更新

查看 thedivergentai 的全部技能

报告此技能的问题