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

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

new3DSを購入した時に、それまで使っていた3DS LLは売ってしまったのですが
プチコン3号を使ってみるとnewとノーマル3DSでかなりの速度差がある事がわかりました。

こんな事なら3DS LL売るんじゃなかった・・・と思っても後の祭りw
って事でノーマルな3DSを購入してみました。
 
中古で1万円くらいで購入。
当初は動作確認用だしジャンクな3DS買おうと思っていたのですが
ヤフオク見ててもジャンクでも7~8千円くらいしていて、そこまで
出すんなら普通の中古でエエかーと思いまして。
もっと安くで売ってると思っていたのですが人気あるんですねぇ。

とりあえず自分が作ったテストプログラムで速度差を見てみると・・・

newでFPS60ギリギリくらいまで動作させてみるとノーマルの場合はFPS20程度
まで低下する模様。
大体、ノーマルとnewで3倍くらいの速度差があるようです。
ココまで速度差があると、newでギリギリ動作するゲーム作るとノーマルでは
殆どまともに動かないって感じになりそうですねぇ。
ノーマル基準で作れば良いのですが、それだと折角のnewのパワーを持て余すことに
なってしまって勿体無い気もしますし難しい所です。

あと、現在公開しているテストプログラムの公開キーを記載しておきます。

弾幕STGテストプログラム
公開キー:K2K4EK4V
ファイル名:KT_DANSTG_TES

弾幕表示のテストプログラムです。
各種ボタンで表示間隔や弾速などを変更出来ます。
敵弾400発とか撃たしても余裕でFPS60動作しますので
弾幕STGの作成も出来そうです^^




スプライトを使った擬似3D表示プログラム
公開キー:E5DEE3
ファイル名:KT_3DTEST

スプライトを使った擬似3D表示プログラムです。
各種ボタンで表示間隔や速度、回転などが出来ます。
こちらも余裕でFPS60動作しますので目指せ!ギャラクシーフォース
って感じですかねw
PR
ついにプチコン3号が配信開始されました!
とりあえず動作の限界が知りたくて簡単な弾幕STGプログラムを作ってみました。



自機1
自機弾60
敵1
敵弾400
BG4枚
を使って自機と敵、自機と敵弾、自機弾と敵の当たり判定を行っているのですが
殆ど処理落ちなく動いてしまって驚愕。
普通に弾幕STG作れてしまうスペックですw

ちなみにプチコンmkIIの時はこんな感じ↓だったので、いかにプチコン3号が進化してるかわかりますね。


しかもこの動画はFPS30ですしね。

で、今回も悩んだSPHITの使い方
基本的な考え方はコチラのエントリで書いていますが、プチコン3号では
SPHITSP(スプライト同士の判定)とSPHITRC(スプライトと矩形の判定)に変更
されています。
SPHITSPの当たり判定範囲はSPCOLで指定するのですが、説明には
「SPCOL 管理番号, Xオフセット, Yオフセット, 幅, 高さ, [スケール対応] , マスク」
となっていますが、ここで大事なのは最後のマスク
「0〜&HFFFFFFFF(ビット単位でグループ属性を管理)
 SPHIT系命令で、対象との判定時に互いのビットANDをとり、0であれば衝突していないとみなす。」
このマスクで同じグループにあるもの同士のスプライトの当たり判定を行うって事になります。

0〜&HFFFFFFFFと書いていますが&Hってのは16進数って意味です。
16進数だとややこしいので2進数に変換してみます。
変換はWindows標準の関数電卓(表示の所で選択出来ます)が便利です^^

今だとスマホのアプリとかでもありますね。

FFFFFFFFは2進数だと
1111 1111 1111 1111 1111 1111 1111 1111
16進数の0は2進数でも0ですがわかりやすく書くと
0000 0000 0000 0000 0000 0000 0000 0000
となります。
つまり、この0とFFFFFFFFを縦に並べてみて同じ場所に1があれば当たってると判定する
って事になります。

例えば自機を0000 0000 0000 0000 0000 0000 1111 1111
敵を0000 0000 0000 0000 0000 0000 1111 0000
敵弾を0000 0000 0000 0000 0000 0000 0000 1111
に設定したとすると…
0000 0000 0000 0000 0000 0000 1111 1111:自機=&H000000FF
0000 0000 0000 0000 0000 0000 1111 0000:敵=&H000000F0
0000 0000 0000 0000 0000 0000 0000 1111:敵弾=&H0000000F
となり、自機と敵、自機と敵弾は当たり判定を行いますが、敵と敵弾は当たり判定を行わない
設定となります。
プチコン3号では0が32個(32ビット)あるので32種類の別々の当たり判定を
行う事が出来るってことになりますが、普通は数種類もあれば充分。

2進数と16進数の変換が面倒くさいって時は16進数で考えて
0とFしか使わないようにすると解りやすいです。
&H000000FF
&H000000F0
&H0000000F
みたいに考えるとFがある場所でグループを判断出来るので便利です。

そして今回は画像のサイズを取得出来る命令があるのが凄く便利
それがSPDEF命令なのですがWebの説明書には
「SPDEF 定義番号 OUT U,V,幅,高さ,原点X,原点Y [,アトリビュート]」
(プチコン3号の説明書にはなぜか載ってない)
この命令で画像の幅と高さがわかるので
SPCOLの前にSPDEFで画像サイズを取得しておけばSPCOLの範囲指定も楽です。

SPDEF  定義番号 OUT U,V,W,H
SPHOME 管理番号,W/2,H/2
SPCOL  管理番号,-W/2,-H/2,W,H,TRUE,&H000000FF
みたいに書けるので、いちいち画像サイズを考えなくて良いですね。

あとはSPHITSPで判定したいスプライトの管理番号を指定すればOK
HIT=SPHIT (管理番号)
とすれば変数HITに当たったスプライトの管理番号が代入されます。
(当たっていない時は-1となる)
HIT=SPHIT (自分の管理番号、相手の管理番号)
とすれば個別に当たり判定を指定することも可能です。

って事でだいたいのスペックはわかってきたので、第三回プチコン大喜利に向けて
何か作ろうかと思っているのですがお題は「飛び出す」なんですよねー。
上の動画のような上下繋がった画面(XSCREEN4)は3D表示が使えないので
どうしようかなーと考え中です。
第二回プチコン大喜利の結果が発表されました。




結果は大喜利大賞受賞!

何か賞に選ばれたら良いなーとは思っていたのですが、まさか大賞とは思って
なかったので、とても嬉しいです^^
そして、動画の中で出てくる「次のプチコン」が気になりまくりますねーw
やはり次があるなら、3DSで立体視対応とかでしょうか。
現状のプチコンだと弾幕STG作るにはちょっと処理速度的に辛いかなーって感じ
なので、もうちょっと速くなってくれると良いなーなどと思っております。


応募していた第二回プチコン大喜利にノミネートされていました^^

ソフトのタイトルは「GMEISTER」
一分間で遊べるタッチペンを使ったSTGです。
こんな感じのゲームです↓


前回は芸術賞でのノミネートだったのですが、今回は技術賞でのノミネート。
何か賞を貰えたら良いなーと思いつつ、実は締め切りの関係もあって完成形では
ないんですよね。
ホントはステージもいっぱい作って分岐させて、ボスももっと追加したかったし
音楽もオリジナルで作りたかったので、一段落したら完成形として作って行こうかなー
と思っているのですが、現時点でQRコード160枚くらいあるのに、さらに追加したら
何枚になるんだ・・・と思うと、このままでも良いのかなーと思ったり。
まぁ、気が向いたら追加しようかなー程度には考えてますw

他の方たちの作品も個性的で面白そうな作品が多いので、ノミネート作品もダウンロード
出来るようにしてくれないかなーと思ってます。
第二回プチコン大喜利投稿作品「GMEISTER」の動画をアップしました^^

ニコニコ動画

youtube

QRコードも公開しようとは思っているのですが全部で161枚もあるので
なかなか公開用ページを作るのが大変です^^;

後半の多関節キャラとラスタースクロール風処理は見て欲しいポイント。
ラスタースクロール風処理についてはTiny Yarouさんの↓コチラの動画を
参考に作ってみました。

動画を見る限りだと小さいスプライトを上手く動かしているように感じたので
自分の場合は32x16のスプライトを上手く並べて表現してみました。
しかし、このファンタジーゾーンの完成度凄いですよねー。

といった感じで、何か賞を貰えたら良いなーと思いつつバグが無い事を祈っていますw
カウンター
ゲーマータグ
Twitter
携帯百景
カレンダー
07 2017/08 09
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
最新コメント
[11/24 kt.]
[11/24 kt.]
[11/24 NONAME]
[11/23 NONAME]
[10/05 tejas]
プロフィール
HN:
kt.
HP:
性別:
男性
自己紹介:
STG大好きな40歳。
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
アクセス解析
忍者ブログ [PR]