まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
シューティングラブログの8bitアレンジに応募してみました。
なんか、アレやコレやと作ってみたのですが、どれもイマイチしっくりこなくて
最初はギターを入れて作ろうとしたのですが、ギターの音が浮きまくりでおかしいし
変にメロディ足したりしても上手く馴染まないしで、結局原曲のまま音色を足していった
感じでアレンジと言っていいのか微妙です^^;
一応ドラムの打ち込みは頑張った(と思う)ので、良しとしておきます(汗)
拡張音源はナムコのN106を使ったのですが、最初ピッチベンドなどが全然効かなくて
なんでやろ?と思っていたのですが、#PITCH-CORRECTIONを最初に宣言して
SAコマンドで、音色ごとにSA8とかにすれば上手く効いてくれました。
それにしてもppmck楽しいです^^
これで、普通のDAWみたいに打ち込み出来れば最高なんですが、それならVST使えよって話に
なりそうなので、これはこのままMMLで書くのが良いのかなぁなんて思ったりしてます。
なんか、アレやコレやと作ってみたのですが、どれもイマイチしっくりこなくて
最初はギターを入れて作ろうとしたのですが、ギターの音が浮きまくりでおかしいし
変にメロディ足したりしても上手く馴染まないしで、結局原曲のまま音色を足していった
感じでアレンジと言っていいのか微妙です^^;
一応ドラムの打ち込みは頑張った(と思う)ので、良しとしておきます(汗)
拡張音源はナムコのN106を使ったのですが、最初ピッチベンドなどが全然効かなくて
なんでやろ?と思っていたのですが、#PITCH-CORRECTIONを最初に宣言して
SAコマンドで、音色ごとにSA8とかにすれば上手く効いてくれました。
それにしてもppmck楽しいです^^
これで、普通のDAWみたいに打ち込み出来れば最高なんですが、それならVST使えよって話に
なりそうなので、これはこのままMMLで書くのが良いのかなぁなんて思ったりしてます。
PR
先日サンプリングしたドラムを使ってヴォルガードIIのタイトル曲を作ってみました。
ダウンロードはコチラ↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243790158
mp3ファイルはコチラ↓
ヴォルガードII-タイトル曲-(右クリック→対象をファイルに保存で聴いてください)
通常のファミコン音源3音+DPCM+ナムコN106音源で作成しています。
MML作る時にオクターブの表記がTSSCPと逆だったので難儀していたのですが
#OCTAVE-REV 1というコマンドを使えばTSSCPと同じようにする事が出来ました。
何回もこの曲作ってますが、好きなんですよね~。特に後半の盛り上がる所が最高です^^
作曲されたのは斉藤康仁氏で他にも脳戦艦ガルや鉄道王、レイラなどのFCゲームの曲を
手掛けておられるのですが、どの曲も耳に残るフレーズが多くて好きなんですよね。
特に鉄道王の曲は名曲揃いでオススメです^^
TSSCPまとめwikiに鉄道王のデータがあったので転載
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#TITLE <鉄道王 プレイヤー1>;
#OCTAVE REVERSE;
#C=s4q0;#D=s0q13;
#Y=t128%1@2o4;
#Q=l16Ce8 DrCe l8g+b;
#R=l16Ca8 DrCa l8>c+e<;
#S=l16Cf+8DrCf+l8a>c+<;
#T=l16Ca-8DrCa-l8>ce-<;
#U=l16Cc+8DrCc+l8 eg+;
$Y Q Q R R Q Q S S Q Q R T U S l16CbDrCbDrCbag+f+ l16<DrCbDrCb>c+DrCd+8;
#A=q8;#B=q16;
#WAV 0,<(8,127),8,(127,-128),16,(-128,-9),8>;
#Z=t128%4@0s0o7;
#P=l8o6Ae>Bd+4c+<;
$Z Pl8Ab>c+d+<b>Bc+8.<a16r4r2
Pl8Abag+Ba f+4.ed+e16f+16^4
Pl8Ab>c+d+<b>
Bc+8.e16r4 d+8.f+16r4 e8.g+16r4 f+8.g+8.a
Bl16brbrbag+f+ r2;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
のほほーんとした感じが最高です^^
ダウンロードはコチラ↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243790158
mp3ファイルはコチラ↓
ヴォルガードII-タイトル曲-(右クリック→対象をファイルに保存で聴いてください)
通常のファミコン音源3音+DPCM+ナムコN106音源で作成しています。
MML作る時にオクターブの表記がTSSCPと逆だったので難儀していたのですが
#OCTAVE-REV 1というコマンドを使えばTSSCPと同じようにする事が出来ました。
何回もこの曲作ってますが、好きなんですよね~。特に後半の盛り上がる所が最高です^^
作曲されたのは斉藤康仁氏で他にも脳戦艦ガルや鉄道王、レイラなどのFCゲームの曲を
手掛けておられるのですが、どの曲も耳に残るフレーズが多くて好きなんですよね。
特に鉄道王の曲は名曲揃いでオススメです^^
TSSCPまとめwikiに鉄道王のデータがあったので転載
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#TITLE <鉄道王 プレイヤー1>;
#OCTAVE REVERSE;
#C=s4q0;#D=s0q13;
#Y=t128%1@2o4;
#Q=l16Ce8 DrCe l8g+b;
#R=l16Ca8 DrCa l8>c+e<;
#S=l16Cf+8DrCf+l8a>c+<;
#T=l16Ca-8DrCa-l8>ce-<;
#U=l16Cc+8DrCc+l8 eg+;
$Y Q Q R R Q Q S S Q Q R T U S l16CbDrCbDrCbag+f+ l16<DrCbDrCb>c+DrCd+8;
#A=q8;#B=q16;
#WAV 0,<(8,127),8,(127,-128),16,(-128,-9),8>;
#Z=t128%4@0s0o7;
#P=l8o6Ae>Bd+4c+<;
$Z Pl8Ab>c+d+<b>Bc+8.<a16r4r2
Pl8Abag+Ba f+4.ed+e16f+16^4
Pl8Ab>c+d+<b>
Bc+8.e16r4 d+8.f+16r4 e8.g+16r4 f+8.g+8.a
Bl16brbrbag+f+ r2;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
のほほーんとした感じが最高です^^
ppmckでDPCM(サンプリングした音)って鳴らす事が出来ないのかな~と思って調べたら
とても簡単に鳴らせる事が解りました。
詳しくはコチラに書いてありますが、DPCMを鳴らす為にはdmcと言うファイル形式に変換
しないといけないみたいで、この変換の為のソフトもコチラで配布されています。
ココにあるdmc converterとdmc converter Support Toolで簡単にdmcファイルを
作る事が出来ます。
dmc converterとdmc converter Support Toolをダウンロードしたら解凍して
dmc converter Support Toolの中にあるdmcconv-gui.exeをdmc converterフォルダに移動します。
で、dmcconv-gui.exeをダブルクリックするとこんな画面になります↓

後は、ココに変換したいWAVファイルを持ってきて変換ボタンを押すだけ。
注意点としては、WAVファイルを44.1kHz/16bitのモノラルで用意しなければならない点。
用意出来ない場合はSoundEngineFreeなどで編集すればOK。
で、出来たdmcファイルをmmlファイルと同じフォルダに移動して
@DPCM0 = { "sne01.dmc.dmc",15 }
E l4o0 cccc
こんな感じで記述してコンパイルすれば、DPCMが鳴ってくれます。
試しにドラムとギターを鳴らしてみました。
ドラム↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694838
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694831
ギター↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694878
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694869
mp3ファイルもアップしましたので、nsfファイルが聴けない方はmp3で聴いて下さい。
ちなみに元のファイルはコチラ↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694827
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694873
両方ともCubaseで作ってます。(サンプリング時は単音のファイルで出力してます)
ギターが思ったよりも綺麗にサンプリング出来たので、ギターを入れた8bitアレンジとかも
面白そうやなぁと思ったり。
なんにせよ、こんなに楽しいソフトを今まで知らなかったのが悔やまれます^^;
とても簡単に鳴らせる事が解りました。
詳しくはコチラに書いてありますが、DPCMを鳴らす為にはdmcと言うファイル形式に変換
しないといけないみたいで、この変換の為のソフトもコチラで配布されています。
ココにあるdmc converterとdmc converter Support Toolで簡単にdmcファイルを
作る事が出来ます。
dmc converterとdmc converter Support Toolをダウンロードしたら解凍して
dmc converter Support Toolの中にあるdmcconv-gui.exeをdmc converterフォルダに移動します。
で、dmcconv-gui.exeをダブルクリックするとこんな画面になります↓
後は、ココに変換したいWAVファイルを持ってきて変換ボタンを押すだけ。
注意点としては、WAVファイルを44.1kHz/16bitのモノラルで用意しなければならない点。
用意出来ない場合はSoundEngineFreeなどで編集すればOK。
で、出来たdmcファイルをmmlファイルと同じフォルダに移動して
@DPCM0 = { "sne01.dmc.dmc",15 }
E l4o0 cccc
こんな感じで記述してコンパイルすれば、DPCMが鳴ってくれます。
試しにドラムとギターを鳴らしてみました。
ドラム↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694838
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694831
ギター↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694878
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694869
mp3ファイルもアップしましたので、nsfファイルが聴けない方はmp3で聴いて下さい。
ちなみに元のファイルはコチラ↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694827
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243694873
両方ともCubaseで作ってます。(サンプリング時は単音のファイルで出力してます)
ギターが思ったよりも綺麗にサンプリング出来たので、ギターを入れた8bitアレンジとかも
面白そうやなぁと思ったり。
なんにせよ、こんなに楽しいソフトを今まで知らなかったのが悔やまれます^^;
シューティングラブログでWASi303氏がシューティングラブ200Xで使用されている「8bit」という
曲を公開されていたのですが、その曲のMML(コンピュータ用の楽譜みたいな物)も公開
されていたので拝見してみたら、TSSCPの記述方法とそれほど変わらないなぁという印象で
しかもppmckというソフトを使えば自分でも音を鳴らす事が出来る模様。
と言う訳で早速ppmckを使ってみました。
まず、コチラでppmck本体をダウンロードします。
それを解凍したフォルダにあるsongsフォルダを開いてMMLファイルを入れます。
WASi303氏が公開されているファイルなら8Bit_pAPUmix.mmlをこのフォルダに入れます。
次に00startcmd.batをダブルクリックするとDOS窓が開くので、mknsf 8Bit_pAPUmixと
打ち込めば、同じフォルダに8Bit_pAPUmix.nsfと言うファイルが出来ます。
こんな感じの画面が出れば成功です。
この8Bit_pAPUmix.nsfが音楽を鳴らす為のファイルで、VirtuaNESというファミコンのエミュレータ
で演奏出来ます。

試しに、ナムコのN106とディスクシステムのFM音源をプラスして8bitを演奏させてみました↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243773059
全部公開したらまずそうな気がしたのでAメロ部分だけです。(それでもまずければ削除します)
メロディ部分にエコーをかけて、ベース音を重ねています。
ちなみにMMLファイルはテキストファイルと同じように編集できますので、メモ帳はもちろん
各テキストエディタで編集出来ます。
MMLについてはコチラが参考になると思います。
いや~、それにしてもこんなに簡単にファミコン音源が弄れるとは思ってなかったので
ちょっと驚きです。(私がTSSCPを触った事があったのもあると思いますが)
シューティングラブログでは8bitのアレンジを募集されていたので、ちょっと作ってみて良さそうなのが
出来たら、応募してみようかなぁ~と思ってます^^
以下、自分用メモ
MMLには先頭に使用するチャンネルを記述する
A~E ファミコン音源
F ディスク音源
P~W ナムコN106音源
N106を使う場合は
#EX-NAMCO106 8
と記述する。8は使用するチャンネル数で変わる。
ディスクシステムのFMは
#EX-DISKFM
と記述する。
MMLの先頭には使用するチャンネルを記述する。
例)ABCFP
波形定義
曲を公開されていたのですが、その曲のMML(コンピュータ用の楽譜みたいな物)も公開
されていたので拝見してみたら、TSSCPの記述方法とそれほど変わらないなぁという印象で
しかもppmckというソフトを使えば自分でも音を鳴らす事が出来る模様。
と言う訳で早速ppmckを使ってみました。
まず、コチラでppmck本体をダウンロードします。
それを解凍したフォルダにあるsongsフォルダを開いてMMLファイルを入れます。
WASi303氏が公開されているファイルなら8Bit_pAPUmix.mmlをこのフォルダに入れます。
次に00startcmd.batをダブルクリックするとDOS窓が開くので、mknsf 8Bit_pAPUmixと
打ち込めば、同じフォルダに8Bit_pAPUmix.nsfと言うファイルが出来ます。
この8Bit_pAPUmix.nsfが音楽を鳴らす為のファイルで、VirtuaNESというファミコンのエミュレータ
で演奏出来ます。
試しに、ナムコのN106とディスクシステムのFM音源をプラスして8bitを演奏させてみました↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1243773059
全部公開したらまずそうな気がしたのでAメロ部分だけです。(それでもまずければ削除します)
メロディ部分にエコーをかけて、ベース音を重ねています。
ちなみにMMLファイルはテキストファイルと同じように編集できますので、メモ帳はもちろん
各テキストエディタで編集出来ます。
MMLについてはコチラが参考になると思います。
いや~、それにしてもこんなに簡単にファミコン音源が弄れるとは思ってなかったので
ちょっと驚きです。(私がTSSCPを触った事があったのもあると思いますが)
シューティングラブログでは8bitのアレンジを募集されていたので、ちょっと作ってみて良さそうなのが
出来たら、応募してみようかなぁ~と思ってます^^
以下、自分用メモ
MMLには先頭に使用するチャンネルを記述する
A~E ファミコン音源
F ディスク音源
P~W ナムコN106音源
N106を使う場合は
#EX-NAMCO106 8
と記述する。8は使用するチャンネル数で変わる。
ディスクシステムのFMは
#EX-DISKFM
と記述する。
MMLの先頭には使用するチャンネルを記述する。
例)ABCFP
波形定義
コインの自動回収処理とハイパーゲージを追加しました。

黄色い部分がコインの当たり判定部分です。
まず、自機の周りの黄色い部分とコインで当たり判定を行って、当たった時は自機に向かって
コインを移動させています。
コインの移動方法の考え方は自機狙い弾と同じで、コインが当たった位置から自機に向かって
移動させてやるだけ。プログラムはこんな感じ↓
double r=0.;//角度
double ds=10.;//コインの速さ
//当たった時は↓
r=atan2((ch.y+24)-(coin1[i].cy+24), (ch.x*((HAIKEI_X_MAX-48.)/312.)-g_lrscroll1+24)-(coin1[i].cx+24));//コインと自機との角度を求める
coin1[i].cmx=cos(r)*ds;//移動量
coin1[i].cmy=sin(r)*ds;
//コインの移動↓
coin1[c].cx=coin1[c].cx+coin1[c].cmx;
coin1[c].cy=coin1[c].cy+coin1[c].cmy;
DrawGraph( coin1[c].cx , coin1[c].cy , g_coin0[coin1[c].anime] , TRUE ) ;
で、自機とコインが当たったらハイパーゲージを増加させるようにしました。
ゲージ自体はDrawBox関数で四角を表示させています。
DrawBox( 150 , 26 , 150+ch.jiki_hyper , 27 , Cr , TRUE ) ;
こんな感じで記述してch.jiki_hyperが増えればゲージも長くなるようにしました。
後はハイパー時にどういったパワーアップをさせるか?なのですが、威力が上がるのは当然として
弾消しも出来るようにしようかと思っているのですが、それだけだと死ぬ要素がなくなってしまうので
弾消し出来る弾と出来ない弾を作って打ち分けるようにするか、死ぬほど敵を出現させるように
するか、どうしようかな~と、色々と考えております。
こういうのを考えてる時が一番楽しい気がしますね^^
黄色い部分がコインの当たり判定部分です。
まず、自機の周りの黄色い部分とコインで当たり判定を行って、当たった時は自機に向かって
コインを移動させています。
コインの移動方法の考え方は自機狙い弾と同じで、コインが当たった位置から自機に向かって
移動させてやるだけ。プログラムはこんな感じ↓
double r=0.;//角度
double ds=10.;//コインの速さ
//当たった時は↓
r=atan2((ch.y+24)-(coin1[i].cy+24), (ch.x*((HAIKEI_X_MAX-48.)/312.)-g_lrscroll1+24)-(coin1[i].cx+24));//コインと自機との角度を求める
coin1[i].cmx=cos(r)*ds;//移動量
coin1[i].cmy=sin(r)*ds;
//コインの移動↓
coin1[c].cx=coin1[c].cx+coin1[c].cmx;
coin1[c].cy=coin1[c].cy+coin1[c].cmy;
DrawGraph( coin1[c].cx , coin1[c].cy , g_coin0[coin1[c].anime] , TRUE ) ;
で、自機とコインが当たったらハイパーゲージを増加させるようにしました。
ゲージ自体はDrawBox関数で四角を表示させています。
DrawBox( 150 , 26 , 150+ch.jiki_hyper , 27 , Cr , TRUE ) ;
こんな感じで記述してch.jiki_hyperが増えればゲージも長くなるようにしました。
後はハイパー時にどういったパワーアップをさせるか?なのですが、威力が上がるのは当然として
弾消しも出来るようにしようかと思っているのですが、それだけだと死ぬ要素がなくなってしまうので
弾消し出来る弾と出来ない弾を作って打ち分けるようにするか、死ぬほど敵を出現させるように
するか、どうしようかな~と、色々と考えております。
こういうのを考えてる時が一番楽しい気がしますね^^
カレンダー
| 07 | 2026/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 |
リンク
カテゴリー
最新記事
(04/04)
(12/26)
(12/25)
(11/17)
(10/11)
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
最古記事