メむンコンテンツぞスキップ
芋出し画像

効果音を入れる回のはずが、䌚心の䞀撃が7割も出おいるこずに気づいおしたいたした

    かずゆき

    実況䞭継 No.6

    かずゆきです。

    前回の蚘事です。

    前回たでで、モンスタヌが5皮類になっお、䜓もひずずおり描き盎したした。ここたで音が1぀も鳎っおいたせん。今回は音ず振動の回です。

    • 音のファむルを持たず、波圢をコヌドで組んで鳎らしたす

    • 振動通垞呜䞭・䌚心・被匟ず、音ず振動を切る蚭定画面を入れたした

    • 実機で鳎らしおみたら、䌚心の䞀撃が7割出おいたした

    進め方は前回ず同じです。ただ音たわりは私に土地勘がないので、案を出しおもらっお、そこから遞ぶ圢が倚くなりたした。実機に入れお聞いお、コメントを返しお、どうするか決める。私がやったのはそこです。


    フェヌズ7を4぀に割りたした

    フェヌズ7A は「どの堎面で䜕を鳎らすか」を決めるずころ、フェヌズ7B が音そのものを䜜っお鳎らすずころ、フェヌズ7C が振動ず蚭定画面、フェヌズ7D が実機で聞いお仕䞊げるずころ、ずいう順です。

    音そのものはテストできたせん。鳎っおいるかどうかを機械で刀定する仕組みが、うちにはありたせん。なのでフェヌズ7A では、テストで守れる刀断だけを切り出しお、テストできる偎ぞ寄せたした。「どの音を・どれだけ遅らせお・どれを優先しお鳎らすか」を決めるずころたでです。

    フェヌズ7A が終わった時点でテストは518件通りたすが、音は1぀も鳎りたせん。


    音のファむルを持たないこずにしたした

    このゲヌムは画像を1枚も䜿っおいたせん。モンスタヌも背景も、コヌドで図圢を描いおいたす。音も同じにしたせんか、ずいう案が出おきたした。䞊べおもらった理由がこちらです。

    • ラむセンスの台垳が芁らない

    • ファむルサむズがれロ

    • 審査で玠材の出どころを問われる心配がない

    私に反察する理由がないので、それで進めおもらいたした。

    そのかわり「安っぜくないか」は鳎らすたで分かりたせん。合成のたたでいくか、やめお音源を買うか。ここは私が実機で聞いお決めるこずにしお、フェヌズ7D たで保留にしたした。蚈画にも、そのずおりの持ち越しリスクずしお曞いおありたす。

    BGM はこのフェヌズでは入れたせん。3曲を合成で䜜るのは無理がありたす。蚭定のトグルだけ先に䜜っおおく案も出たしたが、Codex のレビュヌで撀回されたした。あずで差し蟌むだけにはならないので、口だけ䜜っおも意味がありたせん。


    同じ音を8぀重ねるず割れたす

    フェヌズ7B で波圢を組み始めお、最初に螏んだのがこれです。

    同じ効果音は同じ波圢を鳎らしたす。同じフレヌムに8぀始たるず、8぀ずも完党に同じ䜍盞で重なりたす。通垞呜䞭の音量が 0.18 なので、0.18 × 8 = 1.44。これだけで音が割れたす。

    二段構えにしたした。

    • 音ごずの同時䞊限光2・通垞呜䞭3・䌚心2・その他1

    • 出力党䜓を 0.43 に萜ずす

    優先床も2段階から3段階に増えたした。同じ段どうしは枠を奪い合わないので、2段階のたただず䌚心が枠を埋めた状態でゲヌムオヌバヌの音が萜ちたす。いちばん倧事な音がいちばん萜ちやすい圢になっおいたした。ここは鳎らす前に、Codex の蚈画レビュヌで盎っおいたす。


    フェヌズ7C で぀たずいたのは、音でも振動でもないずころでした

    実機で遊んで「ゲヌムオヌバヌの音が無いのでは」ず蚀いたした。調べおもらったら音は正垞で、開発甚の詊聎画面にある「䞭断」ボタンを私が抌したたた攟眮しおいただけでした。以降に鳎らした音は党郚捚おられおいお、その状態が画面のどこにも出おいたせん。䞭断䞭は赀字を出し、音を予玄したずきにログも残すようにしたした。「鳎っおいない」ず「鳎っおいるが埋もれおいる」は、聞いただけでは切り分けられないので。

    同じフェヌズ7C で、蚭定画面の芋出しが画面の䞊端で切れおいたした。項目が6぀に増えお、SE3 の暪画面に収たらなくなったためです。収たりを怜査するテストはあったのに通っおいお、芋出しの䜍眮を匏ごず間違えお芋積もっおいたした。テストを曞いたこずず、そのテストが正しいものを芋おいるこずは別でした。


    実機で鳎らしおみたら、䌚心が7割でした

    フェヌズ7D です。iPhone 16 Pro に入れお鳎らしたした。この回は実装がほずんどなくお、私が遊んで確かめおいる時間が倧半でした。

    フェヌズ7B から保留にしおいた「合成のたたか、音源を買うか」を、ここで決めたした。合成のたたでいきたす。安っぜくないし、連打の䞭でも䌚心ず通垞呜䞭が聞き分けられたす。他のアプリの音楜も止めたせん。持ち越しおいた最倧のリスクは、これで消えたした。

    そのかわり、別のものが芋えたした。

    音を付けたら、䌚心の音ばかり鳎りたす。「これ、䌚心が倚すぎたせんか」ず蚀っお数えおもらったら、呜䞭の70%が䌚心でした。

    䌚心は「特別な䞀撃」ずしお蚭蚈しおいたす。蚭蚈曞には「文字で説明しない」ず曞いおあっお、぀たり音ず挔出が説明圹です。7割が䌚心なら、説明すべき特別さがありたせん。

    どこたで䞋げるかは、候補ず、それぞれ䌚心率がどうなる芋蟌みかを出しおもらっお、私が 0.37 を遞びたした。遊び盎しお枬った結果がこれです。

    • 䌚心率は 70% から 46% ぞ

    • 呜䞭率は 84% から 85% で、䞋がっおいない

    • 䌚心が 155 から 186、通垞呜䞭が 66 から 217

    倧事なのは呜䞭率のほうです。䌚心が枛ったぶんは空振りではなく通垞呜䞭に倉わりたした。狙っお圓たらなくなったのではなくお、刀定が広すぎお勝手に䌚心になっおいたぶんが正垞化しただけでした。実機の感觊も同じで、難しくなった気はしたせん。

    ただ、この70%ずいう数字を、最初は音のログから数えお「71%」ず報告しおきおいたした。䞊に曞いたずおり、音には音ごずの同時䞊限がありたす。䌚心2件・通垞呜䞭3件で間匕かれたす。倚く鳎る音ほど倚く捚おられるので、ログから数えた比率は歪みたす。自分で入れた䞊限で、自分の枬定を壊しおいたこずになりたす。間匕かれる前のむベントを数える蚈噚を䜜り盎しおもらいたした。正しく枬っおも70%で、結論は倉わっおいたせん。倉わらなかったのはたたたたです。

    Codex のレビュヌでは、この件でさらに2぀指摘が出たした。

    1぀は、この比范が各1回ず぀で、プレむの長さも到達 Wave も違うこずです攟った光が262察472、Wave 12察14。呜䞭率の +1pt は誀差に埋もれたす。正確には「1回枬ったかぎりでは萜ちおおらず、䜓感も悪くなかった」たでしか蚀えたせん。䌚心率の24pt差はこの枬定でも十分に明瞭なので、結論そのものは倉わりたせんが。

    もう1぀は、䞋げられる限界が 0.3612 だったこずです。チャヌゞャヌが溜めおいるあいだ、目が巊右に振れお 0.3112 たで届きたす。蚭蚈曞に「目の倖端は刀定の内偎、䜙裕0.05」ず曞いた以䞊、そこが䞋限になりたす。最初に出おきた候補は 0.34 ず 0.30 で、䞡方これを割っおいたした。指摘されるたで、こちら偎では誰も気づいおいたせん。段階を螏んで 0.38 → 0.37 ず2回に分ける蚈画も、動かせる幅が 0.42 から 0.3612 しかないず分かった時点でやめお、いきなり 0.37 にしたした。

    ぀いでに、フレヌムの萜ち蟌みを枬る蚈噚も入りたした。画面に数字を出しお目で読む圢にするず、芋おいる間だけ・芋た人の蚘憶だけが頌りになっお、前埌の比范ができたせん。ゲヌムオヌバヌのたびにログぞ残りたす。

    この回で私が出した情報は「䌚心の音ばかり鳎る」「音は安っぜくない」「振動は問題ない」くらいのものです。数字は党郚あちらが出したした。逆に、その数字の枬り方が間違っおいたのも、䞋限を割った候補を出しおきたのも、あちら偎です。

    前回のタンクのずきは、原因の芋圓たでこちらから蚀えたした。音は勝手が違いたす。䞭で䜕が起きおいるのか芋圓も぀かないので、案ず数字を出しおもらっお、そこから遞ぶ圢になりたした。それでも遞ぶのは私です。


    音の配管から AVFoundation を远い出したした

    フェヌズ7 の最埌です。

    フェヌズ7B ずフェヌズ7C の実装レビュヌで、実行時のバグが12件芋぀かりたした。数えおみたら、12件ずも「鳎らしおよいか・どの枠で鳎らすか・い぀やり盎すか」ずいう刀断の偎でした。音を出す API の呌び方を間違えおいた、ずいう類は1件もありたせん。

    なのにその刀断は、音を出す仕組みず混ざったずころに眮いおあっお、テストが届いおいたせんでした。実機で觊るたで分かりたせん。いちばん怖かったのは、音の蚭定に䞀床倱敗するずその埌の再生が手前で止たり、二床ずやり盎さずに氞久に無音になる経路です。

    これは Codex がフェヌズ7B の時点から掚しおいた話でした。「アプリ偎にもテストのタヌゲットを䜜れ」ずいう指摘で、そのずきは芋送っおいたす。フェヌズ7C でたた8件出おタヌゲットだけ䜜り、フェヌズ7D でようやく配管たで手を入れたした。刀断だけを倖ぞ出しお、アプリ偎のテストは29件から60件になりたした。3回蚀われお動いた、ずも蚀えたす。

    フェヌズ7 では、わざず間違った実装を入れおテストが萜ちるかを確かめる䜜業も、毎回やっおいたす。フェヌズ7A で9件、フェヌズ7B で16件、フェヌズ7C で24件、フェヌズ7D で12件、䌚心の刀定を䞋げたずきに4件。合わせお65件で、最終的には党郚が狙ったテストを萜ずしたした。

    䞀発で萜ちたわけではありたせん。4件は「怜出できたせんでした」ず報告が䞊がっおきおいお、どれもテスト偎の曞き方が甘いのが原因でした。600Hz で曞いたせいで䜍盞を戻しおも同じ倀に着地するテスト、120フレヌム回すだけで呜䞭も被匟も起きないテスト、ずいった具合です。コヌドを読たないず決めおいる以䞊、䞭が壊れおいないこずは、テストが萜ちるずころを芋せおもらうしかありたせん。今回はそれがちゃんず働きたした。


    次は

    本圓はフェヌズ8アプリ内課金ですが、その前に片付けるものが1぀できたした。フェヌズ7D の実機確認のずき、音ずは関係のないこずが気になっお蚀いたした。

    画面の䞭倮に、垞にずもっおいる火がありたせん。

    蚭蚈曞では、この䞖界は真っ暗で、唯䞀の頌りは小さな灯りだけです。この䞖界の子たちはその光が気になっお集たっおきたす。灯りは、みんなが寄っおくる理由そのものです。

    今の画面にあるのは、光を攟぀瞬間だけ光る手のひらず、譊戒範囲を瀺す砎線の円ず、被匟したずきの火の粉の跡だけでした。蚭蚈曞に最初から曞いおあっお、7フェヌズぶん誰も気づかずに来おいたす。䞖界芳の根っこなので、課金より先に眮きたす。

    ぀づきたす。


    #たよいびの子 #個人開発 #ゲヌム開発 #iOSアプリ開発 #Swift #SpriteKit #Xcode #ClaudeCode #Claude #Codex #生成AI #AIコヌディング #開発日蚘 #制䜜日蚘 #プログラミング #゚ンゞニア #ものづくり #アプリ開発 #スマホゲヌム #むンディヌゲヌム #効果音 #サりンドデザむン #波圢 #音声合成 #正匊波 #AVFoundation #AVAudioEngine #PCM #同時発音数 #䜍盞 #音割れ #ハプティクス #觊芚フィヌドバック #振動 #蚭定画面 #UIレむアりト #iPhoneSE #䌚心 #呜䞭率 #蚈枬 #ログ #テストタヌゲット #ミュヌテヌションテスト #SwiftTesting #コヌドレビュヌ #AIレビュヌ #実機テスト #リファクタリング #責務分離 #バランス調敎 #iPhone #iOS #AppStore #ゲヌムアプリ #自䜜ゲヌム #ひずり開発 #個人開発者 #週末開発 #副業 #ChatGPT #GPT5 #LLM #AI掻甚 #AI゚ヌゞェント #AIずの共同䜜業 #ペアプログラミング #プロンプト #開発効率化 #倱敗談 #振り返り #孊び #気づき #継続は力なり #毎日note #note初心者 #創䜜 #芪子 #子育お #䞭孊生 #プログラミング教育 #ゞブンコヌド

     
     
     
    システム開発20幎超。50代。開発でAIを日垞的に掻甚。詊行錯誀の結果、コヌディングはほがAIに任せおたす。次はAI゚ヌゞェントを実務で回すこずに挑戊したす。たた、䞭小䌁業の珟堎で、どこたで実務に萜ずせるかを詊しおいたす。うたくいった話も、詰たった話も曞きたす。

    あなたぞのおすすめ