PR

【ゲームクリエイター就職】ゲームプログラマーに数学は必要?実践した勉強方法を紹介

ゲームプログラマー に数学は必要か ゲーム数学・物理

プロになると数学が必要

なぜプロのゲームプログラマーは数学が必要かというと
プロとして働く場合に下記のような制約があるケースも少なからず存在します。

  • 契約の関係でUnityなどのエンジンが使えない
  • ほかのゲームエンジンで作ってほしいと頼まれる
  • ゲームエンジン自体を使ってはダメというプロジェクト

最後のゲームエンジンを使えない場合は
フルスクラッチと呼ばれるゼロからゲームエンジンから作るケースもあります。

そのため既存のゲームエンジンなどに依存した技術力だとフォローしきれない事が多いです。

そして基礎である「数学・物理」を理解していることで
環境が変わっても臨機応変に対応することができます

 

必要な数学・物理の知識

話は戻って数学が必要と言ってもすべてが必要というわけではなく
主に「線形代数」と呼ばれる分野が必要です。

難しい言葉を使ってしまいましたが
まとめると以下のような知識とその応用力が必要になります。

  • 座標
  • 三角関数(Sin,Cosなど)
  • ベクトル
  • 行列
  • 初歩的な力学(物理)

もしかすると学生なら耳に挟んだこともあるかもしれません。
ひとまずフロントエンドのみでやっていく人であれば上記の知識で十分だと思います。

他にも仕事によっては必要になる可能性がありますが
これがあれば乗り越えていけるだろうというイメージがあります

 

ゲームプログラマーの種類

ちなみにさきほど話に出たフロントエンドエンジニアですが
実は大まかにゲームエンジニアは下記のように分かれています。

フロントエンド・・・ゲーム部分を作る人
バックエンド・・・システム部(描画、メモリ、ネットワークなど)を作る人

ちなみにモバイル系のバックエンドは
サーバー側のことを指すのでコンシューマでのバックエンドでは

求められているスキルのレベルは違うように思います

 

なぜバックエンドは難しいか

当然グラフィック専任担当者やバックエンドでエンジン部分(ファイルアクセス、メモリ管理、ストレージ、通信周り、物理エンジン)を作ったりする人はそれなりの責任もあるため数学などの理論的な答えを持っておく必要があります。

その上、物理エンジンなどは流体力学と言われる分野
力学分野も幅広く知らないと務まらないケースもあります

 

バックエンドにならない人もいる

実はベテランになってもバックエンドにならない方もいます。
そもそもバックエンドの枠は少ないためなれる人は限られており40~50代になってもフロントエンドをやっている人は割と多いです。

あくまで例ですが、私が大手企業で働いていた頃は
大学の元教授でコンピュータグラフィックスの博士号を持った方が担当されていました。

大企業だと難易度も高く、ポジションが少ないセクションなので、すぐになることは難しいと考えた方が良さそうです。(中小だと割と空いてるのでいけるケースも多い)

また私がここで目指しているのはフロントエンドエンジニアとして業界に潜り込む事なので
その後、時間が確保できるようになってから勉強していけば良いと考えています。

 

気づき:バックエンドだから優秀とは限らない

私は最初はバックエンドこそハイレベルだと思っていましたが最近は考えを改めました。

フロントエンドでゲームを作るのに秀でた人や人とのコミュニケーションが優れた方もいますし、バックエンドだからと言って開発の現場で特別活躍するわけでもない人も多く見てきたらからでもあります。なので

バックエンドだから優秀、フロントだから大したことがないみたいなことないかと思います。

ただフロントエンドで活躍されている方はバックエンドの知識も豊富に有るケースが多いです。

あえて選んでいる方もいるので今となっては
肩書だけでは判断できないように思いますね

 

数式が解ける≠数学が使える人

話は戻ってゲームの数学の話になりますが

学生時のイメージのせいか
数学の式を解けるのが数学できる人というイメージをお持ちの方が多いです。

ただ勘違いしてほしくないのはゲームプログラマーに限っては式はわからなくても
「なぜそうなるのか」や「どう使うか」をわかっていればプログラミングはできます。

数式というパズルを解けるだけの人が
割といるような気がしています

 

解ける人ではなく理解する人になる

いかに数式が解くのが得意でも
プログラミングへ反映できなかったら学ぶ意味は半減します。

そう、そういうことなんです!

 

もちろん、数式を出来るに越したことはありませんが最優先ではありません。
常にプログラムで実践できるように意識した学習を心がけた方がエンジニアとしては成長できるように感じています。

プログラム上で実践できる理解度をつけることで
応用力もつくので将来的にかなり重要だと思います

 

次のページ

次はゲーム業界の現状踏まえて、実体験をもとに数学を勉強しなおしてゲームプログラマーになりたい方を前提としたお話をしたいと思います!

コメント

スポンサーリンク
タイトルとURLをコピーしました