2014/12/25(木) [n年前の日記]
#1 [dxruby] DXRuby+Ayameってループ再生位置の指定が本当にできないのだろうか
_DirectSoundサウンドドライバAyameを使ってみる
で入手できる Ayame.ZIP をDLして中身を眺めていたのだけど。
SDK\Source\Ayame.cpp の 1466行目あたりで、
ソースの日付は 2014/08/29。DXRuby で使えるようにしたときのソースが古くて、当時はそこらへんが実装されてなかった、ということなのかしら。今なら使える? のかな? でもないのかな? どうなんだろう。
SDK\Source\Ayame.cpp の 1466行目あたりで、
// データの終端 if ( m_FileReader->DecLoopCount() == true ) { // ループ m_FileReader->Seek(m_FileReader->GetLoopIn()); }と書かれていて。データの終端が来て、かつ、まだループが必要な時は、ループ開始位置(サンプルポイント値で指定)にシークしてループを実現してる、ように思えるのでありますが。
ソースの日付は 2014/08/29。DXRuby で使えるようにしたときのソースが古くて、当時はそこらへんが実装されてなかった、ということなのかしら。今なら使える? のかな? でもないのかな? どうなんだろう。
[ ツッコむ ]
#2 [dxruby] 「MOD」で伝わるのだろうか
_DXRuby Advent Calendar 2014 ゲーム・プログラミングとサウンドについて
という記事の中で、「MOD」という単語が出てきて、なんとなく。
最近はゲームの改造データのことを「MOD」と呼んだりもしているので、「MOD」という単語が出てきたらそっちを連想されそうだよなー、ていうか大体はそっちを思い浮かべるよなー、と思えてきたり。
一応説明しとくと、音楽ファイルフォーマットの「MOD」てのもありまして。
_MOD (ファイルフォーマット) - Wikipedia
_ModPlug Tracker - Wikipedia
_BEMOD: MODとは?
要するに、 _サンプラー なのですが。
最近はゲームの改造データのことを「MOD」と呼んだりもしているので、「MOD」という単語が出てきたらそっちを連想されそうだよなー、ていうか大体はそっちを思い浮かべるよなー、と思えてきたり。
一応説明しとくと、音楽ファイルフォーマットの「MOD」てのもありまして。
_MOD (ファイルフォーマット) - Wikipedia
_ModPlug Tracker - Wikipedia
_BEMOD: MODとは?
要するに、 _サンプラー なのですが。
◎ 再生できるライブラリは無いのかな。 :
MODを鳴らすためのライブラリとか無いのかなとググってたら、
_吉里吉里でMOD再生するプラグイン
があると知り。そんなところでも対応してたのか…。ただし、
_吉里吉里1時代のプラグインだから今は使えないよ
という話で。
使われているらしい MOD Plug Player SDK とやらを探してみたけど遭遇せず。しかし、 _libopenmpt and openmpt123 てのがあると知り。 _Libopenmpt - OpenMPT Wiki に使用事例が。 _deskjet/chiptune2.js ( _http://deskjet.github.io/chiptune2.js/ )では JavaScript に移植した事例すら。
等々ググってるうちに、bass.dll なら MOD も鳴らせると今頃知りました。やはり有償ドライバは凄いなと…。
_とりあえずbass.dllラッパはじめの一歩 - mirichiの日記
_Ruby/SDL もMODを鳴らせるらしい。凄いな…。
使われているらしい MOD Plug Player SDK とやらを探してみたけど遭遇せず。しかし、 _libopenmpt and openmpt123 てのがあると知り。 _Libopenmpt - OpenMPT Wiki に使用事例が。 _deskjet/chiptune2.js ( _http://deskjet.github.io/chiptune2.js/ )では JavaScript に移植した事例すら。
等々ググってるうちに、bass.dll なら MOD も鳴らせると今頃知りました。やはり有償ドライバは凄いなと…。
_とりあえずbass.dllラッパはじめの一歩 - mirichiの日記
_Ruby/SDL もMODを鳴らせるらしい。凄いな…。
[ ツッコむ ]
#3 [ruby] Ruby 2.0 と Ruby 2.1 で gem install が使えず
Ruby 2.0、2.1 で、gem list --remote をしても、何も出てこない。Ruby 1.9.3 でやるとちゃんとリストアップされるのだけど。環境は Windows7 x64。
証明書がアレだったらしい。
_Ruby - bundle install がこけるようになった(改訂版) - Qiita
_Workaround RubyGems' SSL errors on Ruby for Windows (RubyInstaller)
_Windowsでgem installするとSSLエラーが出る場合の解決策 - Qiita
上記の記事の通りに作業してみたり。
_AddTrustExternalCARoot-2048.pem をDL。
gem which rubygems で場所を確認。
start 場所のパス、でエクスプローラ起動。
AddTrustExternalCARoot-2048.pem を中にコピー。
gem list --remote で一覧が出てくるようになりました。ありがたや。
それにしても…。
証明書がアレだったらしい。
_Ruby - bundle install がこけるようになった(改訂版) - Qiita
_Workaround RubyGems' SSL errors on Ruby for Windows (RubyInstaller)
_Windowsでgem installするとSSLエラーが出る場合の解決策 - Qiita
上記の記事の通りに作業してみたり。
_AddTrustExternalCARoot-2048.pem をDL。
gem which rubygems で場所を確認。
start 場所のパス、でエクスプローラ起動。
AddTrustExternalCARoot-2048.pem を中にコピー。
gem list --remote で一覧が出てくるようになりました。ありがたや。
それにしても…。
> ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE' "C:/Users/Luis/Code/luislavena/knap-build/var/knapsack/software/x86-windows/openssl/1.0.0l/ssl/cert.pem"自分も、「Luisさんって…誰?」と思いました。
◎ 環境変数を指定する解決方法もあるらしい。 :
SSL_CERT_FILE という環境変数を作って、そこに証明書とやらを指定することでも解決したりするのかもしれない。
_WindowsにRuby2.0とRuby on Rails4.0を入れてみたメモ - catch.jp-wiki
_Windows で Ruby のSSL証明書を更新する - igaiga diary(2013-06-17)
_WindowsにRuby2.0とRuby on Rails4.0を入れてみたメモ - catch.jp-wiki
_Windows で Ruby のSSL証明書を更新する - igaiga diary(2013-06-17)
[ ツッコむ ]
#4 [dxruby][game] 2DゲームとBGMとイントロとループ
自分の中では、「2DゲームのBGMってのはイントロ部分とループ部分があるもんだ」「絶えずBGMが流れてるもんだ」てな思い込みがあるのだけど。「本当にそうか?」と思えてきたので、既存タイトルをリストアップしながら考え直してみようかなと。
なので、「イントロとループ部分がないとおかしい」とは言い切れないし、「常時BGMを流さないといけない」ということもないのだよなと思い至ったり。
たぶん、ゲームの世界は最初の頃、ハードウェアのスペックが色々と低くて、アレもやれない、コレもやれない、てな悲しい状態にあったので、技術的にようやくやれるようになったから、ここはやろうぜ流そうぜ、やらなきゃもったいないじゃん、みたいなノリでやってるうちに、そういうスタイルがフツーなのだとうっかり思い込んでしまった、ような気もする。
昔、Photoshop を触り始めると誰もが逆光フィルタを使いたがる時期があったけど。今まで容易にできなかったことがやれるようになると、ついついそればかり使いたくなってしまうもんで。ゲームのBGMも、そういうところがあったのかもしれないよなと。
◎ インベーダーゲーム。 :
インベーダーゲームはどうだったろう。イントロは無いけど、ループ部分はあった。「デッデッデッデッ」がソレかなと。ただ、ループ部分は、敵のインベーダーの動きとシンクロしてた。
「デッ…デッ…デッ…デッ…」
「デッデッデッデッ」
「デデデデデデデデ」
「デーーーーーー」
ゲームの進行に合わせてBGMのテンポを変えるあたりが「インタラクティブ」(死語)。「ゲームならでは」が、そこにあった気も。
「デッ…デッ…デッ…デッ…」
「デッデッデッデッ」
「デデデデデデデデ」
「デーーーーーー」
ゲームの進行に合わせてBGMのテンポを変えるあたりが「インタラクティブ」(死語)。「ゲームならでは」が、そこにあった気も。
◎ ギャラクシアン。 :
ギャラクシアンは、イントロはあるけど、ループ部分は無かったような? プレイ中は基本的にSEしか鳴ってなかったような? 違ったっけ?
◎ ゼビウス。 :
ゼビウスは、イントロとループ部分があった。ただし、イントロはループ部分と完全に分離してた。イントロが流れてから一瞬無音になって、ループ部分が始まる。だったかな? 違ったっけ?
アレはイントロと呼ぶのだろうか? ジングル、と呼んだほうが合ってるのかな。
アレはイントロと呼ぶのだろうか? ジングル、と呼んだほうが合ってるのかな。
◎ グラディウス。 :
グラディウスは、イントロから連続したループ部分がある。自分が思い浮かべる2DゲームのBGMと言えば、このあたり。
◎ PCE版イース、PCE版ドラキュラX。 :
PCエンジンからはCD-ROMが使えるようになって、それまでの矩形波主体のBGMの音色から一気に様変わり。音楽CDを作る感覚でBGMも作れるように。
ただ、CDドライブという「メカ」に曲の演奏を任せるので、瞬時に特定の場所に戻って再生することができなくて。CDドライブの読み取りヘッドが「クククッ」と動いて戻る時間が必要なので、イントロ → ループ部分 → 曲の終わり → (読み取りヘッドが移動) → またイントロから再生、という感じで。
それでも、今までのショボイ(?)音色とは全然違う、どう聞いてもちゃんとした音楽が聞こえてきたので、誰もが喜んでた印象。
ただ、CDドライブという「メカ」に曲の演奏を任せるので、瞬時に特定の場所に戻って再生することができなくて。CDドライブの読み取りヘッドが「クククッ」と動いて戻る時間が必要なので、イントロ → ループ部分 → 曲の終わり → (読み取りヘッドが移動) → またイントロから再生、という感じで。
それでも、今までのショボイ(?)音色とは全然違う、どう聞いてもちゃんとした音楽が聞こえてきたので、誰もが喜んでた印象。
◎ PS1版ドラキュラX。 :
プレステ1もCD-ROM搭載ゲーム機だったので、最初の頃は、あるいは技術力の無いメーカは、PCEと同じような曲の流し方をしてたのだけど。
途中で、CD-ROMに収めた圧縮波形データをストリーミング再生する実装が出てきて。CD-ROMから先読みした波形データを再生している間に、CDドライブの読み取りヘッドをループ開始位置まで動かせるので、音が途切れない再生ができるように ―― 昔のゲームタイトルですらフツーにやれてたことが、CD-ROM搭載のゲーム機でも、どうにかやれるようになった。その代わりCD-ROMドライブを酷使するので、ヘタってるドライブでプレイすると、若干のトラブルが。
何にせよ、この時点で、ちゃんとした音楽でありながら、イントロから連続したループ部分もある、そんなBGMの構成ができるようになった。
途中で、CD-ROMに収めた圧縮波形データをストリーミング再生する実装が出てきて。CD-ROMから先読みした波形データを再生している間に、CDドライブの読み取りヘッドをループ開始位置まで動かせるので、音が途切れない再生ができるように ―― 昔のゲームタイトルですらフツーにやれてたことが、CD-ROM搭載のゲーム機でも、どうにかやれるようになった。その代わりCD-ROMドライブを酷使するので、ヘタってるドライブでプレイすると、若干のトラブルが。
何にせよ、この時点で、ちゃんとした音楽でありながら、イントロから連続したループ部分もある、そんなBGMの構成ができるようになった。
◎ てなわけで。 :
- 昔の2Dゲームを思い返せば、イントロが無いBGMもあったし、イントロは流れるけどループ部分が無くてSEしか鳴らない、そんなスタイルもあったわけで。
- しかも、最近の外国のゲームは、常時BGMを流すというスタイルから脱却して、イベント時だけ曲を流して盛り上げる、みたいなスタイルになってたりもするそうだし。
- そもそも、アニメや映画は、常時BGMを流してるわけでもないし。常にBGMを流し続けていたゲームの世界が、他のメディアと比べると異質。
なので、「イントロとループ部分がないとおかしい」とは言い切れないし、「常時BGMを流さないといけない」ということもないのだよなと思い至ったり。
たぶん、ゲームの世界は最初の頃、ハードウェアのスペックが色々と低くて、アレもやれない、コレもやれない、てな悲しい状態にあったので、技術的にようやくやれるようになったから、ここはやろうぜ流そうぜ、やらなきゃもったいないじゃん、みたいなノリでやってるうちに、そういうスタイルがフツーなのだとうっかり思い込んでしまった、ような気もする。
昔、Photoshop を触り始めると誰もが逆光フィルタを使いたがる時期があったけど。今まで容易にできなかったことがやれるようになると、ついついそればかり使いたくなってしまうもんで。ゲームのBGMも、そういうところがあったのかもしれないよなと。
[ ツッコむ ]
以上、1 日分です。