ポケコンBASICによるゲーム制作講座

第3章 キーレスポンスでおいしさが変わるリアルタイム型ゲーム


 リアルタイム型ゲームと言えばアクションゲーム、シューティングゲームといった感じでジャンルを分類するのが一般的ですが、あえてここでは処理速度で分類することにします。PCゲームの場合は処理速度にはfps(frame per second)を用いますが画面全体を書き換えているわけではないポケコンBASICのゲームの場合これは不適当なのでメインルーチンの1秒間の実行回数をここではcps(cycle per second)という単位を使って表すことにします。

(1)連射を要求するゲーム必須10cps推奨20cps
(2)反射神経を要求するゲーム必須 5cps推奨10cps
(3)リアルタイム動作を要求するゲーム必須 3cps推奨 5cps

(1)は100m走など文字通り連射を行うのが主体のゲームで、(2)は一般的なアクション、シューティング系のゲーム全般、(3)は落ち物パズル等の思考の要素が大きいリアルタイム型ゲームを示します。

この分類を行っているcpsの根拠は下記の通りです。
(この動作cpsがイメージにしくい方はこちらの補足ページをご覧ください)
(1)一般的な人の連射速度が1秒あたり10回程度であることから10cpsが最低ラインとなる。20cpsあれば秒10回程度のキー入力にはほぼすべて反応できる。(キーを押している時間が半分、離してる時間が半分と仮定した場合)

(2)一般的な人の反応速度は0.1〜0.2秒なので5cpsが最低ライン、10cpsが推奨ラインと言える。連射ほどではないがすばやいキー操作を求めるゲームはこれくらいが目安となる。

(3)私の体験上3cpsがリアルタイム操作に耐えられる限界の遅さであるため。キーをゆっくり「ポン、ポン」と押していけば反応できるレベル。


 一般的なジャンル分けではなく処理速度による分類なのはポケコンBASICの実行速度が遅いのが原因で、そのために作ろうと思っているゲームが要求するcpsに大幅に足りない事が多々あるからです。
 仮に連射でゲームを進めていく100m走のゲームを作り、そのときの速度が5cpsだったとします。作った本人は連射で進めていくゲームを作ったはずなのに実際はキーを押すタイミングの方が重要視される(100m走のような単純な物だと思考の要素がないためにキーを押すことに専念されるため)という全くゲーム性の異なるものになってしまうのです。その場合「キー反応が悪いのはBASICのせい」と考えがちですが、ゲーム内容に沿った処理速度になってない(言い換えれば操作感の悪いゲームを作ってしまった)のが最大の要因でありそれを成し得なかった制作者に最大の責任があります(※注1)

これに関する対策方法はには下記のような3つの方法があります。
(a)処理の高速化を行い目的の処理速度に達するようにする。
(b)処理の簡略化を行い目的の処理速度に達するようにする。
(c)プレイヤーに思考する余地を与え処理速度の遅さが目立たないようにする。

(a)は制作者の当初のアイデアを生かすのには最適ですが処理の高速化を行うというのは技術や経験が必要になります(※注2)。私はPJやべーマガに掲載されたゲームの高速化を行うことをかつては趣味としていたのですが、平均3倍(最低1.5倍、最高9倍)の高速化が行えました(※注3)。3倍の高速化がもし出来たとしたら先ほどの100m走の例でいえば5cpsが15cpsとなるわけなので十分連射に耐え得るといえるでしょう。
(b)はアクション系のゲームで言えば一度に出てくる敵の数を減らしたりといった具合に処理の簡略化を行うもので、最も簡単に処理速度の向上が望める反面ゲームバランスが変わったりゲーム性そのものが変わる場合もあり得るので注意が必要です。
(c)は100m走でいえば決められた2つのキーを交互に押すのではなく、例えば「画面に表示されたアルファベットキーを押す」「数式の答えとなるようなキーを押す」等のプレイヤーに思考する余地を与えることによって処理速度が遅いことを隠蔽しようというものです。しかし、この方法だと確実に当初の予定と比べゲーム性の異なるものとなるためにこの方法はいつも使えるわけではないので注意が必要です。

 リアルタイム型ゲームは比較的作り易いのですが、これから作るゲームが何cpsになるかということは普通の人には分からないと思います。しかし、それほど難しく考えず最初のうちはゲームがある程度完成した時点で「自分が思ってた感じと違うぞ」と思ったら上記(1)〜(3)のような分類を思い出して、その時点で(a)〜(c)の対応策を考えれば良いわけです。慣れてくればBASICでどの程度のことができるのか掴めるようになるのでさまざまなタイプのゲームにチャレンジしてみるとよいでしょう。そうすることにより、自分が作りたいゲームに近づくことができると思います。いくら面白いシステム(面白いアイデア)が浮かんでもそれを十分に生かすためにはそれ相応の処理速度が必要となるわけです。


※注1
 たとえば、プレステで1フレームあたり10万ポリゴン(ちなみにプレステの描画性能は36万ポリゴン/秒だけど実効ではせいぜい10万ポリゴン/秒程度しか出せない)のシューティングゲームを作ったとして「このゲームがカクカクなのはプレステの性能が低いせいだ」なんて言ってるゲーム制作会社の人がいたらどう思いますか?
 PCゲームの場合はスペックの高いハードを用意すれば良い(必要スペックを高く設定する)のですがポケコンの場合はそういうわけにはいきません。したがって、対象となるポケコンで自分の思い描くように動作するかどうかがポケコンBASICでゲーム作りをする際に最も重要になってきます。

※注2
 処理の高速化と一言でいっても様々な方法があります。具体的にはPJ最終号(96年5月号)の私の記事を読んでもらえたら一目瞭然なのですが、アルゴリズムの改良(例えば
100m走のキー判定など)、表示の高速化(例えばフォント書き換えOPASを使用するなど)、計算式の簡略化(例えばべき乗演算の高速化など)・・・などいろいろあります。詳しくは「E500BASIC高速化のすべて」を見てください。

※注3
 以前も某所にて「○倍速」の基準は何か?ということを言われたのですが、基準は元のゲームのメインルーチンの実行速度です。もっとも平均3倍速となったといってもすべての掲載ゲームに高速化処理を施したわけではないのですから恣意的な結果とも言えるでしょうが、私が基本的に高速化改造を行ったものは「BASICだから遅いです」とか「これがBASICでは限界の速度でしょう」とか書いてある物ばかりなので少なくとも制作者自身がBASICの遅さや限界を実感しているものに関してはまだまだ速くなる余地が大きいということでしょう。要は、速くなるように作らなければ速くなるはずがないということです(BASICだからといってあきらめてはダメということ)。

NEXT PAGE

序章
第1章 素材選びはすべての源
第2章 ゲーム性がおいしさのカギ
第3章 キーレスポンスでおいしさが変わるリアルタイム型ゲーム
第4章 アイデアでおいしさが変わる思考型ゲーム
第5章 テストプレイはゲームの味見
終章


RETURN/ RETURN *MAIN inserted by FC2 system