“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

193.HSPで作ったAndroidアプリを公開しよう Digi Mole Attack改 その3

本来のルールは、子モグラ、親モグラを含めて、1レベルに16匹出現する。
今までは、親モグラをカウントしてなかったので、1レベルでパーフェクトなら、最大19匹登場していた。
これじゃ点数が上がりすぎる。

モグラ出現部の作り直しをしようと、ソースを眺めてみたが、こりゃ全体を作り直さないと無理ゲーって感じに…

何とか今のソースのままで解決する方法がないかなと、考え付いたのはfor文のループ変数を直接操作すること。
昔のBASICには、ループから抜けるbreakや、ループを強制的に進めるcontinueが無かった*1ので、GOTO文を使ったり、ループ変数の操作を良くやっていた。

今回は、モグラの数=forのループ変数にしているので、ループを進めるcontinueの代わりに、親モグラの出現判定処理の部分で、ループ変数の値を+1してやる。
そうすれば、モグラの総数が、通常モグラ+親モグラの2匹分進んだことにできる。
なんとも懐かしい手法だ。モダンな言語では考えられない力業ww

これで、スコアも理論値通り、1レベルでMAX1,520点(子モグラ40点×14匹+数字モグラ40点×14匹+親モグラ200点×2匹)にできた。
ちゃんとプレイして期待通りになることも確認できた。
まぁ、動いているし、変に無限ループとかしないから良しとしようwww

*1:自分が触ってきたポケコンMSXに限る。他機種BASICにはあったかも

192.HSPで作ったAndroidアプリを公開しよう Digi Mole Attack改 その2

筐体グラフィックを一新したので、モグラ等の表示座標と、数字ボタンの判定座標が変わってしまった。
その部分を先に修正する。

といっても、どちらも座標値をちゃんと配列に入れたり、ボタンの幅、高さと判定範囲を変数で変えられるようにしており、新しい座標値を調べて書き換えるだけでサクッと変更できた。えらいぞ昔の俺ww
coro3.hatenablog.jp

これだけで、ほぼゲームにはなっているが、繰り返し遊ぶにはつらい。
まずは、ゲーム部の改良を進めていく。

ゲーム内容に関係するのは4項目。

  • モグラを叩いたときの振動追加
  • 間違えていたモグラの出現数の修正
  • モグラを叩いた後のインターバルの調整
  • ゲーム全体のスピードアップ率の調整

モグラを叩いた後のインターバルの調整は、モグラのステータスごとに配列に設定していたので、簡単にできた。
一番違和感があったのが、親モグラを叩いて、次に子モグラが出てくるまでの時間。かなり長く待っていた。
この部分をザクっと短縮。子供のころに遊んだ記憶なんて、曖昧なんだけど、感覚だけはしっかり残っているようで、納得いくレベルにできた。

次は、間違えていたモグラの出現数の修正に取り掛かった。
モグラはレベルごとに16匹出現、5匹連続で退治すると、親モグラが出現するのだが、親モグラを出現するモグラ数にカウントしてなかった。そのため、
1レベルごとに、3匹多く登場していた…。パーフェクトだと、1,000点どころか、2,000点に近いじゃんって思ってたので、退治したときの各点数を調整するところだったw

ただ、1つのレベルの処理を、forループの中に入れて、ループ終了後にレベルクリア判定をするという流れにしていたことで、修正がすこぶる面倒に…
せっかくだから、モグラの出現部を作り替えることにした。

191.HSPで作ったAndroidアプリを公開しよう Digi Mole Attack改 その1

Google Playに登録する第一弾のアプリを「Digi Mole Attack!」にしようと決めた。
ただ、とても今のままでは公開できない。
グラフィックがダミーもダミーで、くそダサいww
それに、ゲーム全体の流れとか、ハイスコア記録がないとか、今見ると、気になるところが多い。

改良する事を洗い出してみたら、結構な数に…( ̄▽ ̄;)

  • 電卓筐体のグラフィックを書き直し
  • タイトル画面とマニュアルの表示方法変更
  • マニュアルの書き直し
  • 音量調整、ミュートの追加
  • モグラを叩いたときの振動追加
  • 間違えていたモグラの出現数の修正
  • モグラを叩いた後のインターバルの調整
  • ハイスコアの記録追加
  • ゲーム全体のスピードアップ率の調整
  • 時計機能の追加(ゲームスタート前だけ)
  • バナー広告の常時表示

一つずつ片付けながら、AdMobの広告実装も行い、収益を得られるように頑張ってみよう。

まずは、見た目が大事ということで、筐体グラフィックの書き直しから始めた。
もうね、パワポ様様ですよ。
くそダサかったグラフィックが、あら不思議。電卓筐体のように見えるようになりました♪

とりあえず仮組なので、文字を加えたり、ボタンの位置修正はあるだろうけど、基本ラインは決定した。

189.HSPでゲームを作ろう:竜巻鮫 その11

あけましておめでとうございます!2024年も、よろしくお願い致します。

昨年の続き。
無事、プログラムコンテストの〆切に間に合って応募。ありがたいことにコメントを、多数いただけた。
そんな中、一番熱心にプレイされた方のコメントで、アタックボタンを押さず、キャッチ系と同じく左右移動だけでプレイできると、初心者もプレイしやすくなるのでは?というアドバイスをいただいた。

しかし、プログラムが完成したのは、コンテスト〆切の3日前。
もう新しい機能を追加する時間は取れそうになかったので、「改良版の参考にしまーす」と返信したのだが、予定が先送りになり、それなりにまとまった時間ができたので、「オートアタックモード」として実装することにした。

キャッチ系にする=アタックボタンをずっと押しっぱなしにすることなので、アタックフラグを常に1にすることで対応できそうだ。と思ったが、チェーンソーの温度上昇があるので、単純にアタックフラグだけでは処理できない。
一番手っ取り早い方法で、オートアタックモードの時は、チェーンソーの温度変化を無しにした。
ゲームとしては別物になるのだが、ハイスコアは特に分けず、通常のゲームと同じ扱いにした。

次は、どうやってオートアタックモードに切り替えるか。
ゲーム中に、常に切り替えられるようにしようかと思ったが、誤爆してしまいそうなので、ゲームセレクト画面のみで切り替えることにした。
といっても、空きボタンがない。新しくボタン追加すると、筐体グラフィックの書き換えになり、手間なのでww、ゲームセレクト画面で使っていないアタックボタンにその役割を与えることにした。
オートアタックモードにすると、画面上部に「AUTO」と表示することで、わかるようにした。

これで、キャッチ系と同じく、左右の移動だけでサメを倒すことができる。
意外とサクサクと作り進められて、〆切前に作り終え、アップできた♪
コメントを頂いた方も、カンストまで遊んでいただき、大変嬉しかった。自分で作ったゲームをやりこんでもらえる嬉しさは、格別ですな。

それ以外にも、GAME Aでもスピードアップが速すぎて、案外ミスするのコメントがあったので、スピードが上がらないようにしたり、サメの同時出現数の調整も行い、GAME AとGAME Bの難易度に、大きく差をつけることにした。

最後に、完成版よりもプレイヤー側がさらに有利になるように、処理順を入れ替えたりして調整。
〆切当日にアップ完了。2023年のコンテスト応募は、無事終了したのであった。