ゲームAI(人工知能)とは何なのか知りたい
将来的にゲームAIの開発に携わってみたいけど必要なスキルについて知りたい
ゲームAIに興味がある方のなかには、このように考える方もいるでしょう。
ゲームAIは実は古くから使用されている技術で、現在のゲームにも多く利用されている技術です。
そこでこの記事では、ゲームAIとは何なのか概要や歴史を解説したうえで、ゲームAIの種類や具体例を解説します。
またゲームAI開発に必要なスキルやその学習方法、おすすめの参考本などもご紹介するので、ぜひ参考にしてみてくださいね。
ゲームAI(人工知能)とは
ゲームが好きな方やこれからゲームを開発したいと思っている方のなかには、ゲームAIに興味を持っている方もいるでしょう。
ここからは、ゲームAIの解説として
- ゲームAI(人工知能)の概要
- ゲームAI(人工知能)の歴史
の2点を解説していきます。
ゲームAI(人工知能)の概要
「ゲームAI」は真苗の通りゲームに使用されているAIのことで、AIのなかでも特定の動作に特化していることから特化型AIといわれています。
ゲームAIにはキャラクターAI・メタAI・ナビゲーションAIがあり、ゲームのテーマや特徴に合わせて使い分けが行われているようです。
ちなみに、古くからNPCなど自動で動くキャラクターなどに対してゲームAIと呼ぶことがありましたが、最近だとシナリオゲームなど幅広いゲームでゲームAIが搭載され始めています。
ゲームAI(人工知能)の歴史
ゲームAIの歴史は意外にも古く、1970年代からゲームAI搭載ゲームが存在します。
最初はスペースインベーダーなど、敵キャラクターの動きを操作するためにゲームAIが使われており、仕組みはシンプルなものでした。
1980年代にはパックマン、1990年代にはNPCキャラクターが自動で行動する技術が開発され、FPSゲームである「Halo Combat Evolved 」や「Counter-Strike」などが開発されています。
ゲームAIは年々活用方法が多様化しており、今後のゲームAIは単純なNPC操作だけでなく、ゲームのシナリオ展開やキャラクターの発言や行動に柔軟性を与える用途で活用させると予想されています。
ゲームAI(人工知能)の種類
ゲームAIはさまざまなゲームで使用されていますが、実はゲームAIには種類があります。
これからゲーム開発に携わりたい方は、ゲームAIの種類を把握しておいた方が業務がしやすいでしょう。
ここからは、ゲームAIの種類として
- キャラクターAI
- メタAI
- ナビゲーションAI
の3つを解説します。
キャラクターAI
キャラクターAIは、ゲームのNPC(ノンプレイヤーキャラクター)などの行動や言動を左右する頭脳に当たるAIです。
ゲーム内で会話の選択や、メインキャラクターの行動に合わせて自律的に行動できるキャラクター作りに必要なAIで、アクションゲームやFPSゲームなどで利用されています。
キャラクターAIの設定についてはゲームによって異なりますが、古いゲームから最新ゲームまで幅広い分野で利用されているAIです。
メタAI
ゲームをしているとイベントが発生したりストーリーが進捗したりしますが、これらはメタAIの管理によって行うことができます。
メタAIは、ゲームの進捗やイベント発生などを管理するAIです。RPGなどで見られるキャラクターの動きに合わせて敵を出現させる操作や、プレイヤーのレベルと同等のレベルに設定された敵を出現させたりする操作をメタAIが行います。
従来はそれぞれの想定パターンを手動で設定しなければいけませんでしたが、メタAIを活用することで自動で調整できるようになりました。
ナビゲーションAI
ナビゲーションAIは、ゲーム内の経路やゲームの進捗状況などをキャラクターAI・メタAI・プレイヤーなどに共有するAIです。
ゲームをしていると、目的地へのルート案内や勝ち・負けなどゲームの進捗状況を知らせる表示がされたり、その進路に合わせて敵キャラクターが出現したりすることがありますよね。
このような仕組みは、ナビゲーションAIがそれぞれに情報を提供していることで実現しています。
逆にナビゲーションAIがないと進捗具合が分からなかったり、進路に敵が現れなかったりするため面白くないゲームになってしまうでしょう。
面白くて分かりやすいゲームを作成する意味でも、ナビゲーションAIは価値があります。
ゲームAI(人工知能)の具体例
ここまででゲームAIの種類を見てきましたが、実際にゲームAIが搭載されているゲームの具体例も気になりますよね。
ここでは、ゲームAIが搭載されているゲームの事例として
- 逆転オセロニア
- ファイナルファンタジー
- パックマン
の3つをご紹介します。
逆転オセロニア
1つ目の「逆転オセロニア」は、リバーシ(オセロ)とトレーディングカードを組み合わせたゲームで、通常のリバーシのルールより複雑で戦略性が高いです。
リバーシの石にはそれぞれキャラクターの設定が追加されており、キャラクターの要素によって通常のリバーシでは起こらない逆転が発生します。
逆転オセロニアでは、キャラクターの強さレベルの調節にゲームAIを活用しており、キャラクターが強すぎてゲームバランスが崩れないようになっているのです。
ファイナルファンタジー
2つ目の「ファイナルファンタジー」は、1980年代に発売されたゲームで今でも最新作が登場するほどの人気作品です。
RPGゲームに分類され、ゲームの進捗状況の共有やイベント開催のお知らせなどをメタAIを使って行っています。
ゲームAIを使って適切なタイミングで命令し、ゲームの進捗を上手くコントロールすることでプレイヤーが快適にゲームを楽しむことが可能です。
パックマン
3つ目の「パックマン」は1980年に発売されたゲームで、シンプルなゲームながらゲームAIが搭載されています。
パックマンは画面上のドットを食べながら敵キャラクターとの駆け引きを楽しむゲームで、簡単に操作できて楽しい点から人気となりました。
パックマンの動きに対する敵キャラクターの動きやゲーム自体の支配状況などをゲームAIで管理しており、緊張感がありつつプレイヤーが楽しめる難易度にコントロールしています。
このように、ゲームAIを搭載しているゲームはたくさんあるので、皆さんも一度身近にあるゲームをチェックしてみてくださいね。
ゲームAI(人工知能)を作るのに必要なスキル
ここまでの解説でゲームAIについて一通り理解できたと思いますが、実際にゲームAIを作るとなるとどんなスキルが必要か気になりますよね。
ここからは、ゲームAIを作るのに必要なスキルとして
- AI開発に必要なプログラミングスキル
- ゲーム開発に必要なプログラミングスキル
- 流行のゲームを分析するスキル
の3つをご紹介します。
AI開発に必要なプログラミングスキル
ゲームAIを開発するためには、AI開発に使われるプログラミングスキルが必要です。
ゲームAI開発は一般的にPython(パイソン)を使うため、Pythonを扱うスキルを身につけましょう。
PythonはAI開発全般や機械学習で用いられる言語で、文法は比較的簡単といわれています。人気言語の1つでもあるので、プログラミング初心者でも学びやすい言語の1つです。
Pythonの特徴や学習方法は以下の記事でも解説しているので、ぜひ参考にしてみてください。
ゲーム開発に必要なプログラミングスキル
ゲームAIを活用してゲーム開発をする場合、ゲーム開発ができるプログラミングスキルが求められます。
ゲーム開発時にはゲームAIを開発するPythonでは不便なため、一般的にはRuby・Java・C++などを使うことが多いです。
Rubyはモバイルゲームやソーシャルゲームで利用される言語で、ゲーム開発向けのライブラリが豊富。
JavaとC++はオンラインゲームやスマホアプリなどに用いられます。JavaとC++はゲーム開発以外にも使いみちが多く、ゲーム開発以外を経験してみたい方にもおすすめの言語です。
ゲーム開発をしたい場合、これらの言語から自分の開発したいゲームの種類に合わせて選択してみてください。
流行のゲームを分析するスキル
ゲームAIを活用してユーザーが楽しめるゲームを作るためには、流行のゲームを分析するスキルも必要です。
人気ゲームを開発するには、流行りのゲームを分析してユーザーが求める機能やデザインを実装することが求められます。
先ほどゲームAIにも種類があることを解説しましたが、実装する機能に合わせてゲームAIを組み合わせることで、よりユーザーが満足できるゲームになります。
ゲームエンジニアとして活躍したいなら、少しずつでもいいのでゲームの分析スキルも身につけておくと良いでしょう。
ゲームAI(人工知能)の学習におすすめの本
ゲームAIについて学習する場合、最初は参考本からスタートするのがおすすめです。
ここからは、ゲームAIの学習におすすめの本として
- 人工知能の作り方 ―「おもしろい」ゲームAIはいかにして動くのか
- 実例で学ぶゲームAIプログラミング
- FINAL FANTASY XV の人工知能 – ゲームAIから見える未来
の3冊をご紹介します。
人工知能の作り方 ―「おもしろい」ゲームAIはいかにして動くのか
この本は「ファイナルファンタジー」のゲームAIに携わった三宅氏の著書で、AIとは何なのかをゲームを例にして解説しています。
ゲームがどのように生まれているかや、ゲーム制作におけるAIの役割も解説されているので、最初の1冊にも向いているでしょう。
内容自体も分かりやすく、事前知識がなくても読み進められる名著です。
実例で学ぶゲームAIプログラミング
この本は、ゲームAIの名著である「Programming Game AI by Example」の翻訳本で、少し内容が難しく中級者向けです。
ゲームAIを理解するために必要な数学や物理から始まり、ゲームAIの開発方法まで解説されています。
ただアルゴリズムや理論的な話も多いので、初心者には理解できないところもあるかもしれません。他の難易度が低い本を読んでから、この本を読むと理解しやすいでしょう。
FINAL FANTASY XV の人工知能 – ゲームAIから見える未来
この本はファイナルファンタジーを開発したAIの専門家であるチームが執筆した本で、AI技術とAI開発について解説されています。
AIそのものの話からAIを活用したゲーム開発、未来のゲームAIについても紹介されているので、これからゲーム開発に携わりたい方にぴったりの本です。
ファイナルファンタジーの話も多く掲載されているので、ゲーム好きの方にも向いています。
ゲームエンジニアになるための学習法
ゲームAIを使ってゲーム開発をしたい場合、現実的にはゲームエンジニアになるのが手っ取り早いです。
そこでここからは、ゲームエンジニアになるための学習法として
- 本やWebサイトで独学する
- 大学や専門学校で学ぶ
- プログラミングスクールで学ぶ
の3つを解説します。
本やWebサイトで独学する
ゲーム開発で使用するUnity・Java・Pythonといったプログラミング言語は本やWebサイトで独学できるため、まずは独学から始めるのがおすすめです。
もちろん、後で紹介するプログラミングスクール等で教えてもらうこともできますが、最終的に教えてもらうにしても独学しておいて損はありません。
参考本やWebサイトを利用して、ゲーム開発の基礎を学んでおくと良いでしょう。
ちなみに、無料で利用できるWebサイトとして「Progate」と「ドットインストール」がおすすめです。
Progateはイラスト形式で基礎を学びながら、実際にコードを打ってプログラミングを学習。ドットインストールの場合は、動画形式の解説動画を見ることでプログラミングを理解できます。
どちらも無料なので、ぜひ一度利用してみてくださいね。
大学や専門学校で学ぶ
独学で不安を感じている方は、大学や専門学校で学ぶ方法もあります。
ゲーム開発に関しては大学や専門学校に専門の学科が用意されているケースも多く、学校に通うことで専門的に学ぶことが可能です。
ただ学校に通う場合、卒業まで一定期間が必要なため、すぐにゲームエンジニアになりたい方には向きません。
また、大学や専門学校は入学料や受講料が高額という点も理解が必要です。
それでも体系的にゲーム開発が学べるのはメリットなので、予算や時間に余裕がある方の選択肢になるでしょう。
プログラミングスクールで学ぶ
専門家にしっかりサポートしてもらいながらゲーム開発を学ぶなら、プログラミングスクールもおすすめです。
プログラミングスクールではゲーム開発向けコースがある場合や、ゲーム開発に必要な言語を選択して学べるケースもあります。
また、スクールであれば専門の講師のサポートを受けながら学習が進められるので、独学に比べて挫折しにくいというメリットも。
費用はかかりますが、今は分割払いやサブスク形式のスクールもあるので利用しやすくなっています。
ちなみに、当社が運営する「SAMURAI ENGINEER」では完全オーダーメイドカリキュラムを採用しているため、ゲーム開発やゲームAI開発に必要なスキルを学ぶことも可能です。
現役エンジニアが講師を務め、カリキュラムの作成から指導まで同じ講師が担当。学習の進捗管理やビデオ通話を用いたレッスンもご用意しております。
ちなみに、お試しではじめてみたい方向けにはサブスク型のスクールもあり、様々な用途・目的に対応した体制を作っています。
まずは一度、オンラインの無料カウンセリングをご予約してみてください。
無料でカウンセリングを受けてみるこの記事のおさらい
ゲームAIは古い歴史がある技術で、キャラクターやゲームの進捗などを自動で管理する際に使用されます。
これからゲームエンジニアを目指す方は、独学やスクールなどでスキルを身につけてみてくださいね。
ゲームAIの種類はキャラクターAI・メタAI・ナビゲーションAIの3つです。それぞれ役割が異なり、キャラクターやゲーム進捗の管理に使用されます。
Python・Java・C++・Rubyといったプログラミングスキルや、流行のゲームを分析するスキルが必要です。ゲーム開発時にはAI開発とゲーム開発の両方の知識が必要な点は理解しておきましょう。
主に独学・大学や専門学校・プログラミングスクールの3つです。どの選択肢を選んでも独学は欠かせませんが、短期間で効果的に学ぶならプログラミングスクールがおすすめです。