3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AI搭載ロボットと心を通わせるクイズゲームを作りました

Last updated at Posted at 2023-04-20

この記事は、公式企画「ChatGPTなどの活用方法を発信しよう!」に参加しています。

はじめに

3月20日~26日に開催された、一週間でゲームを一本作るイベントUnity1週間ゲームジャム(以下unity1week)にて、「ノワ、これつくって!」というゲームを作成しました。

AI(ChatGPT)搭載のお料理ロボット・ノワに、作ってほしい料理を伝えよう!
ただし、料理名をそのまま言っちゃダメ!
あなたが「つたえる」ことができるのは、みっつのキーワードだけ。
ヒントを上手につたえられれば、きっとノワが当ててくれるはず!
問題は全部で5問。
あなたとAIのチームワークが試される、新感覚クイズです!

nowa_1.png
nowa_3.png

このゲームは話題のAI・ChatGPTのAPIを使用しています。

また、unity1week終了後の4月15日に行われたunity1weekオンライン共有会#11に登壇し、このゲームの制作過程についてお話ししました。

ゲーム・ルールの紹介

詳しいルールは遊んでいただければすぐにわかると思います。

ざっくりと話すと、

  1. 「お題」となる料理がノワ(ロボット)から提示される。
  2. プレイヤーは、「お題」から連想されるヒントをひらがなで三つまで入力し、ノワに伝える。
  3. ノワはChatGPTを使って「これらの三つのヒントから連想される料理は何?」という質問に回答する。
  4. ノワの回答の中に「お題」となる料理名が含まれていれば正解!

という流れです。

アイデア

「ChatGPTのAPIで何か面白いことがしたい!」がきっかけでスタートしました。
ちょうどAPIが公開されて話題になっていた時期にunity1weekの開催が発表されたので、これは絶好のチャンスと考えて参加を決定しました。

ただ、AIキャラに何かを話してもらうだけだとゲームとしての斬新さが薄いかな……?という懸念があったので、もう一段ひねりを利かせられないか模索。その結果、「インプット内容に制約を設けて、狙い通りのアウトプットが出すことを目指すゲーム」というところに落ち着きました。

このあたりの試行錯誤は共有会でもお話ししたので、ぜひ動画もご覧ください。

  

ChatGPTのAPIをゲームに使う上で一番面白かった & ありがたかったのが、いわゆる【判定処理】を全部AIに丸投げできることでした。

ゲームシステム部分で自分が実装したのは、

  • プレイヤーからの入力受付
  • APIに問い合わせ
  • APIから帰ってきた回答を表示
  • お題の単語があるかのチェック

だけでした。

時短になったことも勿論ですが、今までの自分の技術力では実装できないような判定を使ったクイズを作れた、という点も非常に大きかったように感じます。
  

もしChatGPTがなかったら?

仮に、「三つの単語を伝えて、お題の料理を連想してもらうゲーム」をChatGPTなしで実装してみよう!と考えてみます。
正解/不正解の判定はどうしましょうか?

決まった単語が来たら必ず正解にする?(たとえば、アイスクリームがお題なら「バニラ」と答えれば必ず正解にする)
→ その答えを知ったら終わりの、一度きりしか楽しめないゲームになりそう。

お題に近い単語が来たら一定の確率で正解にする?
→ お題に「近い」かどうかの判断はどうしよう?(形態素解析とか?)

あらかじめ「この単語が来たらこの回答を返す」と決めておく?
→ 準備しておくテキスト量が膨大すぎて、少なくとも一週間で作り切れる規模ではない……

というように、(一週間で)ゲームとしての面白さを確保できる術があまり思いつかないです。

「ルールには沿っていてほしいけど、いつも同じ答えだとつまらない……」
そんな我儘も、ChatGPT先生ならカバーしてくれます。

技術関連

ゲームのシステムには先述の通り、Unityを使用しています。

それに加えて、「ノワ、これつくって!」はブラウザゲームですので、APIを安全に使用するためにAmazon Web Services(AWS)の機能を使用しています。

具体的には、以下の三つの機能を使っています。1

  • Amazon Cognito:
    ユーザーのログイン認証が簡単に実現できるセキュアなサービスです。
    一時的なAPIアクセスキーを取得するために使っています。

  • API Gateway
    REST APIを作成・公開・管理するためのサービスです。

  • AWS Lambda
    サーバーレスでWebを通じたプログラムが実行できるサービスです。
    今回はLambdaとChatGPTのAPIを直接やり取りさせることで、機密情報が通信に載ることを回避しました。

流れはこんな感じです。

名称未設定ファイル.drawio.png

さいごに

ChatGPTを使ったゲームは今後も増えてくると思いますし、その多くは既存のシステムに縛られないものになりそうだと期待してます。

ゲームシステムに「自由に使える不確実性」を持ち込むことができる。
そういう意味で、まだまだ予測もできなかったゲームがどんどん生み出されるんじゃないかなあと思います。

  1. それぞれの使い方はChatGPT先生に聞きました。なので、参考にした記事の紹介などはできないです……

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?