メインコンテンツへスキップ
見出し画像

ChatGPTなどの大規模言語モデルの能力とゲームへの活かし方の考察|f4エンジニアブログ

    f4samuraiで活躍中のエンジニアメンバーがお届けするエンジニアブログ。

    今回はクライアントエンジニアの松村による、大規模言語モデル (LLM)の能力と、ゲームへの活かし方について考察した記事をお届けします!

    はじめに


    皆さんこんにちは!f4samurai クライアントエンジニアの松村と申します。

    12月、街はイルミネーションが華やかで美しい季節ですね!自分の場合、職業柄、イルミネーションの歴史を調べたり、見せ方を分析してゲームに活かせないか考えて楽しんでいたりします。

    さて今回のエンジニアブログでは、以前当社ゲームのPR施策でも活用した、ChatGPTを代表とする大規模言語モデル(LLM)を題材とします。

    今年は、AIについての大きな発表が多く、日々新たな進化が見られてほんと楽しい年でした!改めてどのようなものかを振り返り、ゲームでの応用案をご紹介したいと思います。

    ChatGPTとはなにか


    ChatGPTとは、OpenAIが開発した大規模言語モデル(LLM)を活用した人工知能チャットボットです。非常に強大なデータセットとディープラーニングを用いて構築された言語モデルであり人間のトレーナーを使用してモデルのパフォーマンスを改善しています。

    ChatGPTの仕組み
    ChatGPTの理解にはこちらの記事が参考になります。

    簡単にまとめると、ChatGPTは大量のデータに基づき、一番生成される確率の高い文章を出力するように動作します。

    過去のAIに対して、近年のChatGPTをはじめとしたLLMが大きく発展したのはTransformerというアルゴリズムによるものです。

    この中のAttentionという仕組みによって、単語の関連性を計算できるようになり、入力された文章に対して関連度が高い重要な情報を出力できるようになった、と私は解釈しています。

    これらの仕組みによって、当初想定されていたよりも様々な能力が、LLMを用いたシステムで実現出来ています。小規模のモデルでは見られない能力が、大規模なモデルでは突然生まれる、創発と呼ばれる現象が起こっているようで、まさにSFのような世の中になってきていると感じました。

    大規模言語モデル (LLM)でできること


    では実際に、LLMができることにどのようなものがあるのは整理してみましょう!

    <検索>

    まずは検索です。

    ▼ 入力

    日本の都道府県で一番大きいのは北海道では一番小さいものは?

    ▼ 出力

    日本の都道府県で一番面積が大きいのは北海道です。一方、一番面積が小さいのは香川県です。

    <翻訳>

    続いては日本語から英語への翻訳です。

    ▼ 入力

    ゲーム会社は最先端技術を学び新たな遊びを常に生み出さないといけません

    ▼ 出力

    Game companies must constantly learn cutting-edge technologies and create new ways to play.

    <創作>

    ▼ 入力

    ソーシャルゲームを題材に575の俳句を作ってください。

    ▼ 出力

    夏の夜 熱く闘うは レイドボス

    このように、一番確率の高い文章を出力するというというベースはあるものの、文章を細かく解釈し、様々なアウトプットを実現できます。

    ゲームづくりにおけるLLMの使い方


    LLMが持つ、「文章を解釈し、多様な表現を実現する」能力は、新たなプログラミングとも捉えられる面白いものです。これをゲーム開発の現場ではどのように使えるか、自分なりに整理してみました!

    特に、以下のような機能がゲームに活かせると感じています。

    • 世にあるルールや現象をベースとした判断を出力できる

    • 指定した設定の人間のように振る舞える

    • ルールに基づきゲームを運用できる

    この機能を使えば、例えば脱出ゲームのゲームマスターや、サバイバルゲームのルール・演出作成などを行えそうです。

    実例を説明していきます。

    <ChatGPT活用例① 脱出ゲームの作成>

    まずは、脱出ゲームをチャット上で実現する例を説明します。この例では、ルール作成、ルールに応じたゲームの運用、プレイヤーキャラクターの詳細な行動の生成が実現できています。

    ▼ 人間の入力

    ホテルの一室に捉えられた天才エンジニアが主役の脱出ゲームを作ってください。 エンジニアの行動はチャットで指示します。

    ▼ ChatGPTの出力

    了解しました!脱出ゲームのシナリオを以下に作成します。

    シナリオ: 場所: 未知のホテルの一室 登場人物: 天才エンジニア
    (プレイヤー)
    背景:
    ある日、天才エンジニアが目を覚ますと、自分が知らないホテルの一室に閉じ込められていました。部屋には窓がなく、扉もしっかりとロックされている。彼の技術を試すために、ある人物によってこの部屋に閉じ込められたのだとすぐに気づきました。彼は脱出するためのヒントやアイテムを見つけるために部屋中を探し始めます。
    部屋の構造:
    1.ベッド(枕元にテーブルランプ)
    2.机(引き出しが3つ)
    3.本棚(様々な本が並んでいる)
    4.ドア(電子ロックがかかっている)
    5.壁掛け時計
    6.コンピューター(パスワードロックがかかっている)

    スタート: エンジニアが目を覚ますところから始まります。プレイヤーには部屋の状況を伝え、どこを調べるか選択してもらいます。
    エンジニアのアクション例:
    1.ベッドの下を調べる。
    2.引き出しを開けて中を調べる。
    3.本棚の本を一つ選んで中身を確認する。
    4.コンピューターの前に座る。

    脱出の手がかり:
    1.引き出しには小さなドライバーセットが入っている。
    2.本棚のある本の間に紙が挟まっていて、それがコンピューターのパスワードのヒントとなっている。
    3.コンピューターにはドアの電子ロックを解除するためのプログラムが入っているが、実行するにはパスワードが必要。

    ここから、プレイヤーは指示を出し、脱出に必要な手がかりやアイテムを見つけるためのアクションを選択します。 さあ、どこから調査を始めますか?

    ▼ 人間の入力

    本棚を調べる

    ▼ ChatGPTの出力

    本棚の状況
    本棚にはさまざまな本が並んでいます。技術書、小説、アートブックなど、多岐にわたるジャンルの本が置かれています。ただし、一冊の本が他の本よりも少し前に突き出していることに気づきます。
    エンジニアはその突き出している本を手に取ります。タイトルは「電子の世界」。中身をパラパラとめくると、ページの間に薄い紙が挟まれていることを発見します。
    紙には次のように書かれています。
    「最も素晴らしい技術はシンプルな中に存在する。」
    このメッセージは一体何を意味しているのでしょうか?他の本も調べるか、このヒントを元に次のアクションを選択するか、選んでください。

    このような感じで、今までは複雑なif文などでしか作れなかった世界やルールの構築を今までと違った方法で作成することができそうですね。

    <ChatGPT活用例② ルール、構成のコントロール>

    続いて、ゲームをコントロールする方法を検討してみます。方法は、より詳細な依頼を投げることで実現出来ます。

    ▼ 人間の入力

    20人で行うサバイバルゲームのルールを作成してください。
    プレイヤー層が一番多い世代を選び説明してください。
    マップは1時間の番組に適したサイズになるようにロケ地を選び説明 。
    第1STAGEの内容を説明 。
    キャラクターの設定も説明 。
    勝敗判定の決め方、盛り上がりどころ カメラワークを考慮し、必要な台本 をアウトプットしてください。

    ▼ ChatGPTの出力

    1.客層: 20代から30代の若者。この世代はSNSの普及やリアリティーショーへの関心が高く、参加者や視聴者としての関与が期待されます。

    2.マップ: 海辺の無人島。森、浜辺、小高い丘などのバラエティ豊かな地形があり、1時間番組内で多彩なシチュエーションを生み出せる。

    3.第1STAGE: 「資源争奪戦」。マップ上の特定の地点にサバイバルに必要なアイテム(食料、工具、武器など)が隠されている。参加者はそれらのアイテムを探し、他の参加者と争奪戦を繰り広げる。

    4.キャラクターの設定:
     ・リーダータイプ: 戦略的で人々を引っ張っていくカリスマ性を持つ。 知恵袋: サバイバル技術や知識に詳しい参加者。
     ・肉体派: 体力やアクションを活かすタイプ。
     ・策略家: 他の参加者との同盟や裏切りを駆使してゲームを進める。
     ・お人好し: 素直で人間関係を重視するタイプ。

    5.勝敗判定:
     ・最後の5人になるまでのサバイバルを目指す。
     ・アイテムの取得数や他の参加者との協力・裏切りの結果、各ステージの終わりにポイントが付与される。
     ・最終的に最もポイントを獲得した者が勝者となる。

    6.盛り上がりどころ:
     ・アイテムの争奪戦
     ・参加者同士の協力・裏切りの瞬間
     ・サバイバルの難関や意外な展開

    7.カメラワーク:
     ・ドローンカメラで全体の様子を捉える。
     ・アクションカメラで参加者の視点を取り入れる。
     ・隠しカメラやリアクションカメラで各参加者の感情やリアクションを捉える。

    8.必要な台本:
     ・オープニング: 司会者がルール説明。
     ・参加者自己紹介: 各参加者が自分の戦略や意気込みを話す。
     ・サバイバルの各局面でのナレーションや解説。
     ・クライマックスや結末を迎えるシーンでの背景音楽やナレーション。

    この設定により、視聴者は参加者の心理戦やサバイバルの緊張感を楽しみながら、各参加者の成長や変化を見守ることができます。

    ChatGPTはその特性上、より詳細なルールを記載するとそれにそって返答を作成してくれます。

    文章のコンテキストをかなり詳細に把握して返答を作ってくれるため、キャラクターや世界観の設定をしっかり行えば、インタラクティブに生成される物語も作れるようになりそうです。

    まとめ


    ChatGPTを代表とする大規模言語モデル(LLM)を使うと、今まで実現が大変だった

    • 世にあるルールや現象をベースとした判断の出力

    • 指定した設定の人間のような振るまい

    • ルールに基づきゲームマスターを行う

    といった設計、設定作成をAIが実行し、少ない工数で実現することができそうです。

    今回は、文字のみでのアウトプットでしたが、ChatGPTはAPIも存在しており、画像が表示・配置できるゲームエンジンから実行する方法も研究されています。

    マップエディタに組み込みデータ生成の助けとしたり、文字入力をして会話に反応してくれるキャラクターを作ったりと、ゲームエンジンと連動できると更に面白いことができそうですね!

    スマートフォンが出た時のような可能性が広がる技術、今後も研究を続けて情報発信していこうと思います!


    ▼ f4samurai Engineer Recruiting
    エンジニアの方向けの採用情報をまとめた特設ページもございます。ぜひこちらもご覧ください。

    ▼ f4samurai Recruitサイト
    f4samuraiでは、一緒に働くメンバーを積極採用中です!「まずはちょっと話を聞いてみたい」というご相談も歓迎いたします。


    あなたへのおすすめ