初心者がゲーム開発当初戸惑う事

ゲーム

コロ落ち

1999年に発売した、ドリームキャストソフトのガンダム戦記~コロニーの落ちた地で~です。

サターンから飛躍的に描画性能が向上して、色々な表現ができるようになったのですが、当時は実力が足りず、思ったように作れませんでした。

徹夜が続き、疲労困憊して作った思い出のソフトです。

写真は、会社が統合する時に初めて取説にみんなでサインしたものです。世の中にこれしかありません。今思うと記念になるので書いといてよかった(^◇^)。

FPS視点として、コンシューマーに投入したのが受けたようです。一部のコアなユーザーに人気がありました。

実際売れたかどうかは不明です。

初心者が開発当初戸惑う事

当時自分もコンシューマーに入って数年しか経っていなかったので、色々な壁にぶつかりました。

まず、スレッド管理です。

コンシューマーは処理を稼ぐためにマルチスレッドが基本です。

自分の処理だけをダラダラと書いてしまうと、CPUを占有してしまって速度が出ません。

なるべく他人に迷惑をかけないように、共有デバイス(メモリとか)を使っていきます。

UNITYのようなシングルスレッドで開発すると、変な癖がついてしまいなかなか現場復帰できなくなりますよ。

次にマトリックスです。

マトリックスはゲームの基本中の基本です。

各要素がXYZのベクトルである事から、物体の形状を意識しながらデーターを扱います。

ありとあらゆるものに使われている為、特徴の把握が大切です。

高校や、大学でやっていると思いますが、アフィン変換で空間を簡単に捻じ曲げることができるのが便利です。

ついでに座標系です。

右手系、左手系があり、プラットフォームにより変わります。

最近は主にMaya準拠の為、右手系の上がY+方向が普通です。

PSの頃は下方向がY+でした。

座標系も大変重要で、マトリクスを複数掛け合わせて空間を制御していきます。

特にローカル座標系の概念が超超超超超超超超超超超超超超超重要です。

昨今もすべての計算をローカル座標系で行います。

掛け合わせたマトリクスの任意の箇所の逆行列を掛けると、その空間に行けます。

ルックアットや、アニメーションに使ったりしますね。

内積とか外積

これは高校まではほとんど使いません。

理系の大学に進むと、がっつり教わります。

習った当初はこれほどゲームに密接になるとは思ってもいませんでした。

内積の特徴はベクトル同士が直行していると0になる事です。

光の表現が多いのですが、物体の淵の部分と、光の向きから明るさを算出する時とかに使います。

他にも、特定の軸に射影する時に使ったりします。

使用用途が多すぎて語り切れません。

外積の特徴は、掛け合わせると二つのベクトルに直行するベクトルができる事です。

そのため並行だとベクトルが消滅します。

これもものすごくよく使いますね。

掛け合わせると、ベクトル内の面積が出ることも忘れやすい特徴です。

物理演算に使いますね。使いすぎて式は暗記しちゃいます。

ゲーム作りは何を勉強すればよいのか

勉強する事が多いので、何から手をつければよいのか悩んでいる人は多いと思います。

単純にエンジンを使って作ってみるのも良いかもしれません。

ただ、ユニティを使えてもコンシューマーの現場では相手にされません。

重要な事は、一人で何でも問題解決ができる能力です。

そのためにつまらないかもしれませんが、数学の勉強はしておきましょう。

ゲーム開発の本も読んでみるのも大切です。

ツールの使い方ばかり気にしていても仕方ありません。

ユニティやアンリアルはゲーム作成ツールです。

コメント

タイトルとURLをコピーしました