キャラクターカード、コンパニオン、TRPG キャンペーン、テキストゲームを — 記憶・イベント・エージェント・結果を持つ、生きた世界に変える。
上: キャラクターエージェントの思考。下: ワールドエージェントがプレイヤーへ語る言葉。
[turn:73] day3_17:15 split_decision
input: "時間が少し厳しい、教会閉まるかも..."
context:
trust: 94 affection: 91 energy: 67
recent: "一人で行くから、こういうのは...自分で聞きたい"
推論:
+ プレイヤーは私が一人で行きたいと言ったのを覚えていた
+ この信頼の方が、同行よりも沁みる
+ 教会は私の事。酒場は私の安全網。
mood_change: +8 touched, +5 determined, -3 sep_anxiety
action: heading_to_chapel_alone
> エレナはフードを引き上げる。
> "…夜、翡翠酒場で?"

> エレナは小さく頷いた。
「うん、その通りだね。
教会、夜だと閉まってるかもしれない」
フードを引き上げる仕草が、自分を奮い立たせるよう。
「じゃあ、私は教会の方を。
あなたは宿と組合をお願い」
一拍置いて、声を少しだけ落として。
「...夜、翡翠酒場で?」
あなたは頷く —— 言葉は要らなかった。
彼女は振り返る半秒前にためらった。
もう一度こちらを見る。
「...うん、行ってくる」
銀色の背中が東通りへ。最初は少し遅く、
十歩を過ぎたあたりから、まっすぐになる。
あなたは彼女が角を曲がって消えるのを見送る。

このページの出来事は台本ではない。毎ターン、各キャラクターが自分で決め、結果が状態になり、状態が記憶になる。次のターンはその記憶を持って続く。左は今日のターン記録、右は今の世界の状態。
公開するのは「世界が勝手に進む」層:開/閉スキーマ、提案→検証→反映、イベントと分岐——遊び方は含まない。遊び方はテンプレートパックが登録し、製品はただの画面。だからエンジンを自分のプログラムや Godot に繋いでもいいし、テンプレートパックだけ書いてもいい。
| 公開済み | LudicDynamics/WorldLines —— エンジン neonrp + シェル worldlines + docs;stoneford-worldlines —— 最初の世界(AGPL) |
| 公開中 | NeonRP エンジン本体:このページで動いている編成(門 → 相談 → 清算 → 反映)、開/閉スキーマ、ops 検証 —— 設計図に沿って段階的に公開リポジトリへ |
| 動かす | pip install worldlines → worldlines(プレイヤー);pip install neonrp(エンジンだけ、自分のプログラムに) |
開/閉スキーマ、提案→検証→反映、イベント、分岐だけ。遊び方は一切含まない。
一つの遊び方をエンジンに登録:クラス、変数、ops、ルール。rpg と werewolf を同梱。
公開前チェック:テンプレート、ミックスイン、内容、スロットが全部解決してから契約を出し、Hub へ
プレイ UI、制作ワークベンチ、Lint、Hub へ公開。
エンジン · テンプレートと世界 · プロダクト · マイルストーン —— 準備ができたら出す、暦では出さない。