スタジオが成長しても手狭にならないストーリーツール
.osf テキストファイルです。ライターにはビジュアルエディターを。開発者には diff、レビュー、検証ができるファイルを。そしてストーリーが一つのツールに閉じ込められることはありません。1Dialogue 01_intro_scene { 2 3 Node node_01 { 4 next: node_02 5 speaker: protagonist 6 text: "Where am I?" 7 } 8 9 Node node_02 { 10 next: node_03 11 text: "Total darkness surrounds you." 12 } 13 14 Node node_03 { 15 speaker: protagonist 16 text: "Am I dreaming?" 17 18 Option node_03_option_01 { 19 next: node_04 20 set: { is_dreaming: true } 21 text: "Yes, you are." 22 } 23 Option node_03_option_02 { 24 next: Dialogue.02_shadows_speak 25 text: "No. Fool" 26 } 27 } 28}
一つの .osf ファイル、二つのエディター。開発者は VS Code でコードとして書き、レビューする。ライターとナラティブデザイナーは LoreHub でビジュアルに形にする。
オープンな基盤がスタジオにとって重要な理由
LoreHub は非公開のデータベースではなく、オープンな形式に保存します。ファイルはゲームと並べて Git に置き、変更はすべてプルリクエストでレビューし、OSF を扱えるどのツールでも開けます。もし LoreHub をやめることになっても、ストーリーは一緒に持ち出せます。
検証では、スキーマ、会話間のすべてのジャンプ、キャラクターと変数のすべての参照、到達不能なノード、未翻訳の行をチェックします。osf コマンドラインツールが、プルリクエストごとに同じチェックを実行します。
厳密なスキーマを持つプレーンテキストは、AI アシスタントにとって読み書きしやすい形式です。AI による編集ごとに検証を実行してリンク切れや未翻訳を捕まえ、あとは通常の diff としてレビューするだけです。
すべての行に安定したキーがあり、翻訳はストーリーファイルと同じ構造で管理されます。言語ごとに、未翻訳の行でビルドを止めるか、ソース言語で代替するかを選べるので、ある言語を先にリリースして後から仕上げることができます。
Open Story Foundation は、LoreHub の開発者が立ち上げたインタラクティブストーリーのためのオープンな標準で、あらゆるツールやエンジンに開かれています。
OSF についてライターの編集から、プレイできるシーンへ
- 1書く
LoreHub またはプレーンな OSFライターが LoreHub のビジュアルエディターでシーンを変更するか、任意のテキストエディターで .osf ファイルを直接編集します。どちらでも結果はプレーンな .osf ファイルです。
- 2レビューお使いの Git ホスト
変更は通常の diff として届きます。開発者は他のプルリクエストと同じようにレビューします。
- 3検証osf validate
無効なジャンプ、未定義のキャラクターや変数、到達不能なノード、未翻訳の行が、ファイル名と行番号付きで報告されます。
- 4ビルドosf build
プロジェクトは JSON または YAML にコンパイルされ、会話、キャラクター、変数ごとに一つのリソースになります。
- 5プレイ
CLI、LoreHub、またはエンジンosf CLI でターミナル上で、LoreHub の会話プレイヤーで、あるいは JSON や YAML をゲームエンジンに読み込んでシーンをプレイできます。