Ktory LogoKtory
Ktory Logo

Ktory

A Dialogue-First, Host-Driven Narrative Language

面向独立作者的对白优先、宿主驱动的按拍叙事语言与运行时。对白、参数修饰符与同文件多语言共享剧情结构,资源与演出由宿主实现。

Screenplay Syntax & Discrete Step

剧本语法与离散步进

此处使用简化模拟说明剧本排版与逐拍选择,不调用 C# 核心,也不验证完整语义。请通过在线试读器检查真实脚本。

sample.ktr
Anchor-Decorator
1// Title: 序章启程 (Prologue: Departure)
2爱丽丝: 今天的风,似乎有点不同寻常。
3 .expression(pensive)
4 .wait(400)
5 
6窗外落叶卷起旋涡,钟楼敲响了第三声。
7 
8爱丽丝: 准备好了吗?我们要出发了。
9 .voice(alice_03_ready)
10 
11#choice.loop
12 * [已经准备好了] -> Proceed
13 + [还需要再等等] => WaitMore
14 
15=== Proceed ===
16 爱丽丝: 那么抓紧我的手,跟紧我,千万不要放开。
17 .expression(smile)
18 .sfx(dash)
19 -> end
20 
21=== WaitMore ===
22 爱丽丝: 好吧,再给你三分钟整理装备,我们在原地等候。
23 .expression(neutral)
24 .wait(180)
25 -> return
26 
Sequencer Output BeatSuspendedAtBeat
1 (root)
Speaker:
Attached Decorators (Tags):
Core Pillars

四大核心架构支柱

Anchor-Decorator 模型

对白与指令形成逻辑停止点,修饰符携带演出意图和参数。基础剧情结构与具体资源、动画和显示方式分开维护。

宿主负责呈现与时间

核心处理剧情拓扑、选择与会话记录;宿主处理游戏状态、资源、渲染、时钟和原始输入,决定何时请求下一拍。

共享 C# 核心

核心目标框架为 netstandard2.1,无外部 NuGet 依赖。试读工具使用 net9.0;Unity 发布流程将共享源码打包为 com.ktory.unity。

单文件内联多语言

通过 @locale 维护同文件译文。核心按请求语言选择文本,缺译时回退默认语言,并在切换语言时保留剧情位置与会话记录。