2016年6月5日日曜日

東方VGSの更新が止まっていますが、私は元気です

いや、色々とありまして...

まず、一番大きなところで、VGS mk-III の開発を本格的に始めたから時間がありません。

mk-IIIは、大まかにはこんな感じにするつもりです。

音源システム周りは mk-II と全く同じ。
vgs-bgm-decoder, vgs-mml-compiler, vgs-spu をそのまま使います。
若干の改良点としては、効果音関連で今まで音源ソースは .wav ファイル限定でしたが、ogg/vorbis もサポートしたり、周波数とかを自動変換できるようにしたりする予定(ROMDATA.BINの内部構造は変更しないつもりです)。
そこまでやるなら mp3 とか aac も...と言いたくなるところですが、それらは大人の事情(特許関連)により使えません。
グラフィックス面は、ソースとしてpngも使えるようにしようと考えていますが、それ以外にも同時発色数を8bitカラー(256色)から16bitカラー(65536色)にするかも。αブレンド(半透明)を使えるようにしたいかもと思っているので。
あとは、(これはまだ構想段階ですが)VGSのゲームプレイ内容を動画に録画して、ニコニコ動画やYouTubeなどに簡単にプレイ動画をアップできるようにしてみようかとか、考えたり、考えていなかったり。

色々と変わる予定ですが、一番大きな変更点は CPUの自前化 です。

vgs-cpuという独自の仮想CPUを搭載します。
https://github.com/suzukiplan/vgs-cpu

これは完全に暴挙ですね。
CPU自体は32bitですが、フルアセンブリ言語でも 6502 並にコーディングし易いCPUとして設計中です。オールマシン語でゲームプログラムを作るのは、8bit時代は結構普通だった(というよりBASICなどの入門言語を除けばそれが標準的だった)のですが、16bitで少し難しくなり、32bitで完全に無理になりました。ただ、32bit CPUだったとしてもオールマシン語で作る前提でCPUを再設計すれば、結構いい感じになるんじゃないかと。

mk-IIまでのVGSは、cocos2dやUnityなどと同じ 単なるSDK ですが、私はSDKを作ろうという気は初めからサラサラ無く、作ろうとしたのはVGSという私の脳内に実機があるコンソールゲーム機のエミュレータです。なので、これでようやくVGSが青写真通りの形になる訳です。

完全に誰得だということは確定的に明らかですが、それはさておき。

しかし、この作業の合間の時間にでも東方VGSの更新はできなくもないのですが、今はSteamのNuclear Throneというゲームをプレイするのに忙しかったりとか...(このゲームはやばい)