SBクリエイティブ

刊行に寄せて – 堂前嘉樹(バンダイナムコスタジオ)『入門ゲームプログラミング』

2014.02.02
対象書籍
入門ゲームプログラミング
堂前 嘉樹
株式会社バンダイナムコスタジオ
ゲームプログラマが育ちにくい時代だな、という実感がある。
私自身ゲームプログラマとして15年、そして幼少期、学生時代を含めると30年以上コンピュータ、そしてプログラムと向き合ってきた。我ながら長くお付き合いしたものだと思う。時間の経過に驚く。それだけ長いとコンピュータの進歩やゲーム等を色々見てきた事にもなるのだが、それらの進歩に非常に驚かされる。特にゲームにおいては、一概にいいとは言えないが、やれる事や表現力が増し、ユーザーをエンターテイメントの世界に引き込む事が出来る。新しいハード、新しいゲームが出る度にワクワクしたものだ。が、それ故にゲームプログラマが育ち辛いという実感が年々増しているように思える。
それは何故か? 思うに表現力等が増すぎて、勉強しなければならない事が増えるのが一番大きいと思っている。大雑把な話で進めるが、ゲームの変遷の大きな部分は2Dから3Dへの進化だと思う。2Dのゲーム開発が簡単だとは言わないが、やはりゲームのルールが構築しやすい上に、画面に表示する等のプロセスが若干楽だという点では非常に分かりやすいと思える。
きっと尻込みもしてしまうのだと思う。自分が何も技術を持たないゲーム少年で「ゲームを作る職業に就きたい!」と思う時に、例えばファミコンのゲームとPS3のゲームを見て、前者は楽しそう、これなら作れるかも、と見て思い、後者はグラフィックが素晴らしく没入感がある、ただこの規模のものに自分が関われる技術を持ち得るだろうか、と感じると思う。個人差はあるだろうが。
要するに技術的にも気持ち的にもハードルが高くなっており、そこに飛び込んでみようと思えるモチベーションを持つのが最初の課題で、だがそれが一番難しいと思うので、ゲームプログラマが育ちにくいと感じているのである。
技術面では、本当にハードルが高くなったと思う。先述通り30年の変遷を見てきた。自身の歴史になるが、最初は某国産パソコンで雑誌に載っていたBASICのプログラムをそのまま写して遊んでいた。そこからC言語で個人の趣味のプログラムを組み、ゲームプログラマになってからは主にC++でゲームを開発していった。プログラミング言語自体は変わってもついていけるのだが、ゲームの処理の中身は個々の要件技術が上がったのもあるし、物量が増えて分業化が進んでいるのが大きな変遷だと思う。個人の趣味の時は一人完結でプログラムが作る事が出来た。ゲームプログラマになってからも2、3人で済んでいたが、最近のゲーム開発は数十人規模で行われ、各パーツを専念して作る様なスタイルがほとんどである。
規模が大きくなると当然の如く開発費が高騰する。そうなると共通して使えるパーツ、例えば画面に出すグラフィックの処理や物理の処理等はいちいち作らなくても、という発想になる。そこで出てくるのが各種ゲームエンジンだ。
最近ではインターネットで各種ゲームエンジンの話題も多く聞く事が出来るだろう。私自身は利用の経験は無いが、周囲で使っている様子やコミュニティの活発さを見ると、商業ゲーム開発では非常に有益なものだと思う。
今「商業」と付けたが、「個人」について考えてみる。私は現在、本業のゲームプログラマの他に某大学でゲームプログラムの特別授業を行っている。内容としてはOpenGLを扱い、なるべく低レベルのところからゲーム処理の大雑把な流れや2Dの処理(主に移動や衝突の物理処理)、最後に3Dを少しといった感じである。一見はおよそゲームとは言えないもの(丸や四角等が移動するレベル)を使って授業を進めている。これは低レベルの所から話を進め、基礎力を付けて欲しいという考えからそうしている。特別授業は自分の講義だけでなく、ゲームエンジンを使った実演授業もあり、学生がチームでゲームを開発していったが、明らかにそちらの方が自分の授業の時より楽しそうな顔をしていた。ゲームエンジンを用いる事で簡単にゲームが作れる上に見た目も派手なので、モチベーションが上がりやすいのは明らかだ。きっと自分も同じ立場だったらゲームエンジンの実演の方が楽しく感じるだろう。ただ、この状態はいずれ商業レベルでプログラミングを行おうと考えている人間に対しては危険だと考える。
プログラマは、一からものを作れる素晴らしい職業だと自分は思っている。ゲームエンジンを利用して組み合わせて作る事は開発工数を減らすという意味では非常に有意義であろう。ただ、どうしてそう動くかを全く理解せずに利用するというのはプログラマの本意から外れているように感じている。「アセンブラを今から勉強しろ!」という極端なレベルの事は言わない。が、最低でも本書の様なDirectXを利用して、なるべくハードに近い部分のものを使ってゲーム作りの基礎部分を作れるという素地は、やはり欲しい。基礎力を身に付けて欲しいと思うし、細かな部分にこだわりを持って欲しい。その上でゲームエンジンを使うなり、C++等を使って作る等のゲームプログラマになって欲しいと思う。泥臭くなるが、やはり基本は非常に大事である。(どの職業でもそうだが。)
さて長くなったが本書について述べる。内容としては自分が先述の特別講義で行っている内容に近い形でゲームプログラムの作成解説を行っている。特に2Dを軸に進めているところが非常に近い。やはり3Dでのゲームプログラムは非常に難しいし入りにくいところがある。まずは2Dで慣れた方が良いという考えを持っているので、本書のアプローチは非常に素晴らしいものだと思う。そしてWindowsのアプリケーションの作成の基礎について触れているのも大きい。Windowsアプリケーションのフレームワークは「お約束」な部分が非常に多く、その理解で挫折する事も少なく無い。その部分も丁寧に書かれているので、本書の入りは非常に良い形だと感じる。読み進める際、本書ではC++の知識はそれほど求めていないが、読んでみてある程度は付けておいた方が良いと感じた。それは各々で勉強をして欲しい。プログラミング言語の習得は「学ぶよりも慣れろ」なので、たくさんプログラムを書くのが一番の近道ではあると思っている。なので、努力もして欲しい。
本書を読み進めて学習すれば、2Dベースでゲームを作れるレベルまで達する事だと思う。主に商業ゲームプログラマを目指す人(主に学生)にアドバイスだが、規模の大小は問わないが、完成品をひとまず作って欲しい。作りかけの状態で終わるとそこまでの経験が自分の実にならないと思っている。なので、本書を読んだ成果を自分なりの形にして欲しい。それが終わったらステップアップで3Dやゲームエンジンに関しての勉強に入ると良い形だと思う。
最後に、何度も言ってしまうようだが、基本は非常に大事である。あらゆるエンジン、言語、処理に触れる時に言える事だが、基本を強く固めていく事によって地力が強くなり、あらゆる局面で対応する為の引き出しが多くなると思っている。本書を通じ、その基礎力を高めるきっかけになり、強力なゲームプログラマの仲間が増えると幸いである。
堂前 嘉樹(どうまえ よしき)
1976年、愛知県生まれ。愛知工業大学を卒業後、ゲーム業界に進みゲームプログラマの職に就く。現在は株式会社バンダイナムコスタジオ所属。主にグラフィックスプログラム周りの業務を行い、成果をCEDEC等で講演を行う事もある。関連作品に「鉄拳6」「鉄拳タッグトーナメント2」「僕の私の塊魂」などがある。最近では本業のゲームプログラムの傍ら、執筆や大学での講義も行う。著書『ゲームを動かす技術と発想』(SBクリエイティブ)は、CEDEC Awards 2013著述賞を受賞。
堂前 嘉樹 株式会社バンダイナムコスタジオ
 
ゲームプログラマが育ちにくい時代だな、という実感がある。
私自身ゲームプログラマとして15年、そして幼少期、学生時代を含めると30年以上コンピュータ、そしてプログラムと向き合ってきた。我ながら長くお付き合いしたものだと思う。時間の経過に驚く。それだけ長いとコンピュータの進歩やゲーム等を色々見てきた事にもなるのだが、それらの進歩に非常に驚かされる。特にゲームにおいては、一概にいいとは言えないが、やれる事や表現力が増し、ユーザーをエンターテイメントの世界に引き込む事が出来る。新しいハード、新しいゲームが出る度にワクワクしたものだ。が、それ故にゲームプログラマが育ち辛いという実感が年々増しているように思える。
それは何故か? 思うに表現力等が増すぎて、勉強しなければならない事が増えるのが一番大きいと思っている。大雑把な話で進めるが、ゲームの変遷の大きな部分は2Dから3Dへの進化だと思う。2Dのゲーム開発が簡単だとは言わないが、やはりゲームのルールが構築しやすい上に、画面に表示する等のプロセスが若干楽だという点では非常に分かりやすいと思える。
きっと尻込みもしてしまうのだと思う。自分が何も技術を持たないゲーム少年で「ゲームを作る職業に就きたい!」と思う時に、例えばファミコンのゲームとPS3のゲームを見て、前者は楽しそう、これなら作れるかも、と見て思い、後者はグラフィックが素晴らしく没入感がある、ただこの規模のものに自分が関われる技術を持ち得るだろうか、と感じると思う。個人差はあるだろうが。
要するに技術的にも気持ち的にもハードルが高くなっており、そこに飛び込んでみようと思えるモチベーションを持つのが最初の課題で、だがそれが一番難しいと思うので、ゲームプログラマが育ちにくいと感じているのである。
技術面では、本当にハードルが高くなったと思う。先述通り30年の変遷を見てきた。自身の歴史になるが、最初は某国産パソコンで雑誌に載っていたBASICのプログラムをそのまま写して遊んでいた。そこからC言語で個人の趣味のプログラムを組み、ゲームプログラマになってからは主にC++でゲームを開発していった。プログラミング言語自体は変わってもついていけるのだが、ゲームの処理の中身は個々の要件技術が上がったのもあるし、物量が増えて分業化が進んでいるのが大きな変遷だと思う。個人の趣味の時は一人完結でプログラムが作る事が出来た。ゲームプログラマになってからも2、3人で済んでいたが、最近のゲーム開発は数十人規模で行われ、各パーツを専念して作る様なスタイルがほとんどである。
規模が大きくなると当然の如く開発費が高騰する。そうなると共通して使えるパーツ、例えば画面に出すグラフィックの処理や物理の処理等はいちいち作らなくても、という発想になる。そこで出てくるのが各種ゲームエンジンだ。
最近ではインターネットで各種ゲームエンジンの話題も多く聞く事が出来るだろう。私自身は利用の経験は無いが、周囲で使っている様子やコミュニティの活発さを見ると、商業ゲーム開発では非常に有益なものだと思う。
今「商業」と付けたが、「個人」について考えてみる。私は現在、本業のゲームプログラマの他に某大学でゲームプログラムの特別授業を行っている。内容としてはOpenGLを扱い、なるべく低レベルのところからゲーム処理の大雑把な流れや2Dの処理(主に移動や衝突の物理処理)、最後に3Dを少しといった感じである。一見はおよそゲームとは言えないもの(丸や四角等が移動するレベル)を使って授業を進めている。これは低レベルの所から話を進め、基礎力を付けて欲しいという考えからそうしている。特別授業は自分の講義だけでなく、ゲームエンジンを使った実演授業もあり、学生がチームでゲームを開発していったが、明らかにそちらの方が自分の授業の時より楽しそうな顔をしていた。ゲームエンジンを用いる事で簡単にゲームが作れる上に見た目も派手なので、モチベーションが上がりやすいのは明らかだ。きっと自分も同じ立場だったらゲームエンジンの実演の方が楽しく感じるだろう。ただ、この状態はいずれ商業レベルでプログラミングを行おうと考えている人間に対しては危険だと考える。
プログラマは、一からものを作れる素晴らしい職業だと自分は思っている。ゲームエンジンを利用して組み合わせて作る事は開発工数を減らすという意味では非常に有意義であろう。ただ、どうしてそう動くかを全く理解せずに利用するというのはプログラマの本意から外れているように感じている。「アセンブラを今から勉強しろ!」という極端なレベルの事は言わない。が、最低でも本書の様なDirectXを利用して、なるべくハードに近い部分のものを使ってゲーム作りの基礎部分を作れるという素地は、やはり欲しい。基礎力を身に付けて欲しいと思うし、細かな部分にこだわりを持って欲しい。その上でゲームエンジンを使うなり、C++等を使って作る等のゲームプログラマになって欲しいと思う。泥臭くなるが、やはり基本は非常に大事である。(どの職業でもそうだが。)
さて長くなったが本書について述べる。内容としては自分が先述の特別講義で行っている内容に近い形でゲームプログラムの作成解説を行っている。特に2Dを軸に進めているところが非常に近い。やはり3Dでのゲームプログラムは非常に難しいし入りにくいところがある。まずは2Dで慣れた方が良いという考えを持っているので、本書のアプローチは非常に素晴らしいものだと思う。そしてWindowsのアプリケーションの作成の基礎について触れているのも大きい。Windowsアプリケーションのフレームワークは「お約束」な部分が非常に多く、その理解で挫折する事も少なく無い。その部分も丁寧に書かれているので、本書の入りは非常に良い形だと感じる。読み進める際、本書ではC++の知識はそれほど求めていないが、読んでみてある程度は付けておいた方が良いと感じた。それは各々で勉強をして欲しい。プログラミング言語の習得は「学ぶよりも慣れろ」なので、たくさんプログラムを書くのが一番の近道ではあると思っている。なので、努力もして欲しい。
本書を読み進めて学習すれば、2Dベースでゲームを作れるレベルまで達する事だと思う。主に商業ゲームプログラマを目指す人(主に学生)にアドバイスだが、規模の大小は問わないが、完成品をひとまず作って欲しい。作りかけの状態で終わるとそこまでの経験が自分の実にならないと思っている。なので、本書を読んだ成果を自分なりの形にして欲しい。それが終わったらステップアップで3Dやゲームエンジンに関しての勉強に入ると良い形だと思う。
最後に、何度も言ってしまうようだが、基本は非常に大事である。あらゆるエンジン、言語、処理に触れる時に言える事だが、基本を強く固めていく事によって地力が強くなり、あらゆる局面で対応する為の引き出しが多くなると思っている。本書を通じ、その基礎力を高めるきっかけになり、強力なゲームプログラマの仲間が増えると幸いである。


堂前 嘉樹(どうまえ よしき)
 
1976年、愛知県生まれ。愛知工業大学を卒業後、ゲーム業界に進みゲームプログラマの職に就く。現在は株式会社バンダイナムコスタジオ所属。主にグラフィックスプログラム周りの業務を行い、成果をCEDEC等で講演を行う事もある。関連作品に「鉄拳6」「鉄拳タッグトーナメント2」「僕の私の塊魂」などがある。最近では本業のゲームプログラムの傍ら、執筆や大学での講義も行う。著書『ゲームを動かす技術と発想』(SBクリエイティブ)は、CEDEC Awards 2013著述賞を受賞。
この記事をシェアする