これは、一部のゲーム、掃海艇、カードゲームなどでは明らかに当てはまらないことを知っています。しかし、実世界の環境をシミュレートするゲームはどうでしょうか。明らかに、これらのゲームには、グラフィックスを動かす物理エンジニアの何らかの形があります。
個人的に物理学は好きではないがビデオゲームが好きな私のような人にとって、物理学を嫌いながらこのようなビデオゲームの開発サイクルに関与する機会はありますか?
これは、一部のゲーム、掃海艇、カードゲームなどでは明らかに当てはまらないことを知っています。しかし、実世界の環境をシミュレートするゲームはどうでしょうか。明らかに、これらのゲームには、グラフィックスを動かす物理エンジニアの何らかの形があります。
個人的に物理学は好きではないがビデオゲームが好きな私のような人にとって、物理学を嫌いながらこのようなビデオゲームの開発サイクルに関与する機会はありますか?
回答:
ゲームのプログラミングには多くの側面があり、それらのすべてについて専門家である必要はありません。より大きなチームに所属している場合は、コアゲームプログラミングを行うのではなく、たとえばネットワーク通信だけを行うこともできます。
コアゲームプログラミングについては、物理学を理解する上で、強力な数学的背景が必要だと思います。強力な数学的背景を持つことで、モデリング変換、クリッピング、キーフレームアニメーション、レイトレーシング、画像処理、テクスチャマッピングなどのようなことができます。
強力な物理学のバックグラウンドを持っていると、新しいコンピューターグラフィックス手法を思い付くのに役立ちますが、ゲームプログラマになりたい場合は必要ありません。
もうゲーム用の物理エンジンを書くことは非常にまれです。通常、無料または商用のサードパーティライブラリが代わりに使用されます。同じことは、ゲームエンジンの他の側面にも当てはまります。レンダリング、サウンド、AI、アニメーション、GUI、ネットワークなど。最近では誰もがゲームエンジンをゼロから作成することはめったにありません。通常、人々はそれらを買います。それらを作成する場合、彼らは困難なタスクを実行するためにミドルウェアの束を購入します。
ゲームプログラミングの学習を開始する場所はたくさんあります。「ゲームを作る」だけにしたい場合は、Unityに飛び込むことをお勧めします。Unityは素晴らしい、非常に使いやすいゲームエンジンであり、ほぼすべてのものを作成するために使用できます。商用エンジン(特に今後のバージョン3)のほとんどの機能も提供します。
ゲームプログラミングの基礎について詳しく知りたい場合は、PyGameまたはXNAをご覧ください。彼らは通常、グラフィックス、入力、サウンドなどの管理に見られる多くの退屈を取り除きます。彼らはあなたのために物理学を行いません(それらはエンジンではなく、APIだけです)が、無料で使いやすいソリューションがたくさんあります。