好きな日銀のメンバーは誰ですか?
私は氷見野副総裁です。
本記事は クソアプリアドベントカレンダー2025 の記事になります。今年で11回目の開催とのことで、主催者の情熱が恐ろしい。継続は力だなぁ。
青菜のパズル
シマウマが音楽に乗ってるのを眺めながら、青菜でパズルができるサイトを作りました。不思議なもので、無意味なものを作っているときにしか得られない充実感がある。責任のないモノづくりの純粋な楽しさか、あるいは陽気な現実逃避のような。
ターゲット層不在の虚無アプリですが、開発中に色々なAI系のサービスを試せてよかった。なかでも、音声AIの ElevenLabs が使っていて楽しく、声を作るハードルがグッと下がったように感じた。今日も元気にデジタル赤字!
紆余曲折あったので、日銀の話から入ります。
金融政策決定会合
もういくつ寝ると、金融政策決定会合ですね。
10月の会合では年内の利上げは無さそうな雰囲気でしたが、少しづつ市場が織り込み始めているので、どちらに転んでも盛り上がりそうな局面。会合の楽しみ方について書き始めると長くなるので、日銀の概要だけ説明させてください。
日銀は物価と金融システムの安定を目的とした組織です。特に、政策金利の調整や、国債買入れなどの意思決定には市場の注目が集まります。これらの決定は政策委員会で行われており、総裁、副総裁(2名)、審議委員(6名)で構成されています。
平たく言えば、日本の金融政策はこの9人の多数決で決められているわけです。
日銀のファンサイト
そんな重責を担う識者たちの姿に惹かれ、二年ほど日銀のファンをやっています。今年の夏ごろ、活動を追いかけるだけでは物足りなくなり、非公式のファンサイトを作るために boj.fan というドメインを取得しました。
理想的なドメインが取れたものの、ファンサイトの内容がなかなか決まらず、気が付けば年末に。そこで思い出しました。クソアプリの季節だと。雑なコンテンツを作って、ファンサイトのトップページにしてしまおう。
日銀から青菜へ
せっかくのクソアプリなので、深く考えず安直なものにしたい。そんな思いから、日銀メンバーの名前でパズルを作り始めました。
ある程度できたタイミングでふと我に返ります。実名のパズルって良くないのでは?と。気づくのが遅すぎる。開発当初の考えはこうです。画像を使わないから著作権や肖像権は大丈夫そう。名前を使って利益を得ているわけでもない。たぶん名誉を傷つける内容もない。ヨシ!
冷静に考えたら、法律以前の問題。自分の名前がパズルになって遊ばれてたら、嫌な人もいるだろうという単純な話。法的に大丈夫かな?なんて考えがよぎる時点で悪ふざけが過ぎます。
なので、青菜のパズルにしました。
青菜の漢字不足で半分ぐらい根菜に。最速でブレました。適当なものを作るつもりが、5年前に作ったクソアプリと変わらず文字と動物に行きついているので、そこには魅力があるんでしょう。
頭のなかでは面白くなるイメージがあったのに、いざ作ってプレイしてみるとクソほどつまらなかったので、ゲームを作っている人はすごいなぁという月並みな感想。
音声AI
BGMと声はAIで生成しました。
サウンドをONにした方が三倍ぐらい楽しいので、ぜひONにしてみてください。
- BGM:Suno
- SE:効果音ラボ / しあわせ音楽校
- 声:ブライアン(ElevenLabs)
各サービスの利用規約
Suno
A Basic plan allows you to create songs for non-commercial use, while songs created with Pro and Premier plans include commercial use. Here's an easy way to break down the two categories
What is commercial or non-commercial use?
商用利用の場合は有料プランの契約が必要。
ElevenLabs
The free plan does not include a commercial license and cannot be used for any commercial purpose. If you publish content generated using our Services on a free plan or without being signed-in to your account, you must attribute it to ElevenLabs by including "elevenlabs.io" or "11.ai" in the title.
Can I publish the content I generate on the platform?
フリープランでは商用利用不可。クレジット表記が必要。
効果音ラボ
・商用利用無料
・クレジット表記不要(任意)
しあわせ音楽校
・商用利用無料
・クレジット表記不要(してくれたら嬉しい)
実況の声に使った ElevenLabs は無料でも十分使えましたが、感謝の気持ちで Starter プランを契約しました。日銀のパズルを作っているときは、すべて英語で実況する仕様だったので、英語教材のサンプルみたいな声のブライアンを選択。サービスの画面はこんな感じ。パラメータを調整しながら生成ガチャを回します。
koma-tsu-na...o-he-ta-shi...men-to-you!
青菜のパズルへの変更後も、ブライアンに続投して欲しかったので、テキストを工夫しながら日本語を喋ってもらいました。
「めんつゆ」を「men-to-you」にしたり、「安納芋」を「unknown emo」にするなど、細かい調整を加えています。未知のエモに妙な納得感。
初めてのパズル制作だったので、経験のためにも自分でコードを書こうと思っていたのですが、途中からCodexに頼り始めて、AIのコード量が半分を超えたあたりから書く気がなくなってしまった。なんか、こういう閾値ってありますよね。手触りの部分は、まだAIの苦手分野だと思っているので、自分で調整しました。
攻略情報
リトライボタンかキーボードで「R」を連打して、初期状態で複数の青菜が消えるまでリセマラするとタイムを縮められます。キーボード操作限定ですが、「D」で1ゲームに1回だけランダムで消せる仕様です。シマウマをクリックするか、「F」を押すと文字を整列できます。
たまにバグって文字が消えずに残りますが、そこも含めてクソということで。
▼ キーボードショートカット
R:リトライ
D:ランダム削除(1回のみ)
F:整列
目指せ高評価!
隠しコマンド
まともな技術情報がないので、隠しコマンドをキーボード入力で判定するコードを置いてお茶を濁しておきます。
const createCheatCode = (keys: string[], callback: () => void) => {
let progress = 0
return (event: KeyboardEvent) => {
const expected = keys[progress]
if (event.key === expected) {
progress++
if (progress === keys.length) {
callback()
progress = 0
}
} else {
progress = event.key === keys[0] ? 1 : 0
}
}
}
const cheatCode = createCheatCode([
'ArrowUp',
'ArrowUp',
'...'
], () => {
console.log('Cheat!')
})
window.addEventListener('keydown', cheatCode)
// Remove
// window.removeEventListener('keydown', cheatCode)
See the Pen Cheat code by nishinoshake (@nishinoshake) on CodePen.
良き旅を
ドメインの boj.fan と青菜を結び付けるために、パズルの名前を「Blue Organic Journey」にしました。青菜は英語で greens みたいですが、この際、正しさは捨てましょう。形はどうあれ、アドベントカレンダーに間に合って良かった。
今夜はチンゲン菜かな。


