0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

軽量オフライン AI をゲーム機で動かしてみた ~ 実際に触ってわかった、ゲームに使えるポイント ~

Posted at

はじめに

AI をゲームに使う、という話をすると、

  • サーバー必須になりそう
  • オフラインで動かすのは重そう
  • 結局、実験デモで終わりそう
  • 開発効率の道具じゃないの?

といった印象を持つことが多いと思います。

ですが最近、実際にゲーム機上で AI を動かしてみて、「これはもう、ゲームの企画に使える段階に来ているかも」と感じるケースが増えてきました。

そこで、この記事では、

  • 実際に動かした所感
  • これまでのゲーム開発の経験

をベースに、
ゲーム企画・演出・設計のどこに使えそうか
という視点で書こうと思います。

AI の仕組みや精度、ベンチマークといった評価ではありません。

🤚 やってきたことと、触った AI

この記事の内容は、実際に動いている簡単なデモを元にしています。
作り込みは最小限ですが、以下の環境で AI エンジンを動かしてみました。

  • Unity に C++ の OSS を移植
  • Windows とゲーム機で実行
  • サーバーは使わず、オフラインのみで実行
  • GPU は利用せず、CPU のみで実行

AI モデルは、無料で公開され、学習済みの AI モデルを利用しました。

  • 文章や画像を理解するモデル
  • 人体・人物・顔を認識するモデル
    • 姿勢(ポーズ)推定
    • 人物切り抜き
    • 人検出
    • 顔検出・表情推定

AI エージェントもモデルも、軽量なものを採用しています。

🕹️ 人体 AI は「入力」で終わらない

姿勢推定や顔認識というと、WEB カメラなどを使って「ジェスチャーで操作ができる」というイメージをしやすいのではないでしょうか。

しかし実際に使ってみると、
それだけでは終わらない
と感じました。

推定結果は「情報」として使える

例えば、姿勢推定 AI の動きを見ると、

  • 画像から
  • 人物を特定し、
  • 人体の骨格構造を把握し、
  • 各関節の位置や向きを推定

しています。

これを踏まえると、
画像を解析して推定した結果を「情報」として利用
することもできます。

姿勢推定の例で言うと、画像は解析対象で、人物の

  • 場所
  • 骨格情報
  • 姿勢
    といった「情報」です。

これが顔推定だと、目鼻口の位置や表情といった「情報」です。

「動き」も得られる

動画や WEB カメラからの画像を利用すると、
リアルタイムに「連続した情報」
を得ることがでます。

毎フレーム更新される画像を対象に推定することで、

  • どれくらい動いたか
  • どういう姿勢の変化があり
  • 前と比べてどう変わったか

といった情報を得ることができるようになります。

ゲームのレンダリング画像からも得られる?

毎フレーム更新されるゲームのレンダリング画像を解析対象、キャラクターモデルを人物と置き換えると、
技術的には、ゲームでもリアルタイムに推定
できる未来が見えてきます。

ただし、既存の学習済み AI モデルでは、おおよそ ゲームキャラクターを人として認識できない ので、そのキャラクターを認識できるように学習させる必要はあります。

例えば、

  • 攻撃モーションが「大きすぎる」「雑になっている」
  • 回避行動が「間に合っていない」
  • 構えが崩れている

といったことを、アニメーションや数値ではなく
見た目の動きそのものから、「何が起きているか」を AI に推定させる
という用途に広げられます。

🎮 ゲームでの 3 つの使い道

実際に触った感覚では、人体・人物系 AI の使い道は次の 3 つに分けると考えやすいです。

① 入力:体を操作として使う

これは一番分かりやすい使い方です。

  • 腕を上げる
  • しゃがむ
  • ポーズを取る

といった動きを、操作としてゲームに渡します。

フィットネスやパーティゲームでは、今すぐ使えるレベルです。

② 評価:動きや状態を測る

入力との違いはここです。

  • 姿勢は正しいか
  • バランスは取れているか
  • 前より上達しているか

といったことを、数値や状態として評価できます。

スコア、成長、練習と非常に相性が良い気がします。

③ 演出:世界がプレイヤーに反応する

推定結果をトリガーにして、

  • NPC の反応を変える
  • 演出を変化させる
  • 難易度やゲームバランスを調整する

といった使い方も考えられます。

プレイヤーの状態に「世界が反応する」 感覚を作りやすくなります。

🖥️ オフラインで動かすデメリット(正直な話)

今回、オフラインで動かしましたが、いくつかデメリットや課題も発見できました。

❌ 学習し続けるわけではない

  • 基本は「学習済みモデル」
  • プレイしながら賢くなる、はできない

👉 学習済みモデルは、ゲーム開発時に作り込む必要があります。

❌ やっぱり重い

軽量とうたわれる AI エンジンやモデルを使っても、ゲーム機では重いです。

  • GPU の利用、最適化・高速化が必要
  • 同時に使う数・解像度・推定頻度には工夫が必要

👉 「全部 AI でやる」は現実的ではない

❌ 万能ではない

100% 正確ではないです。

  • 状況によってブレる

👉 ゲームでは「多少の曖昧さ」を

  • 演出
  • 補正
  • 段階評価

で吸収できるため、 完全な正解を求めない設計 と相性が良いと思います。

💡 それでもオフライン実行を選ぶ理由

それでも、オフラインで動かす価値は大きいです。

  • レスポンスが速い
  • サーバー費用がかからない
  • 通信環境を気にする必要がない
  • 映像データが外に出ない

何より、
AI をゲームロジックの一部として扱いやすい
これが一番大きいと感じています。

✨ まとめ

オフライン AI は、

  • 入力として使える
  • 推定結果を情報として使える
  • 演出に使える

ただし、

  • 学習はしない
  • 重さと精度には限界がある

それを理解した上で使えば、
ゲーム体験を一段広げる道具
として、十分に使える段階に来ています。

「AIをどう実装するか」よりも、
「AIに何を判断させると面白くなるか」を考えるフェーズに入った、
というのが正直な感触です。

ただ、実際にゲームで本格的に使っていくには、まだ手探りの部分も多く、試行錯誤は必要だと思います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?