数学苦手でもゲームを作ると自然と数学が好きになる理由

独学法

ゲームプログラミング 数学好きになる

こんにちは。なおキーヌです。

ブログ毎日更新は273日目になります。

コード記事ガッツリ書いてると消耗しちゃうのでたまにはゲームに関するお話を。

ゲームを作っていると数学(特に三角関数や微分積分・行列等)を、
ちゃんと勉強しとけばよかったと後悔することが多くなりました。

というのも、複雑な計算式を行わないと理想の動きに近づけないことが多いのです。

なぜゲームプログラミングをすると数学が勉強したくなるのかの結論から先に言っておくと、
どうしてもその処理を実現したいので、気付いたら数学を学んでいるパターンというわけですね。

ゲーム作りで凄いことや複雑な動きをしようとすると、途端に数学の知識が必要になってきます。

2Dゲームなら意外と私のような偏差値30ぐらいのレベルでも調べれば二次関数や三角関数などはなんとかなるのですが、
3DゲームともなるとZ軸が増えるので3次元ベクトル計算や微分積分等高等数学が必要になり途端に計算がややこしくなります。

いくらコンピュータが難しい計算をやってくれるとはいえ、
扱う側が理解していないとコンピュータにどう命令していいのかが分かりません。

最近では数学すげー出来るプログラマがそんなことしなくてもいいように、
値を入れるだけで難しい計算をしてくれる関数やソフトを作ってくれているので、
私みたいな偏差値40もあるかわからないドアホでもゲームを作ることができてしまいます。

代表的なのはUnityやUnreal Engine4とかですね。

純粋にゲームそのものを作りたいという人にはこれだけで完結してしまいます。

ゲーム制作界隈のツイッターをみていると、
変態的(良い意味で)な技術を披露している人がいたりしませんか?

ああいう人はちゃんと勉強してきて基礎もしっかりとできていて、
なおかつゲームに応用できる知識を持っているわけです。

しかし私みたいに学校の勉強はサボってはゲームばかりしていた人も、
ゲーム制作をやっている人はいると思います。

そんな人たちはそんなすごい技術をみたりすると決まって

数学、真面目にやっとけばよかったなぁ……

と後悔します。

そういう人たちは当時嫌っていた数学を自ら学び始め、
意外とすんなりと覚えてしまい、すぐさまゲーム制作に取り入れます。

なぜ、当時数学どころか勉強自体が苦手だった人が難しい数学を勉強してすぐに身に付けられるのでしょうか。

それは必要と思うからこそ、必要な部分だけを集中して勉強するからです。

人間、必要だと思うものに対しての情熱を上げる生き物なので
自分が実現したいゲーム制作にはこの計算式の理解が必要だ!
ってなると当時は難しすぎて投げていた公式もすんなりと理解できてしまいます。

勉強が出来る人はこの性質をうまく利用しているというわけです。

面白いゲームを実現するために数学を学ばざるを得ないという状況になり、
自然と数学を勉強したい!という欲求になるわけです。

ここで本来の目的であるゲーム作りから数学が楽しくなって、
ゲーム作りを放棄しちゃう人もいるのではないでしょうか。

そういう人にはゲームではなくてゲームに使える便利な関数を作ってほしい所ですね。

私はたぶんそうはならないので、ゲームを作り続けます(笑)

頭が悪くても必要と思ったことに対しては頭が良くなる性質、覚えておいてください。

学生の頃の自分に教えてあげたいです。切実に。