Novel Game Maker
WordPressでノベルゲームを作成できるプラグイン。
by shokun0803 · github.com/shokun0803/novel-game-plugin · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/shokun0803/novel-game-plugin/archive/refs/heads/master.zipRequires: WordPress 6.3+
Tested up to: WordPress 7.0
WordPressでサウンドノベル・ビジュアルノベルゲームを作成・公開できる包括的なプラグインです。「弟切草」や「かまいたちの夜」のような分岐型ノベルゲームを簡単に作成できます。
目次
- 主な機能
- インストール
- 使い方
- エクスポート/インポート
- 広告管理
- アンインストール設定
- ゲーム・シーンの削除
- よくある質問(FAQ)
- 開発者向け情報
- サンプルゲーム: Shadow Detective
- 更新履歴
- サポート・貢献
主な機能
🎮 ゲーム作成機能
- カスタム投稿タイプ「ノベルゲーム」 - 各シーンを投稿として管理
- 直感的な管理画面 - 背景・キャラクター・セリフ・選択肢を視覚的に編集
- 分岐システム - 選択肢による複雑なストーリー分岐をサポート
- メディア統合 - WordPressメディアライブラリから画像を簡単選択
- ゲーム基本情報設定 - タイトル・説明・タイトル画像の一元管理
- 広告管理 - Google AdSense / Adsterra 対応(ゲーム毎に設定可能)
🖥️ 管理画面機能
- 新規ゲーム作成 - ゲームタイトルから自動的に最初のシーンを生成
- ゲーム一覧 - 作成したゲームを一覧表示・管理
- ゲーム基本情報 - ゲーム全体の設定を一元管理
- シーン管理 - ゲームごとのシーン管理・編集
- 高度なフィルタリング - ゲームタイトルでの絞り込み検索
- 広告管理 - プラグインレベルでの広告プロバイダーID設定(Google AdSense / Adsterra)
- エクスポート/インポート - ゲームデータのJSON形式でのバックアップ・復元・移行
- ゲーム・シーン削除 - 不要なゲームを完全削除、シーンをごみ箱へ移動(復元可能)
- アンインストール設定 - プラグイン削除時のデータ保持/削除オプション
🌐 フロントエンド機能
- レスポンシブデザイン - あらゆるデバイスで快適なプレイ体験
- インタラクティブUI - クリック・タップでのセリフ進行
- アーカイブページ - ゲーム一覧の美しい表示
- 選択肢システム - 直感的な選択肢表示と分岐
- カスタムテンプレート - テーマとの統合
🔧 技術的機能
- ショートコード対応 - 任意のページにゲームを埋め込み
- 多言語対応 - 国際化(i18n)完全対応
- セキュリティ - nonce検証・権限チェック・データサニタイズ
- Ajax統合 - 管理画面での非同期処理
- データベース最適化 - 効率的なクエリとインデックス利用
- サンプルゲーム - 「マイゲーム」画面からワンクリックでインストール(学習用・オプトイン)
インストール
1. 手動インストール
# GitHubからクローン
git clone https://github.com/shokun0803/novel-game-plugin.git
# WordPressプラグインディレクトリに配置
mv novel-game-plugin /path/to/wordpress/wp-content/plugins/
# WordPress管理画面で有効化
📝 サンプルゲームのインストール(オプトイン)
- サンプルゲーム Shadow Detective(影の探偵) は自動ではインストールされません。「マイゲーム」画面に表示される「サンプルゲームをインストール」ボタンから、明示的な操作でインストールします
- サンプルゲームはプラグインの使い方を学ぶための参考として活用できます
- サンプルゲームは通常のゲームと同様に編集・削除が可能です
- サンプルを削除した場合は、ダッシュボードから再インストール可能です
🖼️ サンプル画像のダウンロード
- サンプルゲームで使用する画像ファイルは、初回アクセス時に GitHub から自動ダウンロードされます
- 「マイゲーム」画面に初めてアクセスすると、ダウンロードを促すモーダルが表示されます
- ダウンロードサイズは約 15MB で、完了まで数分かかる場合があります
- サンプルゲームを使用しない場合は、ダウンロードをスキップできます
- 詳細は サンプル画像ダウンロードガイド を参照してください
2. 必要な環境
- WordPress 6.3 以上
- PHP 7.4 以上
- MySQL 5.6 以上
使い方
管理画面の使い方
本プラグインは、ゲーム中心型の直感的なメニュー構造を採用しています。
🏠 ダッシュボード
プラグインのホーム画面です。
- ゲーム・シーン数の統計情報 - 作成済みゲーム数とシーン数を一目で確認
- クイックアクション - 新規ゲーム作成、マイゲームへのアクセス
- 3ステップの使い方ガイド - 初心者向けの簡潔な使い方説明
- プラグイン概要 - 主要機能の紹介
🎮 マイゲーム
作成したゲームの一覧・選択・管理を行います。
- ゲーム一覧 - カード形式で見やすく表示
- ゲーム選択 - ゲームを選択すると個別管理画面に遷移
- サムネイル表示 - タイトル画像または最初のシーンの背景を表示
- シーン数表示 - 各ゲームのシーン数を確認
➕ 新規ゲーム作成
新しいゲームを作成します。
- ゲームタイトル - ゲームの名称(必須)
- ゲーム概要 - ゲームの説明文(任意)
- タイトル画像 - ゲームのメイン画像(任意)
- Game Over画面テキスト - デフォルトは"Game Over"
⚙️ 設定
プラグイン全体の設定とショートコード一覧を確認できます。
- ショートコード一覧 - 使用可能なショートコードとオプション
- ワンクリックコピー - ショートコードを簡単にコピー
- プラグイン情報 - バージョン情報など
- アンインストール設定 - プラグイン削除時のデータ保持/削除オプション
📢 広告管理
広告プロバイダーの設定を管理できます。
- Google AdSense Publisher ID - AdSense パブリッシャーIDの登録
- Adsterra Publisher ID - Adsterra パブリッシャーIDの登録
- 公式サイトリンク - 各プロバイダーの公式サイトへのアクセス
- 注意事項 - 広告利用時の責任と規約順守に関する重要な注意書き
📦 エクスポート/インポート(独立メニュー)
ゲームデータのバックアップ・復元・移行を行えます。
- エクスポート - ゲームを選択してJSON形式でダウンロード
- インポート - JSONファイルから新規ゲーム作成
- 画像ダウンロードオプション - インポート時に画像をメディアライブラリに自動ダウンロード
- 詳細仕様 - JSON インポートガイド を参照
ゲーム個別管理画面
マイゲームでゲームを選択すると、そのゲーム専用の管理画面が表示されます。
📝 シーン一覧タブ
- シーン一覧 - 選択したゲームのシーンのみを表示
- 編集リンク - 各シーンの編集画面へ直接アクセス
- 新規シーン作成 - このタブから直接シーンを追加可能
- シーン削除 - 不要なシーンをごみ箱へ移動(復元可能)
➕ 新規シーン作成タブ
- ゲームタイトル自動設定 - 選択中のゲームに自動的に紐付け
- シーン作成 - WordPressの投稿画面で詳細を設定
⚙️ ゲーム設定タブ
- ゲーム基本情報の編集 - タイトル、概要、画像などを更新
- 広告プロバイダー選択 - ゲーム毎に広告表示設定(none / adsense / adsterra)
- タイトル表示設定 - タイトル画像上へのタイトル重ね表示のオン/オフ
- タイトル文字色設定 - タイトル文字の色をカスタマイズ(可読性は自動補正)
- フラグマスタの管理 - ゲーム用のフラグを追加・削除
- フラグの説明 - 各フラグの用途を記録
- エクスポート - このゲームをJSON形式でエクスポート
- ゲーム削除 - ゲームとすべてのシーンを完全削除(⚠️ 復元不可)
基本的なワークフロー
1. 初回利用時
ダッシュボード → プラグイン概要確認 → 新規ゲーム作成
↓
ゲーム個別管理画面(自動遷移)
↓
新規シーン作成タブ
↓
最初のシーンを作成
2. 既存ゲーム管理時
マイゲーム → ゲーム選択 → ゲーム個別管理画面
↓
┌─────────┼─────────┐
↓ ↓ ↓
シーン一覧 新規シーン ゲーム設定
3. シーン編集時
シーン一覧 → 編集リンク → シーン編集画面
↓
背景・キャラ・セリフ・選択肢を設定
詳細な使用手順
-
プラグインの有効化
- WordPress管理画面「プラグイン」→「インストール済みプラグイン」から有効化
-
新規ゲーム作成
- 管理画面「ノベルゲーム管理」→「➕ 新規ゲーム作成」
- ゲームタイトル、概要、タイトル画像を入力
- 「ゲームを作成」をクリック
-
最初のシーンの作成
- ゲーム作成後、自動的にゲーム個別管理画面へ遷移
- 「➕ 新規シーン作成」タブで「Create New Scene」をクリック
- 背景画像・キャラクター画像・セリフを設定
-
分岐シーンの作成
- シーン編集画面で選択肢を追加
- 選択肢に次のシーンを指定
- 新規シーン作成や既存シーン選択が可能
条件付きセリフ表示機能
表示制御モード
- 常に表示 - フラグ条件に関わらず常に表示
- 条件成立時に非表示 - 指定したフラグ条件を満たすと非表示
- 条件成立時に内容変更 - 指定したフラグ条件を満たすと代替テキストを表示
動作仕様
- 条件成立時: 代替テキストを表示(空の場合は通常テキストをフォールバック)
- 条件不成立時: 通常テキストを表示
セリフごとのキャラクター立ち絵差し替え機能
各セリフに個別のキャラクター画像を設定できる機能です。シーン内で表情変化などの演出が可能になります。
機能概要
- セリフごとに立ち絵を変更: 同一シーン内で、セリフの内容に合わせてキャラクターの表情を切り替えられます
- 3ポジション対応: 左・中央・右の各位置で個別に設定可能
- フェードアニメーション: 立ち絵の切り替えは滑らかなフェードエフェクトで表示
- 画像プリロード: シーン開始時に全ての立ち絵画像を事前読み込みし、切り替え時のちらつきを防止
設定方法
- シーン編集画面の「セリフ」セクションで、各セリフの下にある「▼ キャラクター設定を表示」ボタンをクリック
- 左・中央・右のキャラクター画像を個別に設定
- 未設定の場合は、シーン全体のキャラクター設定が継承されます
ショートコード使用例
// ゲーム一覧を表示(推奨)
[novel_game_list]
// 表示オプション付き
[novel_game_list columns="2" show_description="true"]
// 特定のゲームをタイトルで表示
[novel_game_posts game_title="マイゲーム"]
// 特定のゲームをIDで表示
[novel_game_posts game_id="1"]
利用可能なショートコード属性
[novel_game_list] - ゲーム一覧表示(推奨)
美しいカード形式で全ゲームを表示します。
columns- 表示カラム数(1-6、デフォルト: 3)show_description- ゲーム説明を表示(true/false、デフォルト: false)show_count- シーン数を表示(true/false、デフォルト: true)orderby- 並び順(title など、デフォルト: title)order- 昇順/降順(ASC/DESC、デフォルト: ASC)
[novel_game_posts] - 特定ゲーム表示
特定のゲームをヒーロー画像とプレイボタン付きで表示します。
game_title- 表示するゲームタイトル(game_id との排他)game_id- 表示するゲームID(game_title との排他)
ブロックエディタ
Gutenberg ブロックエディタでは、「Novel Game List」ブロックで直感的にゲーム一覧や個別ゲームを挿入できます。
エクスポート/インポート
ゲームデータをJSON形式でエクスポート・インポートできます。
エクスポート
- 管理画面「ノベルゲーム管理」→「📦 エクスポート/インポート」を開く
- エクスポートセクションでゲームを選択
- 「エクスポート」ボタンをクリック
- JSONファイルがダウンロードされます
インポート
- 管理画面「ノベルゲーム管理」→「📦 エクスポート/インポート」を開く
- インポートセクションでJSONファイルを選択
- 画像ダウンロードオプション(任意)
- 有効にすると、JSON内の画像URLから自動的にメディアライブラリへダウンロード
- 無効の場合は元のURLをそのまま参照
- 「インポート」ボタンをクリック
JSON インポート仕様
詳細な仕様やトラブルシューティングについては、JSON インポートガイド を参照してください。
最小構成のサンプルファイルは docs/sample-import.json にあります。
主な制限事項と注意点
- ファイルサイズ: 最大10MB
- ファイル形式: JSONのみ (.json)
- 重複タイトル: 自動でリネームされます(例: "ゲーム名" → "ゲーム名 (1)")
- シーンIDの自動調整: インポート時に選択肢の遷移先が新しいシーンIDに自動更新されます
- 画像の扱い:
- 画像ダウンロードオプション有効: 外部URLから自動ダウンロード(時間がかかる場合があります)
- 画像ダウンロードオプション無効: 元のURLをそのまま参照(推奨: 同じメディアライブラリを使用する場合)
広告管理
プラグインは Google AdSense と Adsterra による広告表示機能をサポートしています。
広告プロバイダーID の設定
- 管理画面「ノベルゲーム管理」→「📢 広告管理」を開く
- 使用する広告プロバイダーのパブリッシャーIDを入力
- AdSense Publisher ID:
ca-pub-XXXXXXXXXXXXXXXX形式 - Adsterra Publisher ID: 数値形式
- AdSense Publisher ID:
- 「広告設定を保存」ボタンをクリック
ゲーム毎の広告設定
各ゲームで広告の表示/非表示を個別に制御できます。
- 「マイゲーム」からゲームを選択
- 「ゲーム設定」タブを開く
- 「広告プロバイダー」セクションで選択
- なし: 広告を表示しない(デフォルト)
- Google AdSense: AdSense 広告を表示
- Adsterra: Adsterra 広告を表示
- 「ゲーム設定を更新」ボタンをクリック
⚠️ 重要な注意事項
- 広告IDと設定はユーザーの責任で管理してください
- プラグインは入力されたIDの有効性や規約準拠を検証しません
- 各広告プロバイダーの利用規約を必ず遵守してください
- 広告機能の利用による問題について、プラグイン開発者は責任を負いません
- 広告プロバイダーへの登録とアカウント承認が必要です
公式サイト
アンインストール設定
プラグインをアンインストール(削除)する際のデータ処理を設定できます。
データ削除オプションの設定
- 管理画面「ノベルゲーム管理」→「⚙️ 設定」を開く
- 「アンインストール設定」セクションを確認
- 「Delete all data on uninstall」チェックボックス
- チェックなし(デフォルト): プラグイン削除後もゲームデータを保持
- チェックあり: プラグイン削除時にすべてのゲームデータを完全削除
- 「設定を保存」ボタンをクリック
⚠️ データ削除に関する重要な注意
- デフォルトは「データ保持」: プラグインを削除してもゲームデータは残ります
- 削除は不可逆: チェックを有効にしてプラグインをアンインストールすると、すべてのゲーム、シーン、設定が永久に削除されます
- 復元不可: 削除されたデータは復元できません
- 事前バックアップ推奨: 削除前に必ずエクスポート機能でバックアップを取得してください
- 確認ダイアログ: チェックボックスを有効にする際、確認ダイアログが表示されます
削除されるデータ
「Delete all data on uninstall」を有効にしてプラグインをアンインストールすると、以下がすべて削除されます:
- すべてのゲーム(noveltool_games オプション)
- すべてのシーン(novel_game カスタム投稿タイプ)
- すべてのフラグマスタ定義
- プラグイン設定(広告ID、アンインストール設定など)
- ユーザーメタデータ(選択中のゲームなど)
ゲーム・シーンの削除
ゲームやシーンを個別に削除できます。
ゲームの削除
- 「マイゲーム」からゲームを選択
- 「ゲーム設定」タブを開く
- 「ゲームを削除」ボタンをクリック
- 確認ダイアログで「OK」をクリック
⚠️ 注意: ゲームを削除すると、そのゲームに含まれるすべてのシーンも完全削除されます。復元はできません。
シーンの削除
- 「マイゲーム」からゲームを選択
- 「シーン一覧」タブを開く
- 削除したいシーンの「ごみ箱へ移動」ボタンをクリック
- 確認ダイアログで「OK」をクリック
📝 削除時の動作:
- シーンはごみ箱へ移動されます(WordPress標準のごみ箱機能を使用)
- ごみ箱から復元可能です(投稿一覧 → ごみ箱から復元)
- ごみ箱から「完全に削除」を選択すると永久に削除されます
ごみ箱からの復元方法
- WordPress管理画面の「投稿」→「すべての投稿」を開く
- 上部のタブから「ごみ箱」を選択
- 復元したいシーンを探す
- 「復元」リンクをクリック
よくある質問(FAQ)
Q1. プラグインを有効化すると何が起こりますか?
A1. 「マイゲーム」画面の「サンプルゲームをインストール」ボタンから、任意でインストールできます(自動インストールは行われません)。削除後も同じボタンから再インストール可能です。
Q2. サンプルゲームは削除できますか?
A2. はい、通常のゲームと同様に削除できます。「マイゲーム」から各ゲームを選択し、「ゲーム設定」タブ内の「ゲームを削除」ボタンをクリックしてください。削除すると復元できませんのでご注意ください。
Q3. Shadow Detective を手動で再インストールできますか?
A3. はい。サンプルゲームを削除した後でも、管理画面「ダッシュボード」から「Shadow Detective をインストール」ボタンをクリックすることで、AJAX経由で再インストールできます。
Q4. ゲームを公開するにはどうすればいいですか?
A4. シーンを作成後、そのシーンの「プレビュー」リンクからゲーム画面にアクセスできます。また、ショートコード [novel_game_list] や [novel_game_posts game_title="ゲーム名"] を使用して任意の固定ページや投稿に埋め込むこともできます。
Q5. 複数のエンディングを作成できますか?
A5. はい。選択肢機能を使用して、プレイヤーの選択に応じた複雑な分岐ストーリーを作成できます。Shadow Detective サンプルゲームが参考になります。
Q6. 翻訳に対応していますか?
A6. はい。プラグインは国際化(i18n)に対応しており、翻訳ファイルを使用して管理画面やメッセージを翻訳できます。ゲーム自体を複数の言語で公開する場合は、WordPressのマルチリンガルプラグインやサイトの言語設定をご利用ください。
Q7. ゲームデータをバックアップするにはどうすればいいですか?
A7. 「エクスポート/インポート」メニューから各ゲームをJSON形式でエクスポートできます。エクスポートしたファイルは別のWordPressサイトにインポートすることも可能です。
Q8. プラグインを削除するとゲームデータはどうなりますか?
A8. デフォルトでは、プラグインを削除してもゲームデータは保持されます。完全に削除したい場合は、「設定」→「アンインストール設定」で「Delete all data on uninstall」を有効にしてからプラグインを削除してください。ただし、この操作は不可逆的で復元できませんので、事前にエクスポートでバックアップを取ることを強く推奨します。
Q9. 広告を表示するには何が必要ですか?
A9. Google AdSense または Adsterra のアカウントが必要です。各プロバイダーに登録してパブリッシャーIDを取得後、「広告管理」メニューでIDを設定し、各ゲームの「ゲーム設定」で広告プロバイダーを選択してください。
開発者向け情報
このリポジトリの開発者向けの詳しい情報(開発環境、コーディング規約、翻訳の更新手順、CI のチェック方法など)は docs/DEVELOPER_GUIDE.md にまとめています。開発に参加する方はそちらを参照してください。
- docs/DEVELOPER_GUIDE.md
サンプルゲーム: Shadow Detective(影の探偵)
概要
Shadow Detective(影の探偵)は、本格推理ゲームのサンプルとして実装されています。 プレイヤーは探偵となり、実業家・黒崎誠の失踪事件を追います。関係者への聞き込みと証拠集めで 矛盾を暴き、終盤の3段階の推理フェーズで「黒幕・真相・監禁場所」を自ら結論づける、 推理体験を中心に据えた構成です。誤った推理には代償が伴います。
ゲーム仕様
- シーン数: 25シーン(調査ハブ「事件簿」を中心としたハブ&スポーク構造)
- エンディング: 4種類(完全解決・部分解決・誤推理・袋小路)
- 証拠アイテム: 5種類(懐中時計・佐藤の写真・黒崎の手記・金庫の鍵・裏帳簿)
- 証言・進捗フラグ: 9種類 + 推理の回答記録フラグ4種類(計18フラグ)
特徴
- 3段階の推理フェーズ: 集めた証拠が正解選択肢を解錠。証拠不足なら結論を出せず、誤答は誤推理エンドへ
- 条件付き選択肢: フラグ条件(true/false・AND)で調査先が動的に開閉。探索済みの行き先は自動的に消える
- 選択肢によるフラグ設定(setFlags): 推理の回答を記録
- 条件付きセリフ: 証拠に応じて独白が変化(alternative)・不要な独白が消える(hidden)
- 表情差分・回想演出: セリフ単位のキャラ画像切替、自白シーンでの背景切替(回想)
- 国際化対応: すべてのテキストが翻訳可能(日本語訳同梱)
詳細ドキュメント
- シナリオ詳細設計 - 全25シーンの構成・フラグ設計・分岐フロー
プレイ方法
- 「マイゲーム」画面の「サンプルゲームをインストール」ボタンからインストールします(オプトイン)
- 「ノベルゲーム管理」→「マイゲーム」から「Shadow Detective」を選択
- シーン一覧から最初のシーンを開いてプレイ開始
再インストール方法:
サンプルゲームを削除した場合は、「ノベルゲーム管理」→「🏠 ダッシュボード」から「Shadow Detective をインストール」ボタンで再インストール可能(AJAX経由)
インストール仕様
- オプトインインストール: 「マイゲーム」画面のボタンからユーザーの明示的な操作でのみ実行(v1.6.0以降、有効化時の自動インストールは廃止)
- 手動インストール: ダッシュボードの「Shadow Detective をインストール」ボタンからAJAX経由で再インストール可能
- 重複チェック:
machine_nameフィールド(shadow_detective_v1)により同一ゲームの重複インストールを防止
更新履歴
Version 1.7.0 (Current)
- リビジョン比較の高度差分(段階3)
- 配列要素の並び替え(移動)検出に対応(削除+追加ではなく「移動」として注記)
_choicesなどの連想配列要素をキー単位で差分検出できるように改善- 「変更行のみ表示」「同一行の折りたたみ表示」「JSON形式で出力」の操作UIを追加
- リビジョン比較の配列フィールド詳細差分表示(段階2)
- セリフ・背景・話者・選択肢・フラグ条件・シーン到達フラグの各配列を要素単位で差分表示
- バグ修正
- カスタムフィールドの差分表示がリビジョン比較画面に一度も表示されていなかった不具合を修正(v1.2.0以来の既存バグ)
- 選択肢(
_choices)を含むシーンでリビジョン比較・復元が壊れる不具合を修正 - 詳細は CHANGELOG.md を参照
Version 1.6.1
- スマートフォン表示の最適化
- 画面下端でセリフが見切れる問題を修正(モーダルの高さ基準を実表示領域=dvhに変更、セーフエリア対応)
- 立ち絵が小さく宙に浮いて見える問題を修正(縦画面での最大幅を拡大し、セリフボックスに接地する配置に)
- スマートフォン横向きがタブレット扱いになっていた問題を修正(判定を幅ベースから高さベースに変更)
- 選択肢が画面外や閉じるボタンに食い込む可能性を解消
- 横向きで広告バナーと閉じるボタンが重なる問題を修正
- 詳細は CHANGELOG.md を参照
Version 1.6.0
- プレイ画面デザインの全面刷新(Midnight Noir デザインシステム)
- セリフボックス・選択肢・タイトル画面・エンディング画面・各種モーダルを金彩×ダークトーンで統一
- セリフのタイプライター表示、背景切替のクロスフェード演出を追加
- セリフ表示中に文字が上へせり上がる不具合、狭いボックス前提の固定文字数改行による余白の不具合を修正
- サンプルゲーム「影の探偵」のシナリオを全面改稿(v2 / 25シーン)
- 調査ハブ「事件簿」を中心としたハブ&スポーク構造に再構成
- 証拠が正解選択肢を解錠する3段階の推理フェーズ(黒幕・真相・監禁場所)を追加
- エンディングを4種類(完全解決・部分解決・誤推理・袋小路)に拡張
- 登場人物・背景画像は既存アセットを維持
- 広告バナーのプレビューモード追加
- 広告プロバイダー未設定の環境でも
?nvl_ad_preview=1またはコンソールのnovelGameToggleAdPreview(true)でダミー広告バナーを表示し、レイアウトを確認可能に
- 広告プロバイダー未設定の環境でも
- バグ修正
- サンプル生成時に
_dialogue_flag_conditionsがJSON文字列で保存され、条件付きセリフが 機能していなかった問題を修正 - サンプル生成時に選択肢の
setFlagsが保存されず破棄されていた問題を修正 - 詳細は CHANGELOG.md を参照
- サンプル生成時に
Version 1.3.0
- Shadow Detective(影の探偵)ゲーム追加
- 23シーン構成の本格推理ゲーム
- 3種類のエンディング(完全解決・部分解決・証拠不足)
- 10個のフラグによる証拠収集・進捗管理システム
- required_flags による選択肢条件分岐
- SVG形式のプレースホルダー画像(背景10種・キャラクター6種)
- プラグイン有効化時の自動インストール
- Shadow Detective を自動インストール
noveltool_pending_sample_installフラグによる1回限りの自動インストール制御
- AJAX経由での Shadow Detective 手動インストール機能追加
- ダッシュボードから「Shadow Detective をインストール」ボタンで再インストール可能
machine_nameフィールドによる重複インストール防止
- 広告管理機能追加
- Google AdSense / Adsterra 対応
- プラグインレベルでの広告プロバイダーID管理(「広告管理」メニュー)
- ゲーム毎の広告プロバイダー選択(none / adsense / adsterra)
- 責任と規約順守に関する注意事項の明示
- エクスポート/インポート機能の拡張
- 「エクスポート/インポート」専用メニューの追加
- JSON形式でのゲームデータのバックアップ・復元・移行
- 画像ダウンロードオプション(インポート時に外部URLから自動ダウンロード)
- ファイルサイズ制限(最大10MB)
- シーンIDの自動調整機能
- 重複タイトルの自動リネーム
- 詳細なユーザーガイド(docs/IMPORT_JSON_USER_GUIDE.md)とサンプルファイル
- ゲーム・シーン削除機能追加
- ゲーム設定タブからゲーム全体を削除
- シーン一覧タブから個別シーンを削除
- 完全削除(ゴミ箱に入らない)
- 削除の不可逆性に関する明確な注意喚起
- アンインストール時のデータ削除オプション
- 「設定」メニューに「Delete all data on uninstall」オプション追加
- デフォルトは false(データ保護)
- 有効時はプラグイン削除時にすべてのゲームデータを完全削除
- 不可逆性と事前バックアップの重要性を明示
- 詳細なシナリオ設計ドキュメントの追加
Version 1.2.0
- サンプルゲーム自動インストール機能追加
- プラグイン有効化時に学習用サンプルゲームを自動作成
- 3シーン構成の分岐デモンストレーション
- SVG形式のプレースホルダー画像を使用
- 「条件で内容変更」モードの仕様変更
- 条件成立時に代替テキストを表示、条件不成立時に通常テキストを表示
- 代替テキストが空の場合は通常テキストをフォールバック(空表示を回避)
- 管理画面のUI文言を明確化
- 「通常表示」→「常に表示」
- 「条件で非表示」→「条件成立時に非表示」
- 「条件で内容変更」→「条件成立時に内容変更(代替テキスト表示)」
Version 1.1.0
- ゲーム基本情報設定機能追加
- 新規ゲーム作成ページ追加
- アーカイブテンプレート追加
- ショートコード機能拡張
- 管理画面UI改善
Version 1.0.0
- 初回リリース
- 基本的なノベルゲーム機能
- カスタム投稿タイプ
- フロントエンド表示機能
サポート・貢献
バグレポート・機能要望
- GitHubのIssue でご報告ください
- 再現手順を詳しく記載してください
- 使用環境(WordPress バージョン、PHP バージョンなど)も併せてお知らせください
開発への貢献
プラグインの開発に参加される方は、開発者向けガイド を参照してください。
ライセンス
このプラグインはGPLv2またはそれ以降のバージョンでライセンスされています。
詳細は LICENSE をご確認ください。
Author: shokun0803
Repository: novel-game-plugin
Support: GitHub Issues