頼りないニモニック

はっきりいって個人の日記レベル

Xylphの今後の話

f:id:nanase_t:20130609230231p:plain

プロコンから 2 年が経過します。あれから Xylph は 2.0 → ux → 3.0 → ux となりました。
そもそも Xylph とは何なのか、その定義すら危ういものでした。そもそもこれはシンセサイザなのか?という疑問もぶつけられました。
プロコン時点での Xylph とは「加算合成式ソフトウェアシンセサイザ」でした。これはその後のシンセサイズ部分でも継承されています。ただし加算合成のソースは正弦波とは限りません。シンセサイザなんて呼び方をせずに、単なる(ゲーム機サウンドの)シミュレータと言っておけばよかったのかもしれません。

しかしその定義は、徐々に失われつつあります。


Xylph はテキストで楽譜を記述するための(なんちゃって)記述言語と変化しました。そしてその記述内容に基づく演奏をするシンセサイズ部分が、ux ということになっています。記述の解析、コンパイル、中間形式への書き出しまでが Xylph で、その後の演奏は ux となります。
ただし演奏と言ってもシンセサイズ部とシーケンサ部があります。MIDI に詳しい人ならこの語の意味がわかるでしょうが、現在の ux 以前の Xylph はシンセサイズとシーケンサ、言語の解析やコンパイルといったものが明確に区別されています。これはあたり前のことですが、なんとも驚愕的なことに、2 年前の Xylph はこれが全部一つとなっていました。これは非常に厄介なお話でした。
この 2 年間で様々な試みをしました。まずは言語部の分離、それからシンセサイズ部とシーケンス部の分離。前者は Xylph という記述言語を作り、それに準じたパーサを制作することで解決しました。後者も現在制作中です。

何故こんなことになったのでしょう。この答えは非常に簡単で、単に分離するという発想が私に足りなかっただけです。
プロコン終了直後から様々な指摘がなされ、その中で顕著だったのが MIDI との連携でした。これをクリアするには分離という発想が必要でした。
分離を実践し、MIDI との連携が可能になったことで、私がプロコンで公言した、ゲームとの連携にも道筋が見えてきました。

実は先日、とある構想を立てました。クロスプラットフォームな軽量ゲームフレームワークを作りたいというものです。せっかく Xylph で C# + OpenAL を使っているのだから、そこで OpenGL も混ぜて使ってみたいというものです。ただし私は 3D なゲームを作る自信(と知識)はありません。あくまで 2D という路線を目指します。そしてメインはゲームの制作ではなく、フレームワークの構築です FC や GB のようなゲームフレームワークを作るには、ゲーム音のような Xylph ないしは ux が必要ではないかと考え始めていました。思えば私、最後まで制作できたものは全て「ものを作るもの」でした。Xylph を有効利用するには、適材適所、2D ゲームしか無いと考えています。

Githubでリポジトリも作りましたが、これからどうなっていくのかは全くの不明です。実行可能なものまでたどり着けるか、非常に心配であります。