W.Deeの2005年5月の日記

kikyou.info»日記

誠に勝手ながら、kikyou.infoは2017年12月いっぱいをもって閉鎖します。ながらくありがとうございました。

最新月 : 2008年10月
2003年 [             3    4    5    6    7    8    9   10   11   12  ] 月
2004年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2005年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2006年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2007年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2008年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2009年 [   1    2    3    4    5    6    7    8    9   10   11       ] 月
前月の日記  次月の日記

2005年5月29日

非吉里吉里の TJS の利用法

TJS2 は Borland C++ や、ちょっとがんばると g++ でもコンパイルでき、吉里吉里とは関係なく、単体のスクリプトエンジンとして利用できます。

このような非吉里吉里の TJS2 を使用したスクリプト環境としては、Hiroaki OzakiさんのところのファイラであるExpCmdのスクリプト言語として TJS2 が使われているものや、meyさんのところで製作中らしいLunatic TJS (DirectX ベースのゲーム用ライブラリ Luna の TJS2 バインディング) というのがあります。

様々な可能性を見ることができ、とても楽しいです。

吉里吉里ベースの非 KAG のゲームエンジン

これもごうさんのところですが、吉里吉里ベースのゲームエンジンを作るという話が出ています。

いまや KAG は吉里吉里の代名詞のように言われていますが、本来は「吉里吉里」で作るアプリケーションは KAG を使わなくてもよいはずです。

既に非KAGの吉里吉里ベースのアプリケーションでは、先日紹介したヤマモトさんのところの吉里吉里製シューティング など、いくつか存在していますが、非KAGの商用ノベル・アドベンチャーゲームエンジンということで期待をしています。

Windows OLE と 吉里吉里2

ごうさんのところでWIN32OLE for 吉里吉里 2.25 Beta4というプラグインが公開されていますより新しい情報は電波…とどいた? [最新版]

これは何かというと、吉里吉里から IDispatch/IDispatchEx を経由して COM オブジェクトを操作する、あるいは吉里吉里以外の何かから IDispatch/IDispatchEx を経由して吉里吉里を操作する物です ( 2005年3月24日の私の日記 も参照 )。これを利用して、IE で表示しているページ中の JScript から吉里吉里を操作したり、吉里吉里から Excel を操作できたりしています。

ちなみにごうさんのところの最新版のプラグインだと Scripts.execStorage 等が拡張され、JScript や VBScript (潜在的には PerlScript や RubyScript なども) で記述されたスクリプトを吉里吉里で実行可能になっています。もちろん、これらのスクリプトから吉里吉里のクラスを利用したり、吉里吉里からこれらのスクリプトで記述した関数を呼び出したりなどもできるようになるはずです。

いやー、面白いですね。いろいろと応用が考えられそうです。

しばらくしたら 吉里吉里の標準配布プラグインにでも入れさせて頂こうかと思っています。これは Windows 依存となりますが、Windows 依存であること以上にメリットが大きそうなので。

ちなみに、いにしえの吉里吉里(バージョン0.6代)は JScript をはじめとする、いわゆる Active Script Engine で駆動されていました。しかし、パフォーマンスが悪かったり、当時は環境によってはJScriptの必要十分なバージョンの物がインストールされていないといった問題があり、捨てました。

2005年5月6日

Loop Tuner 2

WaveSoundBuffer のセグメントループを強化する、という話を少し前にしましたが、いくら何でもセグメントループの位置を手動で設定するには限度があるので Loop Tuner を新しく作り直しています。

sliファイルも形式が新しくなりますが、テキストファイル形式というのは変えませんので、使い慣れた編集ソフトの方がよいという方は手動で書き込んでください。

とりあえず既存の単純なループだけではなく、やろうとしているのは以下のような物です。

  • 無条件リンク(ループなど)
  • 条件によるリンク
  • ラベル(通過によるコールバックイベントの発生)

リンクというのは、その再生位置に来たら別の場所にジャンプするという「継ぎ目」のことです。

リンクの条件はTJSスクリプト側からもいじれるようにするので、シナリオの進行に会わせて曲調を変える、なんてこともできるようになります。

継ぎ目の調整は、いまのLoop Tunerよりももっと調整しやすい画面を用意しようと思います。調整がめんどくさかったり、どうしてもプチノイズが発生してしまう場合のために、50ms 程の短いクロスフェードで継ぎ目を補間する機能もあります。

とりあえずまだほとんど何もできない Loop Tuner 2 のメインウィンドウのスクリーンショット(波形とか矢印とか適当)

Loop Tuner 2 early alpha

私自身は音屋さんではないので、何かご意見があれば是非よろしくお願い致します。

  • 2005-05-07 05:36 ヤマモト : 技術的に可能なのか分かりませんが、継ぎ目位置の自動微調整とかあったらスゲェ便利だと思います。画像処理でなら、継ぎ目での差分の二乗和とかを評価して自動微調整可能なんですが、音声ではどうなんでしょうか?
  • 2005-05-07 10:49 W.Dee : -Inf レベルとの交差点をあわせるぐらいだったら簡単だとおもいます。でも、ソフトウェアシンセサイザのようなものでPCMサンプル単位で正確に合成された音楽で無い限りは、人の耳には同じように聞こえても、よほどのことがない限り波形が一致することはないので、単純な一致の検出では難しいでしょう。あり得るとすれば、周波数成分に分解してから相似を探すということですかね。おもしろい課題ではあると思いますが。
  • 2005-05-10 16:26 たにみちNON : お久しぶりですDeeさん。お、覚えていらっしゃるかなあ。いつの間にか本職になってしまった私です。シナリオの進行に会わせて曲調を変えるですが、上の表記ってのは、単純に命令があった時に飛ぶのではなく、たとえばA-B地点をループしている状態で、命令を与えた後、B地点を待ってからC-Dループに飛ぶ、とかいうのも可能ってことですかね。
  • 2005-05-10 19:31 W.Dee : お久しぶりです。おお、お仕事のほうでもこのお名前で活躍されているのですか? ご質問の件ですが、可能です。スクリプトから操作できるのは、フラグと呼んでいる、16個の変数だけです。リンクはあらかじめループチューナで指定しておき、再生位置がそこにきたとき、そのフラグによってジャンプするかどうかを決めることができます。スクリプトから任意のタイミングでジャンプさせるようなことはできません。あと、バッファリングの関係で、フラグを操作してからそれが反映されるまで最長で2秒かかります。
  • 2005-05-25 21:59 DauGe : どうもです。OPやEDを作る場合においては、音楽主体で静止画を切り替えたりトランジションできたりすると死ぬほど嬉しいです。この場合は曲のループを制御するのでなく、曲のある場所に来たら吉里吉里側に現在の位置を通知する、というイメージです。
  • 2005-05-26 11:01 W.Dee : ちわ。DauGeさんが全裸で喜んでくださると思ってぬるぬる開発しています(挨拶)。 「ラベル(通過によるコールバックイベントの発生) 」 と言うのがその機能です。設定したラベルを通過するとイベントが発生するので、KAGで待つことができるようになります。
  • 2005-05-27 05:48 DauGe : ああ、もう今、全裸ですが(挨拶)。 画面のスクリーンショットとナレーションを用意しておけば、教育用のソフトが作れるかな、なんて考えてます。