【 WakuTeki 製作過程 】 |
---|
Home | PC-6001mkII | Program | etc |
関連リンク |
●WakuTeki |
---|
更新日:2014/10/13 作成日:2014/09/15 「Wakuteki」の作成過程を以下少しずつ書き綴っていこうと思います。 |
2014/09/13:V1.0完成 |
いい加減決めねば、タイトルを。 この時点まで1週間ほど、それらしい単語を集めて組み合わせてみるという事を繰り返していた。 タイトルのイメージとしては、わらわらと湧いてくる敵を孤軍奮闘で倒していくプレイヤーといった感じだったが、なかなかこれといった名前が出てこない。これに決めようと決めても、検索すると同じ名称が大量に見つかって没になるのもいくつかあったように思う。 考えも煮詰まっていき、時間だけが過ぎていく。もう今回はシンプルにいくかな…敵が次々と湧いてくるから「WakuTeki」。割とありふれた名称のように見えて意外と検索でも同名称のヒットも少ないし、これで決定する。 投稿に必要な文章とスクリーンショットを作成して投稿!結果的に、割と早めには投稿できたかな。 |
2014/09/07〜12:サイズ削減その2 | ||||||||||||
9/6時点で、start.axのサイズは6,746バイト。あと746バイトの削減だ、とあたかも簡単にできるように言ってみる。 最初は、配列変数宣言の省略だ。HSPでは配列の範囲を超えた部分に書き込んだ場合、自動的に範囲を拡張してくれる。一方、配列の範囲外を読もうとするとエラーになる。
つまり、読む前に書き込む変数は、dimで初期化をしなくても動く(初期化をしなくても良い という訳ではない。念のため)。 今回でいうと、例えば敵座標(tx(), ty())の読み込みは敵の状態(tz())が0以外では行われず、かつtzが0から0以外に変更するタイミングで敵座標(tx(), ty())の設定を行う。このため、tx(), ty()のdimによる初期化を省いても動く。 同様に初期化部分を消す事で、236バイトの削減となった。 処理の考え方を変える事で、サイズ削減する方法もある。 ランダムな方向に直進する敵の方向(角度)を決める時に、最初はもう一つの敵の処理の延長で、敵の出現位置とランダム座標との間でatanを使用して計算していた。 でもよくよく考えると、rnd関数1つのみでも割と同じ結果になるかな?という事で変更。これだけで52バイトの削減なので、バカにはできない。
座標(192, 128)に描かれた赤いリンゴの色を抽出して、RGBを入れ替えながら(0,128)、(64,128)、(128,128)に緑、黄、青のリンゴを描く処理だが、変数x, yをなくした処理に変えると32バイト削減する。
この他も細かくサイズ削減しているが、なんとも説明しづらいので、ポイントのみ列挙しておく。
|
2014/09/06:一気に作成 |
さて、土曜日だ。今日はやる気を出して行こう。 敵と自機との当たり判定は、他でやっている処理を流用するのでサクッと実装。ぶつかった時はどうしようかな?とりあえず、放射線状に自機を散らすというイメージで。 次!ランキング画面に移る。基本処理は、前作NegaToggの使い回しだけど、記録する情報はどうするか。スコアや敵の撃退数は入れるとして…、そうだ、自分でもまだ掴めていない、パワーアップの取得順を取ってみるか。 という事で、パワーアップの取得履歴を記録する処理を別途作成する。これで、こっそり集計ができるかな? 次!我ながらやめとけばいいのにと思うが、背景のスクロールを行う事にする。ランキング画面では単純に上方向にスクロールをして、ゲーム中は自機の進行方向を元にスクロールを行う。 次!音だ。プログラム容量の都合上、mmplayを使用する事にするが、これだと同時に一音のみの発声となる。自機弾の発射音を鳴らすと、ほとんど他の音が聞こえなくなるので、最終的に敵の撃破音、パワーアップ取得音、自機破壊音の3つに絞る。 次!クリア(タイムオーバー)の処理。これまで、残り時間が0でいきなりクリアとしていたのを、敵の出現が終了するよう変更した。これで少なくとも唐突に終わる感は少なくなったと思う。 これで、主だった部分はほぼ出来た。あとは、いつもの微調整とサイズ削減と、 ...タイトルだな。 |
2014/09/01〜05:パワーアップその2 |
パワーアップの処理を進める。 一人会議の結果、以下の4種類のパワーアップに決定した。
各パワーアップの段階は3段階くらいにしようかと思っていたが、ボーナス的にもう1段階あっても良いかな?という事で、4種類のパワーアップが全て3段階目まで到達すると4段階目のパワーアップができるように細工する。 しかし、そもそも制限時間内にパワーアップ4段階目まで行けるんだろうか?と心配になり何度かテストプレイを行った。…効率よく取っていけば、フルパワーアップもできるようだ。 あと、現在のパワーアップ段階をなんらかの方法で表示しなきゃな。という事で、画面下に色別パワーアップ段階を実装した。 処理としては、はじめに変数str_lvに「●●●●○○○○」の固定文字列を入れておいて、表示時に以下のような感じで文字列を切り出したものを表示する。 getstr s, str_lv, 8 - mp(cnt) * 2, 0, mp_max * 2 もう一つ、パワーアップ段階の限界がわかるように、パワーアップの上限に達した時にリンゴを半透明表示するようにする。 この段階で、start.axは5,304バイト。ただ、敵との当たり判定やゲームオーバー、ランキング画面、音といった部分が残っている。とりあえず6,000バイトには収まらないだろうが、最終的に収まるだろうか? |
履歴 | ||||
|
− | NegaTogg | − |