Upgrade to Pro — share decks privately, control downloads, hide ads and more …

はじめてのちゃっとじーぴーてぃーげーむせいさく

 はじめてのちゃっとじーぴーてぃーげーむせいさく

Unity1Week「つたえる」投稿作品かつChatGPTAPIを利用したこっくりさんなりきりゲーム「ChatKKR」についてのLT資料

More Decks by 41 h0 -シホ- (‪41h0‬)

Other Decks in Technology

Transcript

  1. はじめての
    ちゃっとじーぴーてぃー
    げーむせいさく

    View full-size slide

  2. 自己紹介
    41h0(シホ)
    VtuberとXRとゲームとお酒を愛する
    (自称)Unityエンジニアです。
    UnityでVR/ARアプリ開発、ゲーム開発、
    VRSNSワールド制作などをしています。
    最近はUnrealEngineも修行中。
    好きなVtuber → 電脳少女シロちゃん
             星街すいせいさん  KMNZ…etc
    最近遊んで良かったゲーム → ファミレスを享受せよ
                   MONCAGE-箱庭の夢-
                   パラノマサイト FILE23 本所七不思議
    好きなお酒  → 舞美人 澤乃井 とぶさかなで飲める鯛の骨酒
             ストゼロダブルメロン

    View full-size slide

  3. 作ったゲーム ChatKKR

    View full-size slide

  4. 企画の流れ
    勉強のためにChatGPTAPI使ってみたい

    つたえる×ChatGPTで企画こねこね

    最新技術であるChatGPTに古い文化や風習を結び付けたら面白そう

    Unity1Week開催直前にパラノマサイトクリア





    こっくりさん × ChatGPTで作ろう!

    View full-size slide

  5. ChatGPTAPIについて(1/2)
    初めてAPIを使う場合は18ドル分の無料枠を利用することができます
    ※ただしOpenAIアカウント作成から4カ月以内という条件有
    ChatGPTへのリクエストの文章+レスポンスの文章の文字数(1英単語=1トークン)
    による従量課金制です
    つまり日本語だと1文字でも
    1トークン以上かかることがある...
    個人的な体感ですがトークン節約を考えながら
    運用すればU1W評価期間は無料枠のみでも
    いけそう

    View full-size slide

  6. ChatGPTAPIについて(2/2)
    Unityへの実装はねぎぽよしさんが書かれている
    右記記事を参照
    ただしWebGLゲームを作る場合は
    Unity内にAPIキーを暗号化せずに埋め込み、
    直接ChatGPTを叩きにいくと外部からAPIキーが
    見えてしまうので注意!
    自分の場合は途中で上記に気づき、
    プレイヤーが持っているAPIキーを使用して遊ぶ方針に
    変更しました

    View full-size slide

  7. ChatKKRでのおおまかな
    ChatGPTの処理の流れ
    ChatGPTで小学生を召喚し
    こっくりさんに質問させる
         ↓
    質問に対してプレイヤーが
    10円玉を操作して回答を作成
    選んだ回答を小学生に伝える
         ↓
    質問に対する回答の満足度で
    得点計算する

    View full-size slide

  8. ChatGPT小学生召喚術
    public ChatGPTManager(string apiKey) 

    {

    _apiKey = apiKey; 

    _messageList.Add( 

    new ChatGPTMessageModel() 

    { role = "system"

    , content = "あなたはこっくりさんで遊んでいる小学生です。" });

    }

    roleにsystemを指定することでChatGPT側の動作を設定できる。
    contentでChatGPT側にどんな風に振舞ってほしいか設定する。
    上記振舞いを設定してから
    "こっくりさんに何か質問してください。小学生らしい質問でお願いします。
    質問文は「」で囲ってください。"という入力を行い、
    「」内の質問文をゲーム内に表示している。

    View full-size slide

  9. 小学生に回答を伝える
    roleにuserを指定することでユーザー側の発話定義となる
    contentにChatGPTに入力する内容を設定する。
    ChatKKRでは10円玉で選んだ回答を下記文章の●●●の箇所に挿入し、
    ChatGPTに回答を伝えている。
    "先ほどの質問に●●●と回答が来ました。
    先ほどの質問への回答の満足度を0 ~10で
    答えてください。満足度の数値は
    「」で囲ってください。”

    View full-size slide

  10. 満足度調査
    前回送った
    "先ほどの質問に●●●と回答が来ました。
    先ほどの質問への回答の満足度を0 ~10で答えてください。
    満足度の数値は「」で囲ってください。”
    で満足度が返ってきたら「」内の数字を取り出して得点として追加する。
    満足度の基準はそのたび召喚される小学生におまかせしているのは詳細は謎です。
    10点取るとじつは狐がジャンプします。

    View full-size slide

  11. 感想
    ・今回製作にそこまで時間がかからなかった気がする。
     →おそらくコード側で複雑な条件分岐処理を書くことなく
      ChatGPTに任せることができたため?
    ・ChatGPT×オカルトorファンタジーorSFは可能性がいっぱい
     →オカルトorファンタジーorSFの多種多様なテーマは作られ尽くされた感があるが
      ChatGPTをからめることでまた新しい可能性が見えてきそう
    ・自論として
     開発者視点では理屈の通ったロジックがあって狙った処理が動くようになっていても
     もしプレイヤーがそれを知らず、なぜそう動くのか分からなければ
     魔法のような体験を実現することができる!
     AIが世間に浸透しきってない今こそ!
     魔法の体験ができるプレイヤーが多い今こそ!
     ChatGPTゲーを作るべきでは!!!???

    View full-size slide