土日に作業して作業記録として残すつもりでしたが,いつの間にか月曜の朝になっていました.日曜日に買い物から帰ってきた後,久々にトマトスープを作ったものの量が多すぎ,残しても保存できないので無理やり胃に収め,満腹感のもとに横になった……というところまでは記憶にあるのですが.まあ,いわゆる寝落ちです.
さて,ここ最近は主にサウンドまわりの実装を行なっていました.サウンドまわり,実に厄介です.実装自体は特に複雑な事は行なっておらず,普通にOpenALで再生しているだけなのですが,iOS(+tvOS)とmacOSのそれぞれに問題が生じています.
iOSとtvOSですが,謎のノイズに悩まされています.端末によって発生したりしなかったりで,手元の環境では第4〜6世代のiPod touchとAppleTVでは発生を確認しており,逆に確認できていない端末はiPad AirとiPhone 7 Plusの2機種.特に頻発するのがAppleTVです.
一方,macOSのほうは酷いもので,SEを再生する度にいちいちフェードインするような,ちょうどAttackを遅めに設定したような鳴り方になっています.当たり前ですが,そのように作ったつもりはありません.勝手にそうなったのです.
ちなみに,上記の環境全てにおいて,再生する音声データとソースコードは同一です.OpenALのパラメータに何か違いがあるのかと思い比較してみたのですが,差異は発見できませんでした.同じデータ,同じプログラム,同じパラメータでここまで差異が生じているのですから困ったものです.
ノイズのほうは出力サンプリングレートとバッファサイズを弄ったら多少改善しましたが,macOSの謎フェードインは修正の目処が立っていません.というか,Apple提供のサンプルコードでも同じ現象が発生しており,もはやお手上げ状態です.残された手段といえば,OpenALを使用していて正常に鳴っている,ライセンス的に問題のないオープンソースのソースコードを覗いてみるくらいでしょうか.
とりあえず,サウンドまわりの完全な実装には時間がかかりそうです.
上記の不具合はあれど,機能的には必要なものが実装済みです.つまり,プリロードされたSEを鳴らすことができて,同時にBGMをストリーム再生することが可能になっています.
……が,しかし,鳴らす素材はどうするのかという問題が残っています.
「反撃BLOCKS」のサウンドは私のスキル不足が如実に表に出てしまった感があり,正直なところ,あれを二度も表に出したくはありません.かといって,当時(1年半ほど前)よりも上達しているのかというと,残念ながらそんな事はありません.数をこなさなければ成長しないという事は重々承知しているのですが,いかんせん苦手意識が先行してしまうのですよね.
一人でゲームを作ろうとすると様々な困難に直面しますが,私の場合,その半分くらいはサウンド関連な気がします.
手元の作り直し作業のTODOリストを眺めると,残りの未移植な部分はメニュー全般とリプレイ,プレイヤーデータ関連のようです.リプレイとプレイヤーデータ関連は別件の問題と絡んでくるため後回しにするとして,メニュー全般(主にオプション関連)は今週中を目標に(できれば週末までに)実装する事にします.多分この辺は移植よりも新規に実装したほうが早そうですね.
Comments are closed.