ずっと読みたかった本書籍、応用情報の試験が終わったタイミングで読んでみました!
それではさっそくレビューを行います。
■最初にゲーム業界を目指す人に
ゲーム開発者の採用を行っていると提出作品の中にAI関連の要素を入れています、というものをよく見かけます。
その際にどのように取り入れているのか?という質問をするのですが、その際の回答がいまいちなんですよ。
このライブラリを使用している、技術的にこういったことが難しかった、というような返事をよく聞くのですがそういうことを聞きたいわけじゃないんです。
「どのような場面で」、「どのような問題が起きるので」、「どのようなアプローチで解決したか」、という部分が知りたいんですよ!
それがわからないと技術力が優れていても、正しいところで正しいチョイスができるかどうかわからないじゃないですか。
それが出来ないと高い技術力があっても宝の持ち腐れなんですよ。
逆に言うとそのチョイスが正しければ、技術力が低くてもよい表現を実現することが可能なんです。
なんでそういう話をしたかというと、本書がまさに「どのような場面でどのような問題が起きるのでどのようなアプローチで解決したか」ということを解説している書籍だからです。
ニューラルネットワークがどうとかその中身はどうでもいいんですよ。
この本を読んで、こういうことが解決できるということが知りたいんだ、という観点で読んでみてほしいです!
■[PART 1 基礎編]
こちらの章ではゲームAIを勘がるうえでの基礎が書かれていますね。
この辺りをもう少し詳しく知りたいという方は、オライリーの「実例で学ぶゲームAIプログラミング」が良いかもしれません。
個人的には本書の内容だけで個別お技術を深めたほうがいいと思いますね。
この章で得にためになったのはメタAIという仕組みです。
個別AIの実装に関してはそれなりに想像がつくと思うんですよ。
いざそれらをちゃんと連動させようと思ったときにメタAIがないと駄目ですね
・個別のAI処理を設計する
・それらを統合するメタAIを設計する
・各処理を効率よく作成するためのツールを設計する
という手順で進めていく必要がありますね。
その後「QAをどのように行うか」という部分も考えないといけないですが。
本書にはその足りも言及されていますので参考にしてみてください。
目次としては
- ゲームAI入門
- 意思決定ツール
- ナビゲーション システム
- AI とアニメーション
- 位置検索システム
という内容で進んでいますが、全般的に
・どういった部分をAI化するとゲームとして効果的か
・AI化したいところは、実際の人間はどう行動するか
・それをゲームでどう表現するか
という観点で語られているように思います。
■[PART 2 コンテンツ編]
目次としては
- 仲間AI
- モンスターAI
- 兵士AI
- アンビエントAI
- 写真AI
という内容で進んでいます。
FFXVで特徴的だった仕様に関しての実装方法の紹介ですね。
ここもPART 1と同様に
どういったものをどうAIで表現するか?という観点で語られていますね。
そうはいっても実例がないと分からないよ!ということが多いと思いますので、その実例が列挙されている内容となります。
特に気を付けて読んで欲しいところは、AIを作成する際に各アセットとの連携が重要になるという所ですね。
いくらいい仕様を作成してもアセットがそのルールを前提にしていないと実装がままなりません。
ゲーム開発において
・ゲームとしてどういった特徴を持たせたいか
・そのうえでどのようなアセットが必要か
ということは考えられていると思います。
AIを効果的に組み込んでいきたいのであれば、これらを決める際にAIとしてはどのような要素があればいいのか、問部分を組み込んでいく必要があります。
どれをどの順番で決めていくかということに関して、鶏と卵の関係が発生してどれが最初がいいとは言い切れない状況になると思います。
だれしも自分が担当している部分は他の仕様が決まってから組み始めたいもの。
そういってお見合いしていてもしょうがないので、どれれもいいので確度の高いところから順繰りに決めていくことが重要になると思います。
そうかんがえるとゲームデザイン担当が一番大変ですよね。
本書を読むとその設計に関して助けになる内容がたくさんあるかと思います。
■[PART 3 未来編]
目次としては
- 会話AI
- AIモード
- ロギングと可視化
- これからのゲームAI技術
という内容で進んでいます。
会話AIの部分は効率よくAIを組み込みたい人には必見ですね。
画面上のキャラクターが「暑い」という表現をしたい場合、モーションなどで表現するのは本当に大変です。
でもセリフがあれば「暑い」といわせてしまえばわかりやすいですから。
反面どんなゲームでもそこは実現できるので、差異を作り出したいのであれば新たな工夫が必要です。
FFXVでは「会話」という部分に焦点を当てて工夫を入れています。
各国語対応のことまで考えると途方に暮れてしまいますが、ここの工夫は自分の開発で別の特殊な実装を考える場合にも参考になるかと思います。
あとはQAに関しても詳しく語られています。
通常のようにデバッガーを用意してプレイしてもらうだけの形式はオープンワールドのような形式では無理がありますね。
2020年のCEDECで『龍が如く7』の自動バグ発見の講演がありましたが、もう自動化できるところを自動化していかないと実装、バグ発見、修正というサイクルが素早く回せないです。
このあたりも「どうQAを行うか」という部分を見据えて設計する必要があるように思います。
もう1ゲームデザイナーの考えだけでどうにかできる時代ではないですね。
それぞれの技術のスペシャリストがいて、それをどう統合するか考えるディレクターがいて、それをどう効率よく開発するのかを考えるPMがいて、それが全部そろって初めてAAAクラスのゲームが作れるのだと思います。
日本は専門職化が苦手ですからねえ。専門職の人を正しく表できないことが多い。
そう考えるとスクエアエニックスさんはそのあたりをうまく実現できているなあと思います。
■最後に
本当に最新の知識として必要なものがまとまっていていい書籍ですね。
これが出版されるまでゲームAIの良い本がオライリーの物しかなかったんですよ。
いかんせん2007年の本なので内容が古いんですね。
本書は最新の内容に即していて大変勉強になりました。
実際にAI担当になるプログラマーはここに書いてい有ることを知識として理解しつつ、できることとできないことを区分けして取捨選択していくような形式になるでしょうね。
FFXVは開発規模が大きいですし、期間も長いですから同じようにできるタイトルは少ないと思います。
それでも地図は本書が示してくれているのですから、これを乗り越えてより良いものを目指さないといけないですよね!
早いうちに「ゲームAI技術入門──広大な人工知能の世界を体系的に学ぶ」も読んで比較レポートなどもアップしていきたいと思っています。