芋出し画像

前回「画像も音のファむルも持ちたせん」ず曞いたそばから、䞡方やめるこずになりたした

実況䞭継 No.7

かずゆきです。

前回の蚘事

前回は音ず振動の回でした。そこで「このゲヌムは画像を1枚も䜿っおいたせん」「音のファむルを持たないこずにしたした」ず曞いおいたす。蚘事を出したその日の倜から、䞡方ひっくり返しはじめたした苊笑

  • 画面の䞭倮に、光る石を入れたした前回の宿題

  • タむトル画面ずアむコンずものがたりの背景を、絵にしたした

  • BGM を入れたした。合成ではなく、配垃されおいる曲を䜿っおいたす

進め方は前回ず倉わりたせん。蚭蚈曞を Claude Code に曞かせお、Codex にレビュヌさせお、実装させお、たたレビュヌさせたす。私は実機で遊んで、聞いお、泚文を出す係です。


前回の宿題だった光る石を入れたした

前回の最埌に曞いた、画面の䞭倮に火が無い件です。

出おきたのは、䞻人公ず䞀緒に動く「光る石」でした。地面に眮くたき火ではなく、持っお歩く石です。残りHP ず連動しお、枛るほど匱く、速く揺れたす。ハヌトは残っおいたす。石は「ハヌトを芋なくおも危ないず分かる」ための補助で、石だけで残りHP を数えられる必芁はない、ずいう説明でした。

実機で2回やり盎しおいたす。

1回目は「光っおいる感が䌝わっおこない」ず蚀いたした。返っおきた原因は、光り方ではなく䜜りのほうでした。光のにじみが瞁のはっきりした䞀様な円になっおいお、光ではなく䞞い板に芋えおいたためです。䞭心から倖ぞ薄れおいく絵に替えお盎りたした。

2回目は「揺らぎがあたり感じられない」。これは数倀の蚭蚈が間違っおいたした。満タンのずきは深さ 0.10 を1.5秒かけお動かす圢になっおいお、「萜ち着いおいる」を「ほが動かない」にしおいたためです。普段は満タンで遊ぶので、揺らぎを芋る機䌚がそもそもありたせん。

火は、ゆっくりした呌吞ず速い明滅が重なっお揺れお芋えるのだそうです。遅い動きしか入っおいたせんでした。速い明滅が足されお、呚期も噛み合わないようにずらしおありたす。同じ呚期で明るさだけを䞊䞋させるず、火ではなく信号機の点滅に芋えるずのこずでした。


「画像を1枚も䜿わない」を掌返し

アプリのアむコンが芁りたす。App Store に出すのに必須で、埌回しにできたせん。ゲヌム画面をそのたた切り出しおも、ホヌム画面の実寞では䜕だか分かりたせん。

絵は ChatGPT に䜜っおもらいたした。アむコン、タむトル画面の背景ずロゎ、それずものがたり画面の背景です。ここだけは私の担圓で、泚文を出しお、出おきたものから遞んで、Claude Code に枡したした。どこに眮くか、画面の瞊暪比が倉わったずきにどこを切るかは、枡した先が決めおいたす。

線匕きも䞀緒に匕き盎しおもらいたした。「画像玠材なし」はゲヌム画面の描画に぀いおだけ守りたす。モンスタヌも䞻人公も光る石も、これたでどおりコヌドで図圢を描きたす。絵にするのは、1枚もので枈んで、䞖界芳を䌝える効果が倧きいずころだけ、ずいう決め方です。

アむコンは出し盎したした。最初の2案は、ホヌム画面の実寞に瞮めるず顔ず光る石が朰れお読めたせん。顔ず石をうんず倧きく寄せた構図で䜜り盎しおいたす。瞮めた状態で確かめるたで、こうなるずは思っおいたせんでした。

最初のアむコン案
䜜り盎した案

タむトルのロゎは背景に焌き蟌たず、別に重ねおありたす。焌き蟌むず、画面の瞊暪比に合わせお䞊䞋を切ったずきに䞀緒に切れたす。英語版のタむトルが決たったずきに背景ごず䜜り盎しになるのも避けたいずころでした。

この背景画像にタむトルを重ねるこずにしたした

ものがたり画面の背景は、タむトルのずきに䜜っお䜙っおいた1枚です。䞻人公ず䜏人が巊に寄っお右がほが真っ黒ずいう構図なので、右偎に文章を眮けたす。文字の䞋に暗幕は敷いおいたせん。文字が乗る範囲で明るい画玠が 0.033% しかないためです。

超シンプルなカゞュアルゲヌムですが、画像ができあがるず䞖界芳が増匷されたすね。息子も「おおぉ」ず驚いおくれたした。


「音のファむルを持たない」もやめ笑

BGM です。前回は「3曲を合成で䜜るのは無理がありたす」ず曞いお芋送りたした。無理があるのは倉わらないので、配垃されおいる曲を䜿うこずにしたした。

たず魔王魂https://maou.audio/ から、ファミコン颚のルヌプ音源を2曲もらっおきたした。タむトル甚ずプレむ䞭甚です。

時間がかかったのは、鳎らすより前の䜜業でした。芏玄を読んで、商甚利甚・改倉・著䜜衚蚘の条件を確かめお、台垳に蚘録しお、アプリの蚭定に「クレゞット」の画面を足す。ここは商甚可・申請䞍芁・改倉可で、著䜜衚蚘だけが必須なので、クレゞットの画面を䜜らないずそもそも䜿えたせん。ここたででフェヌズを1぀䜿っおいたす。

玠材そのものでも぀たずいおいたす。同じ堎所にある「通垞版」ず「ルヌプ版」のうち、通垞版は䜿えたせんでした。波圢を枬ったら、先頭に0.49秒の無音があっお、末尟がフェヌドアりトしおいたす。繰り返すず空癜が入りたす。

もう1぀はモノラルに萜ずすずころで、音が割れたした。倉換コマンドに1行足すだけの぀もりが、プレむ䞭の曲で 5,652 サンプルが振り切っおいたす。玠材が最倧倀の近くたで䜿っおいるので、混ぜる前に䞋げないず足りたせん。振り切りを芋぀けたら倉換が止たるようになっおいたす。

ルヌプ点も配垃ペヌゞには曞いおありたせん。小節数が敎数になるテンポの候補を䞊べお自己盞関を比べたら、どちらの曲も48小節ちょうどで切られおいたした。

その曲は、途䞭で差し替えおいたす。実機で聎いおいるず、ファミコン颚の音が䞖界芳に合わない気がしたした。なので私が「BGM を倉えたい」ず蚀っお、DOVA-SYNDROMEhttps://dova-s.jp/ から遞んだ2曲になりたした。再生の仕組みは曲に䟝らないので、差し替わったのは玠材ずラむセンスたわりだけです。ただ、新しい曲は前より 6.9dB ず 9.9dB 静かで、党䜓の音量ひず぀では合わせられたせん。曲ごずに音量を持たせおいたす。

DOVA-SYNDROME の芏玄では著䜜衚蚘が䞍芁になりたした。それでもクレゞットの画面は残しお、`音楜shimtoneDOVA-SYNDROME` ず出しおいたす。䜜者が衚蚘を歓迎しおいたすし、出しお倱うものがありたせん。

䜜成者様ありがずうございたす。

DOVA-SYNDROMEは息子がYouTubeの動画のBGMに䜿っおいるらしく教えおもらいたした笑


BGM を䞀瞬䞋げる仕組みを䜜っおもらっお、実機で倖したした

䌚心の音が BGM に埋もれたす。枬っおもらったら、䌚心は BGM の平均より 3.5dB しか䞊に出おいたせんでした。音そのものでできるこずは䌚心の䜜り盎しで䜿い切っおいたので、残るのは BGM を䞋げる方向です。

倧事な音が鳎るあいだだけ BGM を䞀瞬䞋げおはどうか、ずいう案が出おきたした。そういうやり方があるのを私は知りたせんでしたが、蚀われれば理屈は分かるので、䜜っおもらいたした。

䞋げる察象は䌚心ず倧かがり火の2぀だけになりたした。蚭蚈曞には「䌚心の䞀撃音、ハむスコアのゞングル等」ず曞いおありたしたが、ハむスコアずゲヌムオヌバヌはどちらも BGM が止たったあずにしか鳎りたせん。䞋げおも䜕も起きないので察象から倖れおいたす。

着手前の蚭蚈レビュヌで、そのたたでは実装できない点が5぀出おいたす。「音の長さ䜙韻のあいだ䞋げる」が2通りに読めるこず、ゲヌムの時蚈ず音の時蚈が別物なのでポヌズをたたぐず䞋がったたた戻るこず、音が鳎らずに捚おられる堎合があるので蚈画だけで䞋げるず BGM だけ沈むこず。

いちばん面癜かったのは、深い音ず浅い音をたずめおはいけない、ずいう指摘です。深くお短い音ず、浅くお長い音が同時に鳎ったずきに、䞋げ幅ず長さをそれぞれ倧きいほうで取るず、「深くお長い」ずいうどちらにも無い䞋がり方ができあがりたす。音ごずに別々に進めお、その぀ど䜎いほうを採る圢になりたした。

党郚盎しおから曞き始めお、誀実装を11件仕蟌んでいたす。1件だけ通りたした。「音が鳎ったこずを BGM 偎ぞ知らせない」ずいう誀りで、知らせを受け取る偎の怜査はあったのに、送る偎が実際に送っおいるかを芋おいたせんでした。

そうしお実機で切り替えお聎き比べお、私には印象が倉わりたせんでした。倖しおもらいたした。

倖す前に1぀盎しおいたす。聎き比べのために詊聎画面ぞ切り替えを足したずころ、䞋げたたた戻らない䞍具合が芋぀かりたした。䞋げる偎は音の局から届くので動きたすが、戻す偎は画面が呌ぶ䜜りで、その詊聎画面には呌ぶ堎所がありたせん。聎き比べの土台そのものが壊れおいたこずになりたす。その状態で「効果なし」ず刀断しなくおよかったずころです。

そのうえで、私が本圓に蚀いたかったのは「BGM が少し倧きい」でした。それなら道具が違いたす。䞀瞬䞋げる仕組みは「普段はちょうどいいのに、ある瞬間だけ邪魔」を解くもので、い぀も倧きいものには効きたせん。曲の音量を 3dB 䞋げお終わりたした。

䜜っお、テストを通しお、実機で確かめお、䞞ごず捚おたこずになりたす。捚おさせたのは私です。刀断の経緯は蚭蚈曞ず実装蚈画に残しおもらいたした。入れ盎すずきに同じ道を蟿らないためです。

ただ、この2日でいちばん面癜かったのはここでした。䌚心の音が BGM に負けるなら BGM のほうを䞀瞬だけ䞋げる、ずいう発想が、私にはそもそもありたせんでした。音が小さいなら音を倧きくする、くらいしか思い぀きたせん。教えおもらわなければ、そういう手があるこず自䜓を知らないたたでした。 しかも、䞋げ幅ず、萜ずしお・保っお・戻すたでの時間を音ごずに決める、ずいう现かさです。

結局は倖したので、この仕組みのコヌドは1行も残っおいたせん。それでも、遊んでいるあいだ誰も気に留めないずころに、ここたで調敎する䜙地があるず知れたのは収穫でした。知らないたたなら、泚文を出すこずもできたせん。ふだん遊んでいるゲヌムでも䌌たこずが山ほど行われおいお、うたくいっおいるものほど気づかれずに枈んでいるのだろうず思いたす。


耳で泚文を出しお盎した音が、ほかにもありたす

アむテムを取っおも無音でした。音を1぀䜜っおもらったのですが、いちばん難しかったのは「光を攟぀音ず玛れないこず」だったそうです。光を攟぀音はこのゲヌムでいちばん倚く鳎りたす。音域・圢・長さ・倍音の4぀で離しおありたす。

そのあず2回、私から泚文を出したした。「💧はずれだけ別の音にしおほしい」。圓たりずはずれが音で区別できないず、音を足した意味が半分になりたす。同じ音を逆から鳎らす圢になりたした。䞊がれば圓たり、䞋がればはずれです。それから「もう少し爜やかに」で、2音から4音のアルペゞオになりたした。

䌚心の音には「もっず目立たせたい」ず蚀いたした。音量のピヌクはもう䞊げられたせん。同時に鳎らしたずきの䜙裕が 0.006 しか残っおいないためです。返っおきたのは、音皋の動きで差を付ける案でした。人は音量より音皋の倉化に気づきやすいそうで、ほが暪ばいだったのを途䞭で跳ね䞊がる圢に倉えおありたす。

このずき、蚈画に曞いおあった「3䜓同時の䌚心は皀」ずいう前提が間違っおいるず分かりたした。タンクは䌚心3回で倒れるので、同じ盞手ぞの速い3連続がふ぀うに起きたす。


課金たわりは、刀断する堎所を1぀に絞りたした

フェヌズ8です。広告を消す買い切りが入りたした。賌入を埩元する導線は Apple の審査で必須なので、同時に䜜っおありたす。ここは私の出番がほずんどなくお、蚭蚈曞ずレビュヌだけで進んでいたす。

いちばん効いたのは、賌入したかどうかをアプリ偎に保存しない圢になったずころです。圓初の蚈画は「キャッシュずしお持぀」でしたが、そのキャッシュを芋お広告を止める䜜りになっおいお、実質そちらが本物になっおいたした。保存しなければ、曞き換えられる䜙地もなくなりたす。

蚈画から䞞ごず抜けおいたものもありたした。賌入が埌から確定する堎合の監芖です。子ども向けなので、保護者の承認を埅぀賌入は珟実に起きたす。返金や別の端末で買った堎合も同じ道を通りたす。蚭定画面のほうは、項目が8぀になっお iPhone SE の暪画面に収たらなくなったので、この画面だけ2列になりたした。


次は

App Store Connect ぞの登録です。アプリの ID を取っお、商品を登録しお、実機のサンドボックスで賌入ず埩元を確かめたす。ここはコヌドではなく手続きなので、私がやるこずになりたす。

぀づきたす。


#たよいびの子 #個人開発 #ゲヌム開発 #iOSアプリ開発 #Swift #SpriteKit #Xcode #ClaudeCode #Claude #Codex #生成AI #AIコヌディング #開発日蚘 #制䜜日蚘 #プログラミング #゚ンゞニア #ものづくり #アプリ開発 #スマホゲヌム #むンディヌゲヌム #BGM #音楜 #フリヌBGM #著䜜暩 #ラむセンス #クレゞット衚蚘 #ダッキング #ミキシング #音量調敎 #ルヌプ再生 #AAC #PCM #メモリ䜿甚量 #画像生成AI #アプリアむコン #タむトル画面 #UIデザむン #アヌトワヌク #光の衚珟 #StoreKit #アプリ内課金 #買い切り #賌入埩元 #アプリ審査 #音䜜り #ミュヌテヌションテスト #SwiftTesting #コヌドレビュヌ #実機テスト #効果音 #iPhone #iOS #AppStore #ゲヌムアプリ #自䜜ゲヌム #ひずり開発 #個人開発者 #週末開発 #副業 #ChatGPT #GPT5 #LLM #AI掻甚 #AI゚ヌゞェント #AIずの共同䜜業 #ペアプログラミング #プロンプト #開発効率化 #倱敗談 #振り返り #孊び #気づき #継続は力なり #毎日note #note初心者 #創䜜 #芪子 #子育お #䞭孊生 #プログラミング教育

いいなず思ったら応揎しよう

かずゆき よろしければ応揎お願いしたす いただいたチップはよりよい蚘事を曞くためにカフェ代ずしお䜿わせおいただきたす