Ktory とは
Ktory ノベルスクリプトシステムの立ち位置とコア設計思想
Ktory は、対話駆動型ゲームのための物語制作・接続システムです。 一編の Ktory スクリプトは劇の一幕のようなものです。テキスト、セリフの順序、選択肢、分岐をひとつにまとめ、音楽や視覚的な演出の指示を注記します。そしてゲームエンジンは現場の舞台監督として、具体的な表現、ワールドの状態、実際のイベント判定を担当します。
現在の仕様は一つの Main と自動補助再生ヘッドです。Main が入力と補助の作成・停止・待機を独占し、補助は Core の制御フローと at で進み、文字表示や表示寿命を待ちません。暗黙 join はなく、実行終了と表示を分離します。組み込み引数は名前付きで、時計は全体の名前付きまたは各ヘッドの匿名既定です。主/副言語規則は維持します。2026-10-22 に実装が承認され検証中であり、公開サイトやパッケージの更新とは別です。設計原則を参照してください。
従来のスクリプト手法と比べて、Ktory は複雑な物語を持つゲームの開発により適しています。
戯曲のように物語を組み立てる
Section titled “戯曲のように物語を組み立てる”@defaultLang: ja@speaker alice: ja="アリス" | en="Alice"
alice: @ja: 今日の風は、どこかいつもと違うみたい。 @en: The wind feels different today. .expression(pensive)
#.sfx("wind.ogg").wait(seconds=1).next()
#choice.loop * [出発する] alice: 行こう。 -> break + [周りを見る] : 窓の外で落ち葉が渦を巻く。セリフと地の文が「拍(ビート)」を形成し、修飾子がその拍に付随します。拍は論理的な出力・停止の境界であり、入力や自動方針によって進みます。毎回ユーザー操作が必要なわけではありません。多軌実行では拍は各再生ヘッドに属します。
ひとつのコア、多様な実行環境
Section titled “ひとつのコア、多様な実行環境”Ktory は C# で構文解析と実行を行うコアを中心に据えていますが、大小を問わず様々な環境で利用できます。Unity や Godot のような大規模なゲームエンジンから、Web ブラウザや VS Code 拡張機能のような軽量で柔軟な環境、さらにはコマンドラインであっても Ktory スクリプトを再生可能です。
C# コアは分岐、呼び出し、ループ、セッション履歴、明示的に宣言された論理時計を管理します。ホスト環境は表示、リソース、実際の時間源、プレイヤー入力、ゲーム状態を管理します。
Ktory は現在、初期開発段階にあります。現時点では以下のプラットフォームに対応しています:
- Unity: Package Manager の「Install package from git URL…」で
https://github.com/Kutinana/Ktory.git#upmを入力。 - VS Code: VS Code 拡張機能。
- Web: Web Reader。
コアの移植性が高いからといって、あらゆるエンジン向けのアダプターがすでに提供されているわけではありません。さらなるプラットフォームへの対応も鋭意進行中です。
