ソフトウェア開発者のための OSS、まとめてみました!

ソフトウェア開発を行なっている自分が、個人的に面白いと思ったプログラムの最新技術や、オープンソースソフトウェア(OSS)をまとめています!

MENU

OpenAI API を利用した RPG のような環境を実現!「GPTRPG」

概要

ChatGPT が世間をにぎわせている中、一度は ChatGPT を触ったことがある方が多いかと思います。

ChatGPT はアメリカの OpenAI 社が開発した人工知能を使ったチャットサービスのことで、人間の質問に対してまるで人間のように自然に答える技術を搭載しており、AI と自然な会話ができると今話題となっています。

参考:ChatGPT(チャットGPT)とは?始め方・使い方・ログイン手順・料金を解説|日本語には対応している? - GOAL

www.goal.com

そんな ChatGPT ですが、なんと API 経由で ChatGPT を利用することができるよう OpenAI 社が公開しているため、ChatGPT の機能を組み込んだサービスが GitHub 上でも数多く開発・公開されています!

ChatGPT の API を利用して、ChatGPT をデスクトップアプリで利用できるサービスが開発されたり、音声合成技術と組み合わせた新しいサービスなども次々と開発されたりしています。

そんな中、OpenAI API を全く新しい観点で利用しているサービスがあったので、今回はこちらについてご紹介したいと思います。

今回ご紹介する OSS は、OpenAI API を利用して RPG のような環境を実現した「GPTRPG」になります。

GPTRPG」はブラウザ上で動作し、まるで RPG のような世界観を実現しています。

OpenAI API は、キャラクターのおかれた周囲の状態やキャラクター自身の状態について判断させ、UI 上で表示させるために使用されているそうです。

それでは早速詳細について見ていきましょう!

目次

特徴

GPTRPG」の特徴として、OpenAI を利用したキャラクターの意思決定が、周囲の環境を判断してなされるという点があります。

本記事執筆時点(2023年4月時点)では、キャラクターが可能なアクション(どのタイルに移動できるかなど)、周囲の状況、およびキャラクター自身の状態(現在は眠気のみが測定される)が、OpenAI API 経由で回答され、UI 上に表現されるようです。

その他の特徴としては、本記事執筆時点で以下のことができるようです。

  • キャラクターの操作
    • キーボードのカーソルキーでキャラクターを移動可能
    • 植物タイルに種を植えることが可能(キーボード「s」キー)
    • 植物タイツから食料を収穫することが可能(キーボード「d」キー)

OpenAI API を使った、新しい ChatGPT の使い方として、今後の発展に期待が持てますね!

利用手順

利用方法としては、GitHub リポジトリからソースコードをクローンし、ローカル環境で動作させる方法のみとなっています。

なお、「GPTRPG」は Node v16.19.0 で動作確認済みとのことなので、必要に応じて Node.js をインストールしてください。

nodejs.org

  1. ソースコードのクローン
   git clone https://github.com/dzoba/gptrpg.git
  1. agent/.env.json に OpenAI API キーを設定

  2. 必要な Node.js モジュールのインストール

gptrpg に移動して、必要なモジュールをインストールします。

   cd gptrpg
   npm install
  1. ローカル環境で起動
   npm start

起動後は、http://localhost:3000/ にアクセスして動作を確認できます。

使用感

早速私のほうでもこちらの「GPTRPG」を試してみました!

キャラクター自体はキーボードのカーソルキーで操作できました!

ただ、植物タイルに種を与える操作「s キー」と植物タイルから食料を収穫する操作「d キー」を行うと画面が固まってしまう現象が起きてしまいました。

現在も絶賛開発中ということなので、このあたりのバグなども修正していってほしいですね。

また、今後の機能実装予定項目として、以下の内容が挙げられていました。

  • マルチエージェントのサポート
  • エージェント アクションの追加 (飲む、食べる、食べ物を植える、食べ物を収穫する、詩を書くなど)
  • エージェントの状態の追加 (空腹、喉の渇きなど)
  • エージェントの記憶機能
  • ウェブへの展開
  • 人間が操るキャラクターの追加
  • UI の強化 (エージェントの状態、人間とのやり取りなど)

さらなる機能の追加に期待ですね!

まとめ

今回は、OpenAI API を利用して RPG のような環境を実現した「GPTRPG」という OSS についてご紹介しました。

ChatGPT の API を全く新しい形で利用している OSS サービスだったので、非常に興味深かったです!

OpenAI API(ChatGPT)を利用してキャラクターの置かれている状況や心情なども表現しようという試み、自分では思いつかない発想だったので、今後のさらなる開発にとても興味を持ちました!!

ChatGPT の新たな活用方法について興味がある方や、新しい RPG の在り方に興味がある方は、ぜひ一度こちらの「GPTRPG」を試してみてはいかがでしょうか。

ライセンス

特に明記されていませんでした。

リンク

github.com