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

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

ぼちぼち作っていっています。
今の所こんな感じ↓
s-m19sa.jpg
とりあえず一通りの音色の設定はタッチパネルで出来るようになりました。
最終的にはトラックを選択して音を重ねたり出来るようにしようと思っているのですが
当初はパネル切り替えボタンでタッチパネルの画面を切り替えて実装するつもりだったのですが
切り替えるよりも、音色設定出来る画面でトラックも選択出来たほうが便利かなぁと思ったり。
しかし、そうすると配置するスペースがないので鍵盤数を減らして実装するか、切り替えボタンで
実装するかで悩み中です^^;
PR
引き続きMIDIキーボードを制作していっています。
今の所こんな感じ↓
s-8oulh.jpg
名前はプチコンのシンセって事でDX7ならぬPX7としてみたのですが、FM音源全然関係ない
ですし思いっきりデザインをパクってるので配布の事も考えて変更しようかなーと思ってます^^;
といっても他のデザインも相当DX7をパクってるんですが(滝汗

とりあえず、現状は鍵盤押して音が鳴るのと音色の変更、エンベロープの設定くらいしか
出来てません。今の所、ユーザー選択音色の波形の編集方法が良く解ってないので
とりあえずGM音源部分だけを完成させようと思っているのですが、なかなか大変です^^;
プチコンmkIIになって音楽機能が凄く強化されました。
で、ふとシンセサイザーっぽいの作れるんじゃね?と思ってボチボチ作っていっています。
今の所こんな感じ↓
s-90ogi.jpg
デザインはヤマハのDX7イメージで作っていますw

で、この画像を作成するのにプチコン付属のエディタでも作成は出来るのですが
やはりDSの画面で作成するのは結構大変ですよね。
でも、有志の方々が画像をORコードに変換するソフトを公開されていてコレを使うと
PCで作成した画像をQRコードに変換→プチコンに取り込みが出来るので非常に作りやすいです^^

プチコンに取り込んだ画像データはRESTOREを使用して取り込みます。
RESTORE @00H
FOR I=0 TO 15(画像サイズによって繰り返し回数は変化)
 READ A$
 CHRSET"SPU0",I,A$(SPU0は変更したい場所。Iに任意の数字をプラスすればキャラ番号を指定出来ます)
NEXT

@00H
DATA "0000FFFFBBBB~0000"



DATA "0000FFFFBBBB~0000"
と記述すればキャラが書き換わります。書き換え前にSPPAGEなどで上画面か下画面を指定すれば
好きな方を書き換え出来ます。
カラー番号を変更したい場合はCOLSETを使えばOK。
いやー、非常に便利ですねぇ。作ってくれた人に感謝です^^

シンセの方は、とりあえず上画面のグラフィックを作って、液晶っぽい画面や7セグのデジタル数字を
表示させたいと思っているのですがデザイン考えるのが大変で戸惑ってます。。。
最終的には波形をエディットしてユーザー波形として登録、保存出来るようにしたいのですが
道のりは長そうです^^;
プチコンmkIIになってから動作速度が凄く速くなりました。
そしてスプライト機能が強化されていて、当たり判定用の命令(SPHIT)も追加されていたんですよね。
で、このSPHITを使うと処理が凄く速くなるんじゃね?と思って試してみたら、実際に凄く速かったので
これなら弾幕STGも作れるんじゃないかと思って、テスト的にプログラムを作ってみました。
こんな感じ↓


QRコード
ディスプレイの光度を最大にした方が読み込みやすい気がします
1/4
qr0.png

2/4
qr1.png

3/4
qr2.png

4/4
qr3.png

悩んだのがSPHITの使い方。
SPHITを使うためにはSPCOLでグループを指定しないと駄目なんですが、説明書には
0~255(ビット単位でグループ属性を管理)って書いてあります。
で、そのグループ指定には&HF0を使う的な事も書いてあるのですが全然理解出来ませんでした^^;
その事をTwitterでボヤいてたらスマイルブームの中の人がサンプルを作ってくれていて
それを見てやっと理解出来ました^^
https://twitter.com/#!/notohoho/status/180963074600218624/photo/1

当たり判定は2進数で考えるとわかりやすくて例えば自機を11110000、敵を00001111、敵弾を
100000000にすると仮定します。
これを縦に並べてみましょう
11110000 自機
00001111 敵
10000000 敵弾
これを縦で比較してみると1が同じ場所にあるのは自機と敵弾って事になります。
つまり自機と敵弾は同じグループって事になるんです。
この場合だと、自機と敵は当たらないけど敵たまは自機と当たるって感じ。
敵との当たり判定を行いたい場合は00001000とか00000010とかにすればOK。
で、この2進数を16進数に変換してSPCOLに記述すれば上手く動いてくれました^^
11110000ならF0、00001111なら0F、10000000なら80なので&HF0とか&H0Fとか&H80 
って事ですね。(&Hってのは16進数って意味です)

気になる動作速度は、敵弾60発程度までなら処理落ちせずに動かせそうな感じなのですが
FPS30ってどうなの?とも思うんですよねぇ。
自分が動かしてみた感じでは、思ったよりは気にならないかなぁとは思うのですが
高速な動きをする物ほど、滑らかに動かなくて気になるような感じもしますし・・・
このまま制作を続けても良いものか悩み中です^^
待ちに待ったプチコンmkIIが配信開始されました!
今回の目玉はなんといってもQRコードによるプログラムの配信が出来る点。
なので、早速以前制作したReflect EDGEのQRコードを公開しました^^
http://www.geocities.jp/sp1_ssr/ReflectEDGE1.htm

ゲームプレイ動画はコチラ↓


プログラムは2700行あるのですが、QRコードにすると21枚でした。
21枚と言うと取り込むの大変そうですが、実際はDSで画面を次々に撮影していくだけなので
思ったよりも手軽に取り込むことが出来ます。
慣れてしまえば、普通にダウンロードするのと同じような感覚で取り込めるんじゃないかなーと。

そして、もうひとつ気になっていたのが実行速度。
mkIIでは若干速くなるとの事だったのですが、実際に自分のゲームをmkIIで動かしてみると
ちょっと速くなっていました。感覚的には60FPSだった物が65~70FPS程度で動く感じ。
今回はスプライトの衝突判定用の命令やデカキャラも扱い易くなってるようなので
簡単な動作速度検証プログラムでも作ってみようかなーと思ってます。
弾幕STGっぽいの作りたいなーと思ってるんですが、流石にそこまでは無理かなぁ^^;
Twitter
カレンダー
10 2024/11 12
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
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]