Hello, my name is pornanime.

近況

DORANEKO SLAYER

f:id:gyuque:20160922214650p:plain f:id:gyuque:20160922214658p:plain
f:id:gyuque:20160922214705p:plain f:id:gyuque:20160922214711p:plain

タイトル → メイン(本編) → エンディング までが一通り揃った形に。来週余裕があれば本番実装(SFC版)に入れるかな、というところ。
PAのロゴはコナミコンパイルのつもりで作ったんだけど「データイーストみたい」と言われてしまった。
f:id:gyuque:20160922235324g:plain
ロゴがメタリックならデータイーストか?

Humble Bundle の NeoGeo Classics Pack 4 を買った

f:id:gyuque:20160922235419j:plain
はい。殺すはよくない。

別に格闘ゲームは得意じゃないんだけど、真サムは出た当時ベーマガが(どう考えてもライターの趣味で)プッシュしまくっていたので、ゲームセンターなんて一切行かないのに内容はよく知っていた。そういえば闘技場のタイトルも「真」になってたっけ。今から考えると「BASIC」マガジンに延々とサムスピの話が載っているのは完全に意味が分からないけど、皆さんいつかこういうプログラムが作れるようになるといいね、という目標として載せていたのかもしれない。まあ趣味だろうけど……

ドット絵を描いた

絵自体は猛暑の頃からダラダラ描き溜めてたんだけど、気付いたら最終回の時期になっていたのでモーションを2日集中でガッと付けた。おかげで寝不足になったので本業圧迫で怒られないように頑張って平静を装っている。

状況

Windows上で動くプロトタイプが8割ぐらい完成状態

そろそろ本番(SFC版)の実装に行っても……と勇み足をするとグダグダになりそうなので、99%ぐらいまで作り込んで素材を全部揃えてからにしようかと思う。

グラフィックも実機と同じ構成(背景BG2面+テキスト用BG1面+スプライト)で作ってあるのでそのまま再現できると思うんだけど、スプライトの横並び制限に引っかかったら優先順位のローテーションを入れる必要がある。

はい

今月、作曲のninoさんがお忙しいということで、その間にゲーム本体のほうを見直していた。

具体的に言うと、ラン系ゲームならプログラムが極限まで単純になるかなと思ったら意外とややこしくなってしまったし、その割に大して面白くねえなと思ってゲームデザインからやり直すことにした。

エターナってないか、元気でいるか、街には慣れたか。
まあとりあえずアイデアはまとまりました。

f:id:gyuque:20160820010041g:plain f:id:gyuque:20160821010207g:plain

こんな感じで魚を盗みに来る猫を退治するゲームに。
尚、これはスーファミで動くプログラムではなくて、Windows向けにCで書いたプロトタイプ。ただし、グラフィックやプログラムのロジック等、スーファミ実機で実現できる見込みのものしか使わないという縛りを入れてあるので、スッと移植できる……筈。多分。ただ、猫4匹を同時に動かして処理落ちしないかどうかは微妙なラインではある。(以前の2匹で限界だったプログラムに比べるとだいぶロジックが簡略化されてはいる)

qSPC進捗


↑ qSPCの開発に協力いただいているyouninomiyaさんのサンプル曲

今回強化したポイントは

  • パンポット(左右への振り分け)
  • ドライバの64KB化

ドライバの64KB化というのは、今まではデータも含めて32KBが上限で、SPCが持っている64KBのメモリを使い切っていなかったということ。SFCの仕様上、CPUからROMの中が32KBずつしか見えないので、64KBのドライバイメージは2回に分けてSPCに転送しなくてはいけない、という面倒があってこうなっていました。

実在のスーファミソフトの曲だと言って騙せるぐらいの水準には達したのではないかと思いますが、LFOが無いのが弱点かな。あとはMIDIのドラムトラックみたいな機能を付けるかどうか(今でも一音ごとに音色を切り替えればドラムセットを鳴らせるけど、切替命令が大量に入るのでスコアデータが肥大化する)

進捗

豊井さんの許可を得てプレーヤーに絵を組み込んだ

……え?機能強化は?
まあ見た目も大事です。

水面下ではコンポーザの方にqSPCを試用していただくといった事も進めているので、もっとSFCらしい曲が鳴るまで、いましばらく。

進捗

音色切替を実装。楽譜の再現という面では最低限機能が揃ったか。ただ、これだとモノラルなのでパンポットが必要かな。

ところでTwitter以外から来た人は何をやってるのか分からないと思うので改めて説明しておくと

  1. スーパーファミコンの音源チップ(SPC700)用ドライバ
  2. (1)を埋め込んだSPCファイルとSMCファイルを生成するMMLコンパイラ

を作ろうという話です。

f:id:gyuque:20160601023621p:plain

今回使ったMML

http://dic.nicovideo.jp/b/a/%E3%83%AD%E3%83%83%E3%82%AF%E3%83%9E%E3%83%B3/331-#343 より

#INST 0={0, 15, 7, 4, 18}
#INST 1={2, 15, 2, 2, 7}

$HI=v3o7 q15;
$SN=v9o4 q15;
$SNi=v9o5 q7;


t150

o4 l16 v7 @0
/:4e4grbr<d8.c+8.>a8<c8.>b8.g8argredre
  ere8 ere8 ere8 ere8 /ere8f+rf+8grbrd4 :/
  ddrdrdrde   bbggeec 

/
  /: e8e8r8e8egrbrge8 e8e8r8e8egrbrge8 d8d8r8d8df+rarf+d8 e8e8r8e8egrbrge8:/
  /: grg8 grg8 grg8 grg8  f+rf+8 f+rf+8 frf8frf8 l8ref+egere 
     bbeeb+16b+16eee l16:/
;

o5 l16 q15 v15 @0
/:4 e4grbr<d8.c+8.>a8<c8.>b8.g8argredre
<r8f+f+f+grrf+f+f+gr4/ rrf+f+f+grbrbargrf+r>:/
<aarararab4r4>
/
l8 /:rebab4agabre2gf+rf+r/f+ede&e2 rega:/gaf+e&e2 regb
q16<d1c+2c2q15 >ge4.regaa+ba+baged @w25
q16<d1c+2c2q15 >ge4.regb<e>bbb<d+f+ab>
;

o5 l16 v6 @0
/:4 r8e4grbr<d8.c+8.>a8<c8.>b8.g8argredre
    <ddderrddder4/ rrdddergrgf+rerdr> :/
    <f+f+rf+rf+rf+g4r4>
/
  /:gargrgrgf+grf+rf+rf+ dererde8 dererde8
    gargrgagrgrf+rf+gf+ dererde8 dererde8:/
  /:q16b1a+2a2q15  l8rgagbgrgagbgrgf+g:/ l16
;

o2 l16 v15 @1

/:60 $SNi c $HI ccc :/ $SNi ccrcrcrcc cc  ccc cc
/
 /:8 $HI crrr $SN c8r $HI ccccr $SN c8rr :/
 /:  $HI crcrcrcrcrcr $SN c8r8 $HI crcr $SN c8r8 $HI crcr $SN c8r8
    /  $HI crcr $SN c8r8 $HI crcr $SN c8r8 $HI crcr $SN c8r8 $HI crcr $SN c8r8  :/
 /: $HI crcr $SN c8r8:/
 $HI crcrcrcr cc c8c8c8
;

qSPC現況

進歩としては

  • 曲全体のループをサポート
  • オクターブ相対指定(< >)の記号を入れ替えるオプションをサポート
  • タイ・スラーを実装
  • 1トラックあたり256バイト以上のスコアデータをサポート

といったところで、宣言通りコンパイルの曲を一つ。ちなみに今回は実機収録です。

自分で収録してきたドラムの音がいまいち使い物にならないので、これぐらいしか鳴らせる曲がありません。
あとはハドソンで、ボンバーキング

この曲はわりとピアノにばっちりハマる感じがする。そういえばこれ高橋名人が歌ってるバージョンがあるんですよね。怖くて聞いてませんが。
あとは音色関連を実装すれば機能的には最低限揃う感じです。ただ、他人に使わせるには、MMLのパースエラーをまともに表示するという地味な作業が残っています。