ゲームがもっと楽しくなる(?!)ゲームプログラミングの「11」基本用語

※『すぐわかる! ぷよぷよプログラミング SEGA公式ガイド⁠紀平拓男[著⁠⁠、株式会社セガ[協力⁠⁠、STAGE 5より抜粋)

ついつい夢中になってしまうスマートフォンやパソコン、家庭用ゲーム機のゲーム。ゲームの世界には、プログラミングの基本とはまた少し違う、⁠ゲーム開発ならでは」の用語がたくさんあります。この記事では、そんなゲームの舞台裏を支える、知っているとゲームがもっとおもしろく見えるかもしれない、そんなコトバを見ていきましょう。

基本用語集

ピクセル pixel
ゲーム画面を構成する、色のついた一番小さな点のこと。デジタル画像の最小単位でもあります。最近のゲーム機やPCは性能が高いので、画面の物理的な点とプログラム上のピクセルは必ずしも同じではありませんが、グラフィックスの基本となる重要な概念です。
スプライト sprite
おもに2Dグラフィックスで使われる、キャラクターやアイテムなどを表す1枚絵の画像データのこと。パラパラ漫画のように、何枚ものスプライトを連続で切り替えることで、歩いたり攻撃したりするアニメーションを作ります。
ポリゴン polygon
おもに3Dグラフィックスで、キャラクターや背景などを形作る多角形(多くは三角形)のこと。最先端のゲームでは、1体のキャラクターを作るのに数万〜数百万ものポリゴンを組み合わせて、リアルで複雑な形を表現しています。
フレームレート frame rate
ゲーム画面が1秒間に何回更新されるか(描き直されるか)を示す数値。⁠fps」(frames per second)という単位で表され、たとえば「60fps」なら1秒間に60回も画面を更新していることになります。この数値が高いほど、キャラクターの動きなどがなめらかに見えます。
ゲームループ game loop
ほとんどのゲームの根幹にある処理の流れ。ゲームが動いている間、❶プレイヤーからのキー入力などを待つ▶︎❷キャラクターの位置など、ゲームの状態を計算・更新する▶︎❸計算結果を画面に描画する、という一連の流れを、猛スピードで繰り返し続けています。これがゲームループです。
ヒットボックス hitbox
キャラクターやアイテムなどの「当たり判定」を示す、目には見えない四角や丸などの範囲のこと。格闘ゲームのパンチが当たったか、シューティングゲームの弾が敵に命中したか、といった判断は、すべてこのヒットボックス同士が重なったかどうかで計算されています。
衝突判定 collision detection
ヒットボックスなど、2つの物体が衝突したかどうかを判断する処理そのものを指します。簡単そうに聞こえますが、画面内にたくさんのキャラクターや障害物があると計算量がとても多くなるため、ゲームの快適さを保つために様々な工夫(最適化)がされる部分です。
パーティクルシステム particle system
「パーティクル」と呼ばれる非常に小さな画像を大量に発生させ、動かすことで、炎、煙、魔法の光、爆発の火花といった複雑な視覚効果(エフェクト)を作り出す技術。リアルな演出には欠かせないしくみ。
物理エンジン physics engine
重力でモノが落ちる、ボールが坂を転がる、ぶつかったモノが跳ね返るといった、現実世界の物理法則をゲーム内でシミュレーションするための専門プログラム。これを組み込むことで、世界のリアルさがぐっと増します。
ゲームエンジン game engine
これまで紹介してきたような、グラフィックス表示、物理エンジン、サウンド再生、ゲームループの仕組みなど、ゲームを作るために必要な機能をひとまとめにした開発ツール。これがあるおかげで、開発者はゲームの面白いアイデアを形にすることに集中できます。
レベルデザイン level design
プレイヤーが冒険するステージやマップの構造を設計すること。⁠レベル」とはゲームのステージを指す言葉で、プレイヤーがワクワクしたり、適度な挑戦を感じたりできるように、敵やアイテムの配置、地形などを考える、ゲームの面白さを左右する非常に重要な作業です。

ここで紹介したコトバは、ゲームプログラミングの世界のほんの入り口に過ぎません。でも、このような基本を知ると、次にゲームを遊ぶときは、⁠この攻撃、ヒットボックスはどうなってる?」⁠このステージのレベルデザイン、スゴイ!」のようにクリエイターの視点でゲームが見えてきて、一つ一つのゲームの技術や工夫に関する新しい発見につながってくるかもしれません。もしクリエイター視点でゲームに興味を持てたら、ぜひオリジナルのゲーム作りにもチャレンジしてみてください。