2017年1月29日日曜日

とりあえず東方VGSで音ゲーを作ることにする

前の記事で書いたVGS-Keyboardで、とりあえず音を鳴らす仕組みを実装。
これで、単純なMIDIキーボード対応のVGSシンセサイザーみたいな感じになりました。

この音を鳴らす仕組みですが、1鍵1voiceという面白い仕様にしました。
通常のVGS音源(6voices)とは別音源としてVGSキーボード音源という24voices(!?)の新たな音源システムを定義する形で実現。(このキーボード音源の各voiceの実体はこの辺りで実装している構造体要素ですね)

これは、本物のチップチューン音源だったら割と実現が難しいです。
ピアノ等のリアル楽器は1鍵1voice方式だから、よりリアル楽器に近い自然な実装といえますが、それだとコストが掛かり過ぎるので。

しかし、こうした方が音ゲーとして扱い易そうかなと。

今考えてる音ゲーの大枠での仕組みは、VGSのNOTEオペレーションに通常の譜面データと同じ形でノーツ発生命令みたいなものを作りそれに従って操作していく感じのもので、このノーツに合わせて鍵盤を叩くことがゲームの操作としてそれとは別のスキームで発音ロジックを実装していくというものです。つまり、それなら音源システムはオリジナルVGS音源とは別枠にしておいた方が何かと都合が良いということになります...多分(この辺はカンだけを頼りに作っているので必ずしも正解ではないかもしれません)。

まずは、東方VGSの曲データをベースにして、とりあえず1曲遊べる状態のものを作ってみないと分からないですね。(理屈を捏ねる時間があったらコードを書けと)