AI-Gamble:AIによる動的インタラクティブ小説ゲーム

AI/ML

概要

AI-Gambleは、大型言語モデル(LLM)を基盤とした動的インタラクティブ小説ゲームのリポジトリです。プレイヤーが選択したジャンル(例えば「東洋ファンタジー」や「西洋魔法」など)に合わせて、AIがリアルタイムで物語の導入、展開、複数の結末を創作。さらに、ストーリーの全体構造を視覚化した「ストーリーマップ」をMermaid.jsを用いてフロントエンドに表示し、プレイヤーは自身の選択がどのように物語に影響するかを直感的に把握できます。各プレイではランダムで作家名や作品名も生成され、ゲーム性と没入感を高めています。

GitHub

リポジトリの統計情報

  • スター数: 10
  • フォーク数: 2
  • ウォッチャー数: 10
  • コミット数: 2
  • ファイル数: 15
  • メインの言語: Python

主な特徴

  • 大型言語モデルを活用したリアルタイム動的ストーリー生成
  • 物語のジャンルに合わせた多様な文体とシナリオ生成
  • Mermaid.jsによる視覚的なストーリーマップ表示
  • ランダムに生成される作家名・作品名による没入感向上

技術的なポイント

AI-Gambleの最大の技術的特長は、大型言語モデル(LLM)を活用した動的な物語生成にあります。プレイヤーが選択したジャンルやテーマをトリガーとして、AIが物語の起点から分岐、結末までをリアルタイムに生成し、プレイヤーの選択に応じた変化を持たせることで、従来の固定ストーリー型ゲームとは異なる没入型の体験を実現しています。

具体的には、ゲーム開始時にバックエンドでストーリー全体の構造を設計するための「ストーリーマップ(Story Map)」を作成。このマップは、物語の各分岐点とそこへ繋がるシナリオの枝分かれを明示したもので、Mermaid.jsというオープンソースの図表描画ライブラリを用いてフロントエンドに可視化されます。これにより、プレイヤーは自身の選択が物語全体にどのように影響しているかを俯瞰的に理解でき、選択の意味や先読みを楽しむことが可能です。

また、ゲームの文体やシナリオは選択されたジャンルに応じて変化します。例えば「東洋ファンタジー」では神話的な表現や伝統的なモチーフを多用し、「西洋魔法」では西洋ファンタジーの典型的な設定や魔法体系に基づく描写がなされます。この動的な文体変化は、LLMのプロンプトエンジニアリングにより実現されており、ジャンルごとの特徴を反映した文章生成を可能にしています。

さらに、ゲーム開始時にランダムに生成される「作家名」と「作品名」は、プレイヤーの没入感を高めるための演出として機能。これにより同じジャンルであっても毎回異なる設定やタイトルで物語が展開し、繰り返しプレイのモチベーションを高めています。内部的には、これらの名前生成もLLMを活用し、ジャンルにマッチしたネーミングを自動生成しています。

システム全体はPythonをメイン言語に構築されており、LLMとのインターフェースやAPI通信、ストーリーの管理、フロントエンドとの連携を担います。Dockerfileも用意されており、環境構築やデプロイが容易になっている点も特徴です。

これらの技術的工夫により、AI-Gambleは単なる選択型物語ゲームの枠を超え、AIの創作力を活かした新しい形のインタラクティブストーリー体験を提供しています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .env.example: 環境変数のサンプルファイル。APIキーや設定値の管理に使用。
  • .gitignore: Git管理対象外のファイル指定。
  • DESIGN.md: プロジェクト設計書。全体構成や設計思想を記載。
  • Dockerfile: コンテナ環境構築用設定ファイル。
  • README.md: プロジェクト概要、使い方、特徴の説明。
  • 他に、Pythonのソースコード群、設定ファイル、フロントエンド関連ファイルなど全15ファイル。

まとめ

AIを活用した新感覚の動的インタラクティブ小説ゲーム。

リポジトリ情報:

  • 名前: AI-Gamble
  • 説明: 这是一个基于大型语言模型(LLM)的动态互动小说游戏。它能够根据玩家选择的故事类型,实时生成独特的故事情节、人物、以及一个可视化的故事发展线路图,为玩家提供一个充满未知和选择的沉浸式阅读体验。
  • スター数: 10
  • 言語: Python
  • URL: https://github.com/xiamuceer-j/AI-Gamble
  • オーナー: xiamuceer-j
  • アバター: https://avatars.githubusercontent.com/u/188125299?v=4