昨今のDeepLearning事情とゲームデザインについて思う所
近年AIと呼ばれる技術の革新が目覚ましく、一昔前は将棋や囲碁のような限定的な問題や、動画/画像処理判定など特定の領域で活躍していた要素がクリエイティブ領域に向けて広がりを見せている。
自分自身はゲーム開発に関わった事はなく、まったく現場の事は知らないのだけれど、DeepLearning(以下、DL)に関しては基本的なCNNのふるまいについて学んだことがある。
これらを踏まえて個人的にゲーム製作/デザインに対して興味深く思う所があったので、簡単に纏めてみようと思う。
なお、個人的にDL系統の技術をAIと呼ぶことに抵抗があるので単にDLあるいは、DL系技術/サービスなどと呼ぶ事にする。というのも、DLが注目を集めた当初まで、DL自体はAI技術ではないただの関数というのが主流の考えだったからだ。TensorFlowの入門書など関連書籍にもそう書いてあった。
DL系技術が革新を遂げ有効性を認められるにつれ、ただの関数として売り出すよりも、区別のつかない人に対してAIという文言の方が効率的に遡及できる事が分かり始めて広まったのでいつの間にやら弱いAIに含まれることになってしまったという経緯があって、これをAIと呼ぶのはまだ違和感が残っているので。
見出しはアウトラインとして書いているので、TL; DR代わりにどうぞ。
DL系プロダクト/サービスの発展は目覚ましく興味深い記事もよくあがっている
文章の多言語翻訳で活躍するGoogle翻訳・DeepLはもはや生活の友
DLが最初に力を発揮した囲碁/将棋界隈ではさらなる発展に向けてより良質な学習環境の提供がサービス化されている
HEROZはプロ棋士を含む将棋指しが時代の最先端に位置する研究環境を維持しようとすると、環境構築や維持、マシンのランニングコストの支払いに対して膨大な費用がかかる事に着目しSaaSで解決しようと試みている。
解析系が主流だった画像処理が遂にクリエイティブの領域に到達した
もちろんPhotoshopや、自動運転技術にも画像/動画解析面での発展にDLが大きく貢献した事は疑いようがない。
文字列を解釈して十分クオリティの高い画像を自力で生成可能なプロダクトとしてMidjourney、StableDiffusionが登場し世間を賑わせたのは、対象領域がまだまだDLでは対応できないと考えられていた創作に根差すものだからだ。
最近では自分もStableDiffusionを利用してまさにnoteのサムネイルを作ってみている。
日本産では、ユーザーが自分のイラストを入力する事で絵柄が類似したサンプルを出力できる特化型のmimicが登場している。
先日リリースされたに記事はゲームデザインに対する影響を考えさせるものがあった
DL系の技術を活用して2D対戦格闘ゲームを攻略する人が出てきた
CFN(CAPCOM Fighters Network)という様々なプレイヤーの対戦データが開始から決着までの両プレイヤーの入力まで閲覧可能なシステムを利用して取得した動画データを解析し、ある程度のランク帯(プレイヤーの練度指標)別に勝敗に繋がる行動を確率的に判断して決定可能なDL系ツールを作成したらしい。
既に勝率を高める格闘ゲームの指導をDLによって実践できるところに来ていそうだ
クソバイス問題はAIが解決するという強烈な見出しの話が中でも興味深い。
これはつまり、囲碁/将棋なら特定の盤面に対するある指し手による勝率を算出するのと同じ様に、対戦中の特定行動による勝敗への影響を統計的に弾き出せているという事である。
自分はシトネさん(@sitone_sitone)からのリツイートでこの記事を拝読したのだけれど、以前からたまにぴよ将棋というプロダクトでコンピューター相手に対戦をし、手の好悪をしてもらって練習するというプロセスを経験していたので2D対戦格闘ゲームでもそれが十分可能な領域に来ている様に思えた。
DL系の技術を利用すれば各種パラメータを理想的な勝率に対して最適化できる
以前から考えていた事だけれど、その他にもDLを活用したゲーム製作の省力化は色々ありそうだ。
数値バランスの最適化などはDLが得意とする対象だろう。
キャラクターやそれに紐づくスキルなどのパラメータ/効果量/発動率/発動可能タイミングみたいな要素を数値化してNNに食わせて得られる予測勝率に対して、シミュレーションで1000戦とか回した結果を比較しバックプレッシャーをかければ、学習フェーズを回す事ができる。
他には格闘ゲームならコンボや返し難い連携の発見の自動化なんかは現実的だ。
マリオを攻略するDL系の試みを考えればデバッグ専門会社などではとっくに運用していてもおかしくない。
取れる行動の変化量が確率的に狭いゲームの最適化はDLが向いていそうだ
ただしどんなゲームにも適用できるかというとそんなことはなく、ストリートファイターやウマ娘のように、場面毎に起き得る出来事の幅が狭いゲームが向いている。
難しいのはいわゆるカードゲームの類だろう。麻雀やポーカーのように山札から引くカードの種類がただが知れているならともかく、カード1枚が引き起こす出来事/価値を定量化し難かったり、引いた手札によって確率的に膨大な展開パターンが生じるケースでは何がどれだけ勝敗に結びつくかを決定しずらい。
DL系では自動化しきれない問題もある
プレイ体験に対する最適化は人の感性でしか正否を出せない
そもそもパラメータの調整では解決できない問題がある
現時点で自分がDLを活用しやすいと判断しているのはあくまで数値問題までであって、構造の改善は難しいんじゃないかと判断している。
ゲームデザインやシステムそのものに問題があって一方的に不利な組み合わせがあった場合、勝率を上げるために1ゲーム中で30%の確率で1発以上当たる技により対戦相手が即死するような調整も考えられるが、それでゲーム体験がよくなることはない。
より良い構造を見つけるためには、人間がクリエイティビティを発揮する必要があるだろう。
昔みた囲碁/将棋のブレイクスルーに比べて転換点が訪れるのが早くなっている
最初にDLが世間一般に注目されるきっかけとなったAlphaGoの時代と比べると、登場から人間を超すまでのスピードが圧倒的に早い
Midjourneyがアーリーアダプターに見つかって一部界隈で話題になってから間もなく、なんとAIArtに多少人が手を加えたデジタルアートがコンテストで優勝を果たしてしまった。
niconico主催の電王戦でプロ棋士とマシン将棋が勝ち負けをしていたところから、AlphaGoの登場で囲碁があっという間にトッププロを凌いだ頃をいち観る将として味わっていた自分としては、当時を思い出しつつあまりの変化の早さに驚かされる。
AlphaGoの勝利からしばらくして、囲碁において人間が「模様の善し悪し」というあいまいな価値基準で行っていた序盤の盤面の取り合いを、DL系ではより早い段階で正確に判断しているのではという話になり「囲碁は人間には難しすぎるゲームなのでは」という説が流れていたのを思い出す。
(その後の話は専門家の方に譲りたいところだが。)
果たして「絵画は人間には難しすぎた」と言われる日がくるのだろうか。
他にもMidjournty的に適用できそうな領域がいろいろありそうだ
AIArt自体は今時点では実用視されておらずまだまだゲームデザインに対して圧倒的な精度で恩恵をもたらすには至っていない様子だけれど、手数の暴力でアイデアの種を生みだすような用途では及第点にきていそうだ。
つまり、パラメータのバランスを変えた大量のサンプルを生成してそれをベースに人が調整をかけるやり方である。
「FINAL FANTASY VII REMAKE」メイキング|ポリゴノートを引用しながら考えてみよう。
流体シミュレーションの適用度なんかはどうだろうか。FF7Rの何かのプレゼンで、ヒロインのティファがバーカウンターの上にグラスを滑らせて主人公のクラウドに渡すシーンで、中身のカクテルだけ流体シミュレーションの精度を高めてシーンを流したところ勢いよく中身が飛んだという話をしていた覚えがある。
こういう場面でそれっぽい映像に落ち着くパラメータの案出しみたいなのはできそうじゃないだろうか。
ライティングの調整はどうだろうか。キャラクターのベースを作った後、ステージや周辺環境に合わせて光度や色見、反射率などのパターンを出してもらえそうだ。
エフェクトの組み合わせや発生量などはどうだろうか。これは開発チームのポリシーなどにも依りそうだが、大量の有り合わせ素材から組み合わせの羅列を提示することはできそうだ。
ゲーム制作においてもDL系で「楽をする」のが当たり前になる時はすぐそこじゃないだろうか
ゲーム開発の素人なりにDLが活きそうな領域にあれやこれやと思索を巡らせてみたけれど、こういう使い方ができると示されてみると色々適用できそうな場所はある気がする。
ここまで書いてナンだけれど、いちITエンジニアとしてDLじゃなくても目的を果たせる部分に無理に適用しようとしてもろくなことにはならないという点は留意しておく。FF7Rを例に先ほど挙げた点はどちらかといえばプロの勘でバシッと決めたほうが遥かに安価にスピーディーに決まる可能性は十分ある。
しかしながら、ゲームファンをきっかけにしてソフトウェアエンジニアリングの世界に入った人間としてはやはり技術の発展がゲーム開発に与える影響というのは興味深いし、少しでもクリエイターや開発が「楽をして」より質の高い作品を世に送り出してくれる事を望むばかりである。