2012年3月24日土曜日

VGS Chiptune Music

「INVADER BLOCK 2」のリビジョンアップ作業に入る前に、折角作った独自音源ドライバなんだから、サンプルミュージックだけでも配っておこうと思い、Androidマーケットで無料配布しておきました。(本当は、8曲作って出そうとしてましたが、6曲のみですが...)
成果は、何かしらの形に残しておきたかったので。

アプリの名称は、「VGS Chiptune Music」(和名:VGS チップチューン音楽)。
「音楽&オーディオ」のカテゴリに流してます。
明日ぐらいには、Android Market(Google Play)で「suzukiplan」とかで検索してヒットする筈。
そういえば、有料アプリは開発者本人が買えない仕組みになっていますが、無料アプリはどうなっているんだろうか?無料アプリを公開するのは初めてなので、1回だけ試してみる予定。

これで、リビジョンアップ作業に入れます。


追記:(16:45頃)
もう公開されたようです。無料の方が反映が早いのかな。
自作アプリを自分でダウロードすることは、無料なら可能なようです。
FTPやSDカードで携帯電話にAPKを持っていく手間が省けて助かります。

あと、無料アプリだとAdMobで広告を打つことができるようです。(有料アプリだとできない)
やっぱり、無料で流して、アフィリエイトで収入を得るタイプじゃないとダメポですかね。

2012年3月23日金曜日

難易度の対策(予定)

INVADER BLOCK 2の難易度に関して、マーケットのコメントでは特に意見は無い(というよりコメントは未だ無い)ですが、やはり、難し過ぎるというのものが多いです。

ただし、ゲーム本編の難易度については、変更するつもりは無いです。
数人とはいえ買ってくれた人が居る訳だし、(私のように)現状の難易度で満足している可能性もあるので、ゲーム本編の難易度に手を入れる事は、出来ないと思っています。(ついでに、リプレイデータの互換性も保ちたい)

しかし、入り口を広げる努力はしておきたい所です。
具体的には、練習モードというのを追加しようと思っています。
練習(プラクティス)というよりは、訓練(トレーニング)的な要素の方が強いものになるかも。

ボールの予定軌道のガイドを表示するモードや、落ちる(落ちそうになる)前にボールの速度をスローダウンさせるモードなど。それらのモードで繰り返しやれば、ゲーム本編のプレイ時間を長くする効果が得られそうなものを考え中。
とりあえず、今思いついているのはその2モードですが、3モードぐらいは欲しいです。
あと、練習モードはステージ1限定+スコア・リプレイ保存無しとするつもり。
(本編はあくまでも現状のまま)

ただ、時間が足りないので、時間が若干掛かるかもしれませんが。
まぁ、そこは何とかするしかない。

2012年3月21日水曜日

入力インタフェース

AndroidMarketで色々と(自分以外の人が作った)ゲームを遊んでいて、どうも、コントローラに対する未練が多いものが多いなぁ・・・という印象が強いです。Android/iPhoneで作るからには、外付けコントローラやソフトコントローラ(画面上のコントローラの絵)からは脱却するしか無いと思いますが。

前作(INVADER BLOCK 2)の場合、幸い、入力インタフェースが左右だけだから、タッチで直感的&違和感の無い操作が簡単にできます。しかし、一番の問題は上下の移動。上下移動箇所をタッチで指示する仕様にしてしまうと、どうしても指が邪魔になります。

パズルゲームなら良いのですが、アクションゲームやシューティングゲームでは致命的。
今の所、満足できる上下左右の移動ができるゲームは(私がやった範囲では)見当たりません。
私もこれについては、上手い回避策を思いつきません。
ゲームパッドは偉大です。
未練が断ち切れないのも分からなくも無い。

で、第2弾のゲームの草案としては、「INVADER BLOCK 2」のように、コントロール対象物が左右だけではなく、上下にも移動しますが、入力に関しては左右だけでいく感じにしようと思います。
恐らく、AndroidやiPhone用の操作し易いアクションゲームを作ろうとすると、「入力は左右限定」という縛りでゲームのルールで工夫していくしか無いかな・・・と、思ったり思わなかったり。

ちなみに、上下左右の移動ができるアクションゲームの中で、一番操作性が良かったと思ったのは、CAVEの怒首領蜂大復活(体験版)。製品版も買おうとしたのですが、手持ちのAndroid機が全て未対応だったので未確認。

ちなみに、ステマではありません。“元”東亜+CAVE信者ですが。
ただ、起動するのにWeb接続が入ったりするのは微妙な感じです。
多分、スタンドアロンにしなかったのは、価格と収益の関係で仕方の無いことだと思いますが、スタンドアロン起動可能だったら倍以上の値段でも買うのに。ついでに、大復活ではなく、初期の怒首領蜂か大往生が、大復活と同等の操作性&スタンドアロンなら、10倍程度の値段でも欲しい。

2012年3月20日火曜日

解析断念

ptcopの解析は断念。
調べれば何とかなりそうな感じでしたが、ピスコラで作り溜めた曲はせいぜい20曲ぐらいだし、MMLの打ち込みにもだいぶ慣れてきて、一日3~5曲程度ならアナログ方式(ピスコラのピアノロールを見ながらMMLを書き起こす)でできそうな感じなので、解析を完遂させる労力に見合わないと判断。(解析ができても、そこからMMLにデコードするのも面倒だし)

曲はとりあえず、5曲ほど、MML化しました。
8曲ぐらいできたら、無償でストアに流します。(たぶん)

2012年3月19日月曜日

ptcopを解析中...

ptcopファイルの音符情報等(EventV5レコード)の解析ですが・・・中々厄介だということは、把握。
ピスコラ自体、あまり「誰もが知っている」というレベルで普及しているものではないので、解析データの情報が転がっていない(海外にかなり間違ったデータを載せているものはありましたが...)から、色々と試行錯誤しながら解析しています。

とりあえず、かなり適当に作ったコンバータで、4部休符+4部音符(音程はc)を2小節(音符はオクターブ0と1を交互に)鳴らすptcopを解析したところ、こんな感じになりました。
Number of event: 25
    1: Tr#00/Ev#0C: Inst: 0000(0)
-----: Tr#00: Wait=01f0(496)
    2: Tr#00/Ev#02: Key : 6680(26240)
    3: Tr#00/Ev#01: Len : 01f0(496)
    4: Tr#00/Ev#04: Vel : 0068(104)
-----: Tr#00: Wait=03e0(992)
    5: Tr#00/Ev#02: Key : 7e80(32384)
    6: Tr#00/Ev#01: Len : 01f0(496)
    7: Tr#00/Ev#04: Vel : 0068(104)
-----: Tr#00: Wait=03e0(992)
    8: Tr#00/Ev#02: Key : 6680(26240)
    9: Tr#00/Ev#01: Len : 01f0(496)
   10: Tr#00/Ev#04: Vel : 0068(104)
-----: Tr#00: Wait=03e0(992)
   11: Tr#00/Ev#02: Key : 7e80(32384)
   12: Tr#00/Ev#01: Len : 01f0(496)
   13: Tr#00/Ev#04: Vel : 0068(104)
-----: Tr#00: Wait=03e0(992)
   14: Tr#00/Ev#02: Key : 6680(26240)
   15: Tr#00/Ev#01: Len : 01f0(496)
   16: Tr#00/Ev#04: Vel : 0068(104)
-----: Tr#00: Wait=03e0(992)
   17: Tr#00/Ev#02: Key : 7e80(32384)
   18: Tr#00/Ev#01: Len : 01f0(496)
   19: Tr#00/Ev#04: Vel : 0068(104)
-----: Tr#00: Wait=03e0(992)
   20: Tr#00/Ev#02: Key : 6680(26240)
   21: Tr#00/Ev#01: Len : 01f0(496)
   22: Tr#00/Ev#04: Vel : 0068(104)
-----: Tr#00: Wait=03e0(992)
   23: Tr#00/Ev#02: Key : 7e80(32384)
   24: Tr#00/Ev#01: Len : 01f0(496)
   25: Tr#00/Ev#04: Vel : 0068(104)
-----: Tr#00: Wait=6574(25972)


・・・ここまででもちょっと面倒でした。
しかし、まだ色々と読み違えている箇所があるようです。
なので、上記解析は未だ間違っているのかもしれません。
結構複雑です。

“V5”ということは、色々と仕様面で綺麗にはできていないだろう・・・と、想定済みですが。

2012年3月18日日曜日

色々と移植中

Android用の独自PSG音源は一応完成しましたが、実際に曲を打ち込んでみて、音源(またはMMLコンパイラ)のブラッシュアップを図る作業中。

私は、音楽の作曲にピストンコラージュを用いてますが、ピスコラのデータ形式(ptcop又はpttune)は公開されていないようなので、MMLに打ち込み直す作業に結構時間が掛かりました。
約50小説の曲でだいたい1人日ぐらい。(今日の昼ぐらいから作り始めて今1曲完成)

ノート(音符)データなら、MasterV5レコードEventV5レコード(ptcopの内部データ形式)あたりを解析すれば取り出せそうな感じなので、コンバータを作るのに丸1週間程度掛けても、余裕で元が取れるな・・・と、思い始めてます。

昔作った曲を~10曲程度作ったら、ジュークボックスみたいな形にして、Marketでタダで配る予定。
ちなみに、↓こういう曲ばかり。(ズンダラ節っていうんですかね?)
http://www.k2.dion.ne.jp/~ysuzuki/game06/bgm09.mp3
※上記は、ピスコラで作ったもの

2012年3月17日土曜日

独自PSG音源の実機検証

Android用に作っているPSG音源なのに、Android上で一回も鳴らしたことが無かった(Windowsでのみ確認していた)ので、Android向けにコンパイルして鳴らしてみました。

ちなみに、画面(Windows/Android共通)は下記のような感じです。

結果は良好。
当然ながら、鳴っている音の内容も全くWindows版と同じ。
ただ、ちょっと音が丸くなったかもしれません。
これはスピーカーの個体差かな。


動作はかなり軽快です。

このテスタをバックグラウンドでループ再生し続けた状態で、INVADER BLOCK 2を起動してみましたが、全く処理落ちせずに動作できました。CPU使用率にかなりの余裕があるので、デバッグ機(LenovoのIdea Pad 01)よりも遅い環境でも問題無いと思います。

多少の表現能力を犠牲にしてでも性能を追求した甲斐がありました。

合理的ではないものを作りたい

ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...