質問: プログラマ、SE、ゲームプログラマについて
回答: 「ゲームプログラマになる前に覚えておきたい技術」 を書いた者です。評判を検索していたところたまたま見つけたので、これも縁かと思い 書き込ませていただきます。これは私の主観ですので、「そういう意見もあるか」 程度に思ってください。 私はまずはC++を道具としてゲームを作ってみることが第一だと思います。 C++はCを含んでいますから、文法要素が多すぎて大変なら最初はCの範囲だけでもかまいません。 私が最初に参加したゲームはPS2のゲームでしたが、Cでした。 言語なんて道具なのでJAVAの方が良ければそれでもかまいませんが、 Cの方が「コンピュータってつまり何をする機械なの?」ということを体で理解しやすいと思います。 また、たくさんのことを覚えるよりも、やり方を自分で考える経験をたくさん積む方が大切です。 DirectXやOpenGLなどは所詮誰かが作ったプログラムにすぎません。 本質はそれによってどんな計算をどのような方法で行うかにあります。 Windowsだって誰かが作ったプログラムにすぎず、Windows上で動くプログラムを作るためには 「やむを得ず」覚えないといけないことがいろいろありますが、やはりそれは本質ではありません。 VisualStudioの使い方だって同じです。極端に言えばC言語の文法すらそうです。 本質は自分が作りたいゲームをどうコンピュータで動く形で表現するか、にあります。 だから、私はたくさんの本を読んで、たくさんのことを勉強することにあまり意味を感じていませんし、 そうした人ができる人だという印象も持っていません(物知りは所詮物知りです)。 「これが必要だからこれをまず勉強しないと」という考え方は、挫折を招きやすく、もともとの目標を忘れさせます。 人間は必要性が納得できないと本当の意味で勉強することはできません。 むしろ「どこまで勉強せずにゲームを作れるか」と逆に考えた方がいいと思います。 DirectXを勉強しないと3Dゲームは作れない、と言う人を私は疑います。 WiiやPS3はDirectXでは動いていません。あれは手段のひとつに過ぎず、 そもそもそんなものがなくても3Dのゲームは作れるのです。 その過程で「ああ、数学ってこういうふうに使うのか」とか、 「アルゴリズムってだから大切なんだ」ということが身に染みて理解できるはずです。 数学やアルゴリズムやDirectXの面白くない本を苦労して読むのはその後でも間に合いますし、 その時ならきっと楽しく読めると思います。 また、本の良し悪しもよくわかるようになって、ハズレな本に高い金を払わずに済むでしょう。 クイックソートで感動するには、クイックソートが必要な状況に出会った経験が必要なのです。 その順序が逆だから挫折する人が多いのだと思います(高校の勉強もそうですよね)。 あとは本の宣伝になってしまいますが、許してください。 私の本はそういった思いを本にしたものです。 DirectXもWindowsプログラミングも一切なしで、 可能な限り最短距離でゲームを作るための「計算の本体」を学べるようにしたつもりです。 中身はDirectXで動いているので、付録のソースコードを見ればDirectXの実際の使い方も 勉強できるかと思います。 以上です。がんばってください。