ゲームプログラムとITシステムのプログラムの違い

初めまして。プランナーの町山と申します。
初めてブログを担当させて頂きます。

自分はITシステム業界に数年、ゲーム業界に数年と2つの職を
跨ぎ(フラフラし)、今は弊社に落ち着いています。

昔も今も、業界に入って衝撃を受ける事は多々ありますが、
今回は、若かりし頃、ゲーム業界に入って、

驚いた事の一つを紹介したいと思います。

それは、

ゲームプログラムITシステムのプログラムでは、
同じプログラムでも、構成が全く異なる

という事です。

ITシステムというと、ピンと来ない方も多いかもしれません。

例えば役所などで、「住民票が欲しい」、と窓口に伝えたとします。
そうすると、「ちょっと待ってくださいね」などと言って、
窓口にいる人が、訪れた人の登録されているデータをPCで検索します。
本人の名前、生年月日、住所など、「本人の情報」を
役所に入っているデータベースにアクセスして検索するわけです。

他にも不動産屋の物件検索や、

インターネットのオンラインショップなどが
ありますね。

そういった「システム」を作っていたのですが、
まず、ITシステムのプログラムはどういう構成なのか。

プログラムというものは、コードを記載した順に、
基本的には上から下に1つずつ処理されます。

ソースコードは省きますが、例えば、

// ①検索ボタンが押された


// ②データベースに接続する


// ③検索ワードでデータベースを検索


// ④検索結果を取得


// ⑤結果を画面に表示する

というような、上から下に順番に処理され、⑤の処理が終わったら
処理は停止し、ユーザーの入力待ち状態となります。

ここで重要なのは、

 ユーザーが何かのアクションを
 (文字を入力した、検索ボタンを押した、など)
 行わない限り、処理は停止している

という事です。

ITシステムは基本的には、このような構成をしています。

一方のゲームのプログラム構成はどうでしょうか。

簡単な例を挙げると、

// ①プレイヤーのキー入力を判別する


// ②プレイヤーキャラを動かす


// ③敵を動かす


// ④残りタイムを減らす


// ⑤以上の情報の、画面を描画する

といった感じになると思います。
一見、「なんだ、大して変わらないじゃないか」と思うかもしれません。

ところが、ゲームというものは、プレイヤーが全く操作を行わなくても
敵が動いていたり、残りタイムが減っていったり、
キャラが待機モーションをしたりと、
ゲーム上では常に処理が走っています。

上から下に順番に処理される点は同じですが、

 ①~⑤まで、常にループしていて、半永久的に処理が走っている

という点が、ITシステムと全く異なります。

しかも、1フレーム毎に①~⑤までを繰り返していたりするので、
常にゴリゴリな状態です。

もし、ITシステムでこのような構成をしたらどうなるでしょうか。
ユーザーが何もしなくても、常に処理が走っているため、
窓口のPC、あるいはサーバーのPCが、
常にゴリゴリな状態になってしまいます。
何もしていなくても、PCがフリーズしてしまう可能性が高いです。

もはやザキです。いやザラキです。

この作りのシステムを、役所などにリリースしたらどうなるでしょうか。

クレームの嵐です。謝罪記者会見です。
人間的にもザラキです。

それだけ負担がかかる処理を行っても、ゲームがビクともしないのは、
普通のPCとは違う、ゲーム機の特化した性能のおかげ、と
言えるでしょう。
あるいは、プログラマーの手腕のおかげとも言えるでしょう。

いやぁ、ゲーム機ってすごいですね~
ゲームプログラマーってすごいですね~

このようにITシステムとは違い、
ゲームプログラムでは当たり前の事のようにやってのける事に、
当時、衝撃を受けたのを今でも覚えています。

まあ、よく考えれば、ゲームは常にループで回さないと
いけないので、プログラマーからすれば当然の事かもしれませんね。

 

このように一方から見れば当たり前の事でも
違う一方から見れば驚く事が、世の中では多々あります。

新人さんや若手の社員さんと日常会話をしていると
「え?なんですかそれ?」などと、

世代の差を感じることもしばしばあって…

…っと、この話は復活の呪文のように長くなりそうなのでやめましょう。

それでは、今回はこれで失礼いたします。

ありがとうございました。


コメント投稿は締め切りました。