ABA Games

HenyaG Getting Started - ぱらすーとを作ってみよう -

(c) ABA."Saba"(長 健太)


ここでは、HenyaGサンプルゲーム「ぱらすーと」の作り方を説明し ます。この説明を読めば、HenyaGの使い方がだいたい分かると思い ます。詳しい説明は飛ばしたいという人は、太字の説明にそって 操作だけしてみるのもいいでしょう。

ぱらすーとって?

「ぱらすーと」は、HenyaGのサンプルゲームです。飛行機からパラ シュートで降りてくる人を、ボートで受け止めます。どっかで見た ことあります。

ぱらすーとを書いてみよう

ここでは、Palmのような、ペンで入力するタイプのデバイスを使う ことを前提にします。ですが、マウスなどを入力として使う場合も おんなじです。ペンをマウスにおきかえて読んでください。

スロットの選択

HenyaGを起動すると、以下のような画面になります。

1〜10の番号がついているボックスを、「スロット」と呼びます。 各スロットに、1つのゲームが入っています。つまり、HenyaGでは 一度に10個のゲームをエディットできます。

この画面では、エディットするスロットを選びます。ここでは、1 のボックスをタップしてみましょう。一瞬 Now Loading.. という メッセージが出たあと、ボックス1がチェック(中に小さい四角が表 示される)されます。これで、スロット1がエディットできるように なりました。

オブジェクトの入力

HenyaGでは、画面上に表示されるものを「オブジェクト」と呼びま す。オブジェクトは、ネオンサインのようなもので、ある決まった 形が表示されたり、消えたりすることで、HenyaGのゲームは動作 します。LCDゲームで、電池を交換したときなどに、全てのキャラ クタが表示される状態を見たことある人は、あの一つ一つのキャラ クタを、オブジェクトと考えれば分かりやすいと思います。

さきほどの画面で、左下にある[Obj]ボタンを押します。すると以 下のような画面になります。

この画面で、オブジェクトを書くことができます。ここでは、ぱら すーとに出てくる全てのオブジェクトを書きます。

背景を書く

まず、背景から書いてみましょう。背景の左にある、やしの木がは えた島からいきます。書くのは簡単です。まんなかの、ボタンなど がなにもないところに、ペンで適当に書けばおっけーです。この部 分を「キャンバス」と呼びます。下の画面のようにしてみて下さい。

やしの木に見えないというつっこみは却下します。手書きの味です。 このように、オブジェクトを書いたら、左下にある、1〜9のボック スの1番を押します。すると、今書いたオブジェクトの周りが2、3 回点滅します。これで、今書いたオブジェクトが、オブジェクト番 号1番、カテゴリ番号1番、で登録されました。

オブジェクト番号、カテゴリ番号について説明します。それぞれの オブジェクトには、1〜99までの番号がつけられます。右下に数字 の書いてあるボックスがあります。今は[2]と書いてあるはずです。 これは、今オブジェクト番号2番の入力を受付中、という意味です。 今書いたやしの木を入力するまではこの番号は[1]でした。今、やし の木が1番に入力されたので、自動的に次の番号、2に変わったわけ です。

オブジェクト番号自体には深い意味はありません。使うときは、す でに書いたオブジェクトを消したり、変更したりしたい場合です。 どの番号のオブジェクトをエディットするかは右下のオブジェクト 番号ボタンで設定できます。ボタンの周りにある4つのボタンで数 字を変化させることができます。右側のボタンで1の桁を、左側の ボタンで10の桁を上下できます。

また、数字の書いてあるところを 押すと、ボタンがチェックされ、番号設定モードになります。この 状態で、キャンバス上のオブジェクトをタップすると、そのオブジ ェクトの番号にオブジェクト番号が変化します。この状態のままだ と、オブジェクトが書けないので、もう一度数字を押して、元にも どします。

オブジェクトを間違えて書いてしまった場合は、そのオブジェクト 番号を選んで、[Del]ボタンを押してください。

カテゴリ番号は、オブジェクトの分類を行う際に使います。たとえ ば、カテゴリ1番は背景、2番はボート、3番はパラシュート、のよ うに、オブジェクトを種類ごとに管理できます。左下にある1〜9の ボックスは、今書いたオブジェクトを、何番のカテゴリに登録する、 という動作をします。右上にあるボックスは、どのカテゴリのオブ ジェクトを表示し、どれを表示しないかを設定します。今は全カテ ゴリを表示する設定になっているはずです。ためしに1番を押して 見てください。やしの木が消えるはずです。もう一回押すと、再び 表示されます。

背景を全て書いてしまいましょう。以下のものを以下のオブジェク ト番号、カテゴリ番号で入力します。

オブジェクト番号カテゴリ番号オブジェクト
21右のやしの木
31水面
41飛行機

これで背景はできました。

ボートを書く

次は、ボートを書きます。ボートはカテゴリ番号2にします。ボー トは、画面の左端、真ん中、右端の3ヶ所を動きます。そこでオブ ジェクトとしては、この3つ全てを書きます

オブジェクト番号カテゴリ番号オブジェクト
52左端のボート
62真ん中のボート
72右端のボート

パラシュートを書く

最後に、パラシュートを書きます。パラシュートはカテゴリ番号3 です。パラシュートは、飛行機から落ちてきて、ボートの上を通り、 水に沈むという動作をします。また、パラシュートが落ちる位置は、 左端、真ん中、右端の3ヶ所があります。落ちる様子を4コマで表現 するとすると、4x3 + 1(落ちたパラシュートのオブジェクト) = 13 個のオブジェクトを書く必要があります。

オブジェクト番号カテゴリ番号オブジェクト
83左端に落ちるパラシュート(1)
93左端に落ちるパラシュート(2)
103左端に落ちるパラシュート(3)
113左端に落ちるパラシュート(4)
123真ん中に落ちるパラシュート(1)
133真ん中に落ちるパラシュート(2)
143真ん中に落ちるパラシュート(3)
153真ん中に落ちるパラシュート(4)
163右端に落ちるパラシュート(1)
173右端に落ちるパラシュート(2)
183右端に落ちるパラシュート(3)
193右端に落ちるパラシュート(4)
203水に落ちたパラシュート

これでオブジェクトは書きあがりました。次は、これに動きをつけ ます。左上の[Obj]ボタンを押して、元のスロット選択メニューに 戻って下さい。

イベントの入力

HenyaGで、オブジェクトを動作させるものを「イベント」と呼びま す。イベントは、「左端のボートが表示されていて、右キーが押さ れたとき、左端のボートを消して、真ん中のボートを表示する」と いうような、〜だったとき〜する、という「条件」と「動作列」の 組です。

スロット選択メニューで、[Evt]ボタンを押してください。下のよ うな画面が出ます。

オブジェクト入力画面と似ていますが、ちょっと違います。右下に ある数字は、現在入力中のイベントの番号を表しています。オブジ ェクトの時と同様に、1〜99までの番号があります。まずは背景を 表示するイベントを書いてみましょう。

背景を表示する

HenyaGでは、ゲームが始まった時点では、なにもオブジェクトが表 示されません。そこで、まず背景を表示する必要があります。背景 を表示するイベントは、以下のようになります。

左のやしの木が表示されていない時、左のやしの木と、右のやしの 木と、水面と、飛行機と、真ん中のボートを表示する

真ん中のボートを表示するのは、ボートの初期位置を表示するため です。

まず、左のやしの木が表示されていない時、から入力します。左下 に6つのボックスがあります。これらで、イベントが発生する条件 を入力できます。入力できる条件としては、左から、

Onあるオブジェクトが表示されている時
Ofあるオブジェクトが表示されていない時
Cl上2つの条件のクリア
Tiある時間ごとに
Rnある確率で
Kyあるキーが押された時

があります。ここではOfを使います。Ofボックスをタップして下さ い。Ofボックスがチェックされ、Of条件が入力可能になります。こ の状態で、キャンバス上の左のやしの木をタップして下さい。やし の木の左上に白い四角がつきます。これで、「左のやしの木が表示 されていない時」という条件が入力されました。

On, Ofの条件は、キャンバス上のオブジェクトの左上に表示される 四角いマーカーで表現されます。黒い四角がOn、白い四角がOfを意 味します。複数のマーカーがついている場合は、それらの条件全て が満たされている時に、動作が発生します。また、Clをチェックし て、マーカーがついているオブジェクトをタップすると、マーカー を外すことができます。また、タップの代わりにドラッグすること でも可能です。

次に動作列を入力します。左上の[Obj]ボタンの右に表示されてい る[C]ボタンを押してください。ボタンの表示が[A]に変化します。 これで、動作列入力モードになりました。

このボタンを押すごとに、条件(Condition)入力モードと、動作列 (Action)入力モードが切り替わります。右下にある数字は、現在入 力中の動作番号を表しています。イベント番号ではないことに注意 して下さい。

動作列は、さきほど入力した条件が満たされたときに起きる動作を、 起きる順番に書いたものです。この場合、入力する動作列は、

まず、左のやしの木を表示し、次に右のやしの木を表示し、次に水 面を表示し、次に飛行機を表示し、最後に真ん中のボートを表示する

という具合になります。

下にある、5つのボックスが、入力可能な動作です。

nあるオブジェクトを表示する
fあるオブジェクトを消す
vあるオブジェクトを移動させる
m1ミス
sスコアを加算する

左下の数字は、各動作を実行する時間間隔です。単位は、ゲームス ピードにも依存しますが、だいたい0.1秒と考えてください。今回 の場合は、間隔は0、つまり間をおかずに次々に動作を行います。

ボックスの[n]をタップしてチェックします。その後、左のやしの 木、右のやしの木、水面、飛行機、真ん中のボートの順にキャンバ ス上のオブジェクトをタップします。オブジェクトを1つタップす るごとに、右下の動作番号が増えていくことに注意してください。 1つの動作(右のやしの木をonにするなど)を入力すると、それを現 在の動作番号に割り振り、自動的に次の動作番号の受付に移ります。 ここまでで、動作番号1〜5の動作が書けました。

間違った動作を書いてしまった場合、右下の番号を間違った動作の 動作番号まで動かして、[Del]ボタンを押して下さい。その動作が 削除され、その動作に続く動作が消された動作番号に詰めてきます。 逆に、動作列の途中に動作を加えたい場合は、その動作を加えたい 動作番号にして、動作を入力して下さい。その動作番号にあった動 作は、自動的に後ろの動作番号にずれます。また、右下のボタンは、 数字の書いてあるボタンを押すことで、数字の一覧表示から選ぶこ ともできます。

ボートを動かす

次はボートを動かしてみましょう。ボートをキー入力に合わせて左 右に動かすには、以下のようなイベントになります。

左端のボートがOnで、下キーが押されている時、左端のボートを消 して、真ん中のボートを表示する

真ん中のボートがOnで、下キーが押されている時、真ん中のボート を消して、右端のボートを表示する

右端のボートがOnで、上キーが押されている時、右端のボートを消 して、真ん中のボートを表示する

真ん中のボートがOnで、上キーが押されている時、真ん中のボート を消して、左端のボートを表示する

左右のキーでなくて、上下のキーを使っているのは、Palmで左右の キーが判定できないためです。代わりに、真ん中にある上下のキー を使います。

上から、イベント番号10, 11, 12, 13に割り当てましょう。まず、 [A]キーを押して、条件入力モードに戻り、右下のイベント番号を 10にします

先ほどの左のやしの木と同様に、左端のボートがOnだったら、を入 力します。次に、下キーが押されている時を入力します。[Ky]ボッ クスをタップすると、以下のような画面がでます。

これはそれぞれ、

PalmCE/Java
L2----BackSpace
L1----LeftArrow
UpPageUpUpArrow PageUp
DwPageDownDownArrow PageDown
R1----RightArrow
R2----Enter

が押されたら、に対応します。この場合は、Dwをタップして、チェ ックします。これで条件は入力できました。次は動作列を入力しま す。

動作列入力モードに切り替えて、左のボートをfにして、真ん中の ボートをnにする、を入力します。時間間隔は0です。

同様の要領で、残り3つを入力してください。ここまで書いたら、 実際に動作を確認してみましょう。

[Evt]ボタンを押してメニューにもどり、[Gam]ボタンを押してくだ さい。ちゃんと背景が表示されて、ボートが上下キーで左右に動き ますか? 動かない場合は、どこかで入力を間違っているので、それ を修正してください。

あと、画面がすこしおかしい、というかゴミがでているように見え るかもしれません。これは、エディット中は、メモリを節約するた め、オブジェクトを四角の範囲で管理しているために起こります。 実際のゲーム中は、正しく表示されますので、今は気にしないでく ださい。

パラシュート落下

確認が終わったら、再びイベント入力モードに戻りましょう。次は パラシュートを落としてみます。

パラシュートは3ヶ所落ちるので、イベントも3つです。それぞれ、 20, 21, 22番とします。

イベント番号を20番にして、条件を入力します。ここでは、Tiイベ ント、つまりある時間間隔ごとにパラシュートを落とします。[Ti] ボックスをタップしてください。

2つの数字があります。それぞれの数字は、約0.1秒単位の時間をあ らわしていて、もっとも速いタイミングだと左の数字、もっとも遅 いタイミングだと右の数字、の間隔でイベントを発生させます。こ の場合は、1秒から7秒の間隔でパラシュートを落とします。左の数 字を10に、右の数字を70にします

後は、右の方のボックスを設定します。右のボックスで、ランク設 定を行います。「ランク」とは、ゲームの難易度のことで、スコア が高くなるにつれて(普通は)上がります。

ボックスの設定で、ランクに対して、時間間隔を短くするか、長く するかを設定できます。[-]の方のボックスを選ぶと、ランクが上 がるにつれて、間隔が短くなります。[+]の方のボックスを選ぶと、 ランクが上がるにつれて、間隔が長くなります。[0]を選ぶと、ラ ンクに影響されません。

ここでは、ランクが上がるとより多くのパラシュートが出てくる、 つまりより短い間隔で落ちてくるようにしたいので、一番左端の [-]を選びます

次はパラシュートが落ちる動作列を書きます。動作列入力モードに してください。ここでは、オブジェクトを移動させるv動作を使い ます。その前に、右上のチェックボックスをいじって、カテゴリ3、 つまりパラシュートだけを表示しておくと、後の設定が楽になりま す。

最初にすることは、落下速度を設定することです。左下の動作間隔 を設定することで、ある動作から次の動作に移るまでの時間を設定 できます。今までは0、つまり動作列の動作を一瞬ですべて行う設 定でしたが、一瞬でパラシュートが落下してしまうとゲームになら ないので、しかるべき間隔を設定します。とりあえず、0.5秒にし ましょう。左下の数字を5にしてください。

そしたら、[v]ボックスをチェックしてください。v動作は、設定さ れたオブジェクトを次々にon, offすることで、オブジェクトが移 動しているように見せる動作です。左の列のパラシュート落下から やってみましょう。

左の列のパラシュートを、ペンで(ゆっくり)なぞってください。最 後に水面の下のパラシュートもなぞることを忘れないように。する と、なぞったオブジェクトの左上に、x印がついていくと思います。 こうやって、オブジェクトの上をなぞることで、動作の設定もでき ます。もちろん、パラシュートを順にタップしていっても構いませ ん。これでv動作が設定できました。

最後に、m動作、つまり1ミス動作を加えます。パラシュートが下ま で落ちてしまったら、1ミスですので、その動作をこの動作列の最 後につけるわけです。[m]ボックスをタップしてください。これで パラシュートの落下はできました。[Gam]で確かめてみてもいいで しょう。

同じ要領で、真ん中と右端の落下も書きます。これで落下はできあ がりです。

受け止める

最後は、パラシュートを受け止める動作です。これは、

左端のボートと、その上のパラシュートがOnだったら、パラシュー トを消して、1点加える

真ん中のボートと、その上のパラシュートがOnだったら、パラシュ ートを消して、1点加える

右端のボートと、その上のパラシュートがOnだったら、パラシュー トを消して、1点加える

というイベントで書きます。一つ注意することは、パラシュートを 消すことで、v動作がキャンセルされる、ということです。つまり、 このイベントで落下中のパラシュートを消せば、自動的に残りのv 動作がキャンセルされて、パラシュートが水面に落ちる、という動 作は行われません。

イベント番号は、30, 31, 32としましょう。条件の入力はもうでき ると思いますので、ちゃちゃっと入れて下さい。

動作列の、パラシュートを消す、も入力してください。動作間隔を 0に戻すことを忘れないように。最後に、1点加えるという動作をい れます。[s]ボックスをタップして下さい。数字が一つ出てくると 思います。この数字に加える点数を入れて、[Done]ボタンを押して ください。今回は1です。

最後の仕上げ

これが最後の最後です。ゲーム全体に関わる動作を設定します。ス ロット選択メニューに戻って、[Prp]ボタンを押してください。

上から順に、残機数、ゲームスピード設定グラフ、ランク設定グラ フ、表示カテゴリ設定ボックスです。

残機数は、何ミスしたらゲームオーバかを設定します。今回は3の ままで構いません。

ゲームスピード設定グラフは、ゲーム全体の速度を、スコアに応じ てどの程度にするか、という設定ができます。縦軸が速度で、上に いくほど速く(つまり難しく)なります。横軸がスコアで、左端が0 点、右端が999点です。一般的には右上がり、つまりスコアが高く なるほどゲームを速くします。

ランク設定グラフもほぼ同様で、縦軸がランク(上にいくほどラン クが高い)、横軸がスコアです。ランクが影響するのは、今回の場 合、パラシュートを落下させる時間間隔です。イベント入力時に、 ランクが高くなるほど、間隔が短くなる、と設定したので、ランク が高くなると、より多くのパラシュートが降ってくるようになりま す。

一番下は、どのカテゴリを表示し、どのカテゴリを非表示にするか を設定します。今回は、全カテゴリを表示しますが、表示しないオ ブジェクトを用意して、フラグとして使うということが必要な場合、 いくつかのカテゴリを非表示にすることもあります。

グラフ上をドラッグして、上の絵を参考に設定してみてください。 設定したら、[Done]ボタンを押して、スロット選択メニューに戻り ましょう。

これでできあがりです。[Gam]ボタンを押してテストし、問題ない ようでしたら、HGPlayerを使って実際に遊んでみましょう。入力 したゲームデータは、終了時にPalm内のデータベースに登録され るので、HenyaGを終了してもデータは消えません。 (Java VM上で動作している場合は、ファイルに残ります)

気にいらない所があるならば、改造してみるのもいいでしょう。
Rerurn もどる