オープンソードワールド
本ツールはTRPGシステム「ソード・ワールド2.5」を遊ぶためのWebアプリです。ユーザーは自身のキャラクターを登録し、特定の活動を行うユニットに所属させる事ができます。アプリ側はユニットに設定されている属性(活動内容や所在地、メンバーの平均レベルなど)を元にキャラクターが実行可能なイベントを提示し、その成否を記録していくことができます。
プロジェクト全体仕様まとめ(2025/05/18時点)
🔐 アカウント
各ユーザーアカウントは以下のデータを個別に保持:
- characters.json:キャラクター管理
- units.json:ユニット管理
- character_log.json:キャラクターのログ
- unit_log.json:ユニットのログ
👤 キャラクター登録・管理(アカウント単位)
項目名 内容 キャラクターID 自動生成の一意な英数字 キャラクターURL キャラクターシートのURL キャラクター名 フリーテキスト キャラクター概要 改行可能なフリーテキスト タグ ソート用のフリーテキスト
🛡️ ユニット登録・管理(アカウント単位)
項目名 内容 ユニットID 自動生成の一意な英数字 ユニット名 フリーテキスト ユニット概要 改行可能なフリーテキスト ワークス works_list.json から選択(ドロップダウン) 所在地(地名) フリーテキスト 所在地(地方) local_list.json から選択(ドロップダウン) 所在地(規模) 「キャンプ」「基地」「村」「町」「都市」「国」から選択 拠点名 フリーテキスト 拠点概要 改行可能なフリーテキスト 維持費 0G以上の数値 メンバー アカウント保有キャラから選択。技能と役職も併記 技能 「冒険者」または「一般技能(フリーテキスト)」 役職 フリーテキスト AL(平均Lv) キャラクターURL + ?mode=json から技能Lvを取得して算出(切り上げ) リーダー メンバーから1人選択 ユニット作成者 アカウントID ユニット操作権限 アカウントID指定で追加可能 作成日時 タイムスタンプ 更新日時 タイムスタンプ
🔄 キャラクターの兼業=== キャラが複数のユニットに所属可能。選択中キャラが属する各ユニットで可能なイベントが選択可能になる。UI的には、画面上部にキャラ一覧→選択→ユニットとイベント表示、みたいな流れ。
🎯 イベント(events/ワークス名.json) 項目名 内容 イベントID 一意な英数字 イベント名 フリーテキスト min_al 最小AL(条件) ユニット条件 unit.name、base.name、place_name、region、scale による指定 前提イベント 成功している必要があるイベントIDリスト(任意) description すべての説明・難易度・演出を含むフリーテキスト
※ 条件に合うイベントのみ表示可能。ストーリー仕立てが可能になる設計。
🗃️ ログの種類 キャラクターログ(character_log.json) 所属ユニットの履歴
実行したイベントと結果
ユニット脱退・解散などの経緯
ユニットログ(unit_log.json) メンバー加入・脱退
イベント実行履歴
ユニットの更新・解散履歴
🔥 削除時の挙動定義 アカウント削除時 保有ユニット:解散 → キャラログに「ユニット解散(アカウント削除)」記録
保有キャラ:削除 → 所属ユニットには「キャラ脱退(アカウント削除)」を記録
ユニット削除時 所属キャラのログに「ユニット解散(ユニット削除)」を記録
キャラクター削除時 所属ユニットから脱退 → ユニットログに「キャラ脱退(キャラ削除)」を記録
🔧 その他設定ファイル works_list.json:ワークス名一覧
local_list.json:地方名一覧