📋 プロジェクト概要

ChatRPGは、最新のAI技術を活用した革新的な対話型ロールプレイングゲームです。プレイヤーは中世ヨーロッパ風の世界で、AI駆動のNPCキャラクターと自然な会話を楽しみながら、冒険を進めることができます。

🎮 ゲームの特徴

  • AI駆動の自然な対話システム
  • 動的な信頼度システム
  • 古の迷宮での戦闘システム
  • 装備・アイテム管理
  • 複数の場所での冒険

🏗️ アーキテクチャ

  • フロントエンド:Vanilla JavaScript
  • バックエンド:PHP
  • AI API:OpenAI GPT連携
  • データ保存:LocalStorage
  • レスポンシブデザイン

🛠️ 技術仕様

フロントエンド技術スタック

HTML5 CSS3 JavaScript ES6+ LocalStorage API Fetch API

バックエンド技術スタック

PHP 7.4+ OpenAI API JSON cURL

🏛️ システム アーキテクチャ

Client (Browser)PHP BackendOpenAI API

LocalStorage (Game Data)

🎯 主要機能

💬 対話システム

複数のNPCキャラクターとの個別チャット、グループチャット機能を提供。AIによる自然な応答生成。

🤝 信頼度システム

プレイヤーの行動に基づいてNPCとの信頼関係が動的に変化。購入、寄付、会話内容が影響。

🏰 古の迷宮

10階層のダンジョン探索システム。ターン制戦闘、モンスター撃破による階層解放。

🛒 商業システム

酒場、商店、病院、修道院での購入・寄付システム。NPCによる商品説明。

🔧 API エンドポイント

アクション 説明 主要パラメータ
chat 個別キャラクターとの1対1チャット character_id, message, trust
group_chat 場所内の複数キャラクターとのグループチャット location, message, characters
npc_conversation NPC同士の自動会話生成 location, characters
dungeon_action ダンジョン内での戦闘・探索処理 floor_id, action, player_stats
get_game_config ゲーム設定データの取得 なし

💾 データ構造

プレイヤーデータ

{ "player": { "name": "冒険者", "gold": 1000, "hp": 100, "maxHP": 100, "attack": 0, "defense": 0, "equipment": { "weapon": null, "armor": null } } }

ダンジョン進行データ

{ "dungeonProgress": { "unlockedFloors": ["1F"], "currentFloor": null, "total_defeated": 0, "current_monster": {} } }

🎲 ゲームシステム

⚔️ 戦闘システム

ダメージ = max(攻撃力 - 防御力, 1)

ターン制での攻撃・逃走選択

🔓 階層解放

2F: 10匹撃破で解放

3F: 20匹撃破で解放

nF: (n-1)×10匹撃破で解放

🎁 アイテムドロップ

各階層で1%確率でアイテムドロップ

7F以降は魔法アイテムが出現

📈 信頼度計算

会話内容、購入額、寄付額に基づいて動的計算

0-100の範囲で管理

🌍 ゲーム世界

探索可能な場所

🍺 黄金の麦穂亭(酒場)

4人のNPC:店主、看板娘、老人、鍛冶屋

飲食メニューの提供

⛪ 聖ルシア修道院

3人のNPC:修道女長、シスター×2

寄付システム

🛒 マーカス商店

1人のNPC:店主

武器・防具の販売

🏥 村の診療所

2人のNPC:医師、看護師

回復薬の販売

🏰 古の迷宮

10階層のダンジョン

モンスター戦闘、アイテム収集

🔧 設定とカスタマイズ

📝 設定ファイル: config.php に全ての設定が集約されています。キャラクター情報、アイテムデータ、ダンジョン設定などの変更が可能です。

🚀 展開とメンテナンス

必要な環境

パフォーマンス最適化

📚 このドキュメントは技術仕様の概要です。 詳細な実装については、ソースコードのコメントと併せてご確認ください。