mieki256's diary



2013/04/24(水) [n年前の日記]

#2 [prog] DXRubyで気になるところ

2点ほど気になるところが。

DXRuby はフルスクリーン表示ができないみたい。 :

メインPC(Windows7 x64 + 9800GTGE)で、DXRuby のフルスクリーン表示をすると、画面が激しく点滅・チラついてしまって、実用にならない。Window.real_fps の値も、40FPSぐらいが表示されてしまう。なんでだろ。

PyGame で同じことをすると、そういう状態にはならないので、もしかすると Ruby + SDL系のライブラリなら回避できるのだろうか…? それとも環境によって結果が違ってくるのだろうか。後で少し試してみたい気もする。

例えば 1920x1080のデスクトップ上で、640x480のウインドウ表示でゲームをプレイ、なんて状態はちょっと拷問に近い感じがするわけで。できればフルスクリーン表示をする機能もつけておきたい、と思うわけですが…。まあ、他にも、処理が重くならない範囲でウインドウサイズを大きくできる方法があるのであれば、それを使うのもアリだろうな、とも思うのですけど。小さい小さいウインドウに顔を近づけて凝視しながらプレイ、なんて事態だけは避けたいなと。

DXRuby は ogg のループ再生ができない。 :

DXRuby + Vox.rb (Vox.dll) で、ループ再生が前提の ogg を鳴らしてみたら、ループする際に音が途切れてしまった。困った。これが PyGame なら、同じ ogg を鳴らしても、ちゃんとループして聞こえるのだけど。

もしかすると、DXRuby + bass.rb を使えばループ再生できるのかもしれない。が、Bass は状況によってライセンス料を支払わないといかんらしいので、怖くて試してなかったり。

マズい。このままでは、DXRuby はゲームのBGMすらろくに鳴らせない、ということになる。困った。

まあ、回避策はありそうだけど。
  • 大昔(20年ぐらい前?)の、PCエンジンのCD-ROMゲームのように、3〜5分ぐらいの長さで、ループ時は音が途切れること前提で曲データを作る。でも、毎回ループ時に音楽が一旦終わるのって、今では興醒めな感も。
  • 頑張ってMIDIデータを作る。でも、以前試したら、MIDIが鳴らなかった記憶もあるので、どうも環境によっては結構ハマりそうな予感。それに、鳴るとしても、えてして MSGS だろうから、とても悲しいことになりそう。それでなくても昨今の Windows は、MIDI関連に冷たいし…。

などと困っていたのだけど。 _開発者様のblog で、DXRuby + Ayame.dll を使う方法が紹介されていた。試したところ、ループ再生時に音が途切れていない。素晴らしい。ありがたや。

この、Ayame.dll、Ayame.so についても、 _DXRuby プロジェクトWiki - ファイル置き場 あたりに置いといてもらうわけにはいかんのだろうか…。

余談。 :

プレステ1の頃は、イントロ+ループ部分で構成された波形データを鳴らしてたような記憶があるなあ…。CD-ROMから波形データをチビチビ読んで処理してるので、毎フレーム、このサウンド関連処理をする関数を呼び出してね、とか言われたような…。自分はサウンドプログラマじゃなかったから、どうやって実現していたのか中身は全然分からないのだけど。「凄いことしてるなあ」と感動したっけ。道理で、青いプレステをトイレットペーパーの上に乗せて扇風機で風を当てながらデバッグしてたわけで…。サウンドさんの部屋は音楽機材が多いせいか発熱が凄くて大変。1〜2回お邪魔したけど入った瞬間モワーッとして「うわあ」って感じで。そこでさらにチップもドライブも酷使するんだから、そりゃ冷却で苦労するよなと…。

今になって考えると、どうやってそんな波形データを作っていたのか、その手順も気になる…。イントロ部分で鳴った音の余韻が、ループ部分の頭に混入しそうだし。ループ部分の終わりで鳴った音の余韻も、ループ部分の頭に混ぜておかないといかんような気もするし。

波形編集ソフトを使って、手作業で調整してたのだろうか。それとも、曲の作り方を工夫して、あらかじめ余韻が入らないようにしていたのだろうか。そのあたり自動化するツールを作ってあったのかなあ…。

以上です。

過去ログ表示

Prev - 2013/04 - Next
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

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project