忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

稼ぎのシステムを色々と考えてみました。
あまりややこしいシステムは好きじゃないので、なるべくシンプルな感じのが良かったんですよね。
稼ぎを意識しなければ普通にプレイ出来て、稼ぎを意識すると難しくなるようなのが理想です。
で、暫定で作ったのが、弾消去出来る敵を倒した時は敵弾が一定時間アイテムに変化し、その時間内は敵弾の発射回数を増やす
(アイテムがジャラジャラ出てくる)と言った感じ。
そのアイテムにコンボゲージの倍率を掛けてスコアに加算するようにしてみました。
これだと、稼ぐ為にはコンボを繋げていなかいといけないし、アイテムを多く出す為には敵&敵弾を引きつけて倒さないといけないので
「稼ぎ出すと難しい」って感じになるかなぁ?と。
なんか、どっかで聞いたようなシステムですが気にしないで下さい(汗)
↓こんな感じで、敵を倒すとアイテムが多数出現します。
1201.jpg
とりあえずなので、作っていってみて気に入らなければ変更するかもしれません^^;
PR
昨日作ったスクロールスクリプトでは動作が重すぎて全く話になりませんでした。
で、どうしたらエエかな〜と思っていたのですが、雲をスプライトで表示してるしマップチップもスプライトで表示したらどうやろ?
と思ってスプライトで表示してみると、なんと!サクサクとFPS60で動いてくれました^^

なんかスプライトを使用するのって結構重たい処理なのかと思っていましたが、es_copyの方が遥かに重いようです。
ちょっと気になったので、スクロールの動作検証スクリプトを作成してみました。
画像なんかが結構あったのでソースファイル付きでダウンロード出来るようにしています↓

スクロール動作検証スクリプト(右クリックで対象をファイルに保存でDLして下さい)
1130.jpg
動作させるとこんな感じです。

es_copy使用とスプライト使用の二つのスクリプトを作成したのですが、es_copyの方は私の環境では激重です^^;
Pentium4 1,7Ghz/RADEON 16MのノートPCでFPS15くらいしか出ません。敵キャラとかのスクリプトは入れていないのに・・・
詳しい検証結果はreadmeに書いておきました。

ただ、ホントにスプライトで背景表示なんてやっても良いのかなぁ?とちょっと不安でもあります。
es_copyを使った方のスクリプトの書き方が間違っていて激重になっているんじゃ・・・とも思うのですが
私が見た限りでは書き方が悪い所はないように思うので、ソースファイルを見て間違っているようでしたら、コソっと教えて下さい^^;
マップチップを使ってのマップ作製も出来てきたし、本格的にマップを作製しようと思って、まず簡単なマップを作ってスクリプトを作製しました。

で、前々からやってみたかった多重スクロールに挑戦してみたのですが・・・
1129.jpg
とりあえずこんな感じなのですが、画像で見ると良い感じですが、実際はメチャクチャ重くて話しになりません(汗)
スクリプト的には海のマップを一枚画像をループさせてスクロールし、地上画像をマップチップで表示して
雲をスプライトで移動させての3重スクロールにしてみたのですが、実行中はFPS40以下で敵が増えたりすると20くらいまで落ちてしまいます。
かなり頑張って作っただけに、ショック大です・・・

でも、マップチップ部分を省いて動作させるとサクサク動くので、マップチップ部分のスクリプトが悪いのかなぁと思い色々と考え中です。
とりあえず、マップチップ部分を1枚物の画像に変更して試してみようと思っています。
HSPDXFIXのマニュアルを読みなおしていたのですが、es_findの説明の部分でふと気づいた事がありました。
es_findの説明には
P1:スプライトNOが代入される変数名
P2:検索対象となるタイプ値
P3:検索を開始するスプライトNO.
とあります。

私は今までes_findを使う時は
enemy=0
repeat
es_find enemy,8,enemy
if enemy=-1 : break
色んな処理
enemy++
loop
と言う感じで、検索NO.を必ず0から始めていました。

でも、良く考えてみるとキャラクタごとにスプライトNO.を割りあてているのですから、0から検索を始めるのはとても無駄なのでは?
と思い、検索番号を割り当てたスプライトNO.から始めるようにすると、処理に無駄がなくなって良いかなぁと思って
スプライトNO,ごとに検索する値を変更しました。
と言っても、キャラクタNO.を控えていた訳ではなかったので、一からスクリプトを見直しての変更だったので結構大変です(汗)

上級者の方から見れば、「そんなん常識やん」となるかもしれませんが、説明書を読んでみても
書いてある事のレベルが高すぎてあまり理解出来ないんですよね・・・
なのでHSPDXFIXに関しては殆どが手探り状態なので、初心者向けの解説サイトが無いかなぁと探しているんですが
なかなか見つかりません^^;
窓々遊々さんのHSP講座くらいです)
他の人は、どうやって使い方を覚えたんでしょうか?不思議です。
やはりトライ&エラーの繰り返しで覚えていくしかないのかぁ・・・と思っています。
動作確認用のマシンを買いました^^
11_25.jpg
エプソンダイレクトのノートPCで、スペックはセレロン800MHz,s3 savage/mx 8M(Direct3D対応)と言う感じです。
OSはwindows98seなので、動作確認用にはちょうどよかったんですよね(開発マシンはwindows2000なので)
購入金額は数千円・・・。ホントPC関係の値段の下がりかたは異常ですね・・・。
数十万で買っても、数年後にはこんな値段になるなんて悲しすぎます。

で、早速今作っているスクリプトを試してみたんですが・・・
なんか半透明処理が出来ないっぽいです(汗)es_effectのESB_ALPHAの命令が上手く効きません。
他のESB_ADDとかは上手く動くので、私のスクリプトが悪いのかと思って、他のHSP+HSPDXFIX製のゲームをやってみたのですが
やはり半透明処理が上手く出来ないようでした。

なのでパソコンが悪いんだろうと思って、各ドライバをアップデートしようとエプソンのHPに行ってみたのですが
なんと、ドライバが全然置いてありませんでした(汗)
まぁビジネスノートなので仕方がないと言えば仕方がないのですが、どうしたもんだか・・・と言った感じです^^;

ゲームの方は、半透明処理が出来ないながらも処理落ちもなく動いてくれて
これくらいのスペックでも十分動くって事はわかりました。
とりあえず、グラフィックのドライバを探してみます^^;
Twitter
カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]