作り話は主人公の速さだけ。公的資料の数字で富士山噴火ゲームを作った記録
目次(21)
決まりは「作り話は主人公の速さだけ」
「富士山噴火 どこまで逃げられるか」は、富士山の山頂で噴火に遭い、御殿場の方へ駆け下りて、どこまで遠くに逃げられるかを競う3Dのブラウザゲームです。この記事では遊び方ではなく、作る途中で何を決め、何を測り、何を直したかを、開発の記録のまま書きます。
始まりは2026年10月25日の私の一言です。「富士山が噴火したらのシミュレーションブラウザゲームを作りたい。まずデータ調査から」。調べものも実装も、AIのClaude Codeに任せました。私の役目は、遊び方を決めること、試作を遊んで気になったことを伝えること、公開するかどうかを決めることです。
最初に置いた決まりは2つです。ゲームの数字は、公的資料から作った台帳のIDから引くこと。台帳に無い数字は「設計判断」と書いて分けること。台帳の中でも、報道でしか裏が取れなかった行は使わず、図を目で測った値は概算と書きます。現実の山の形や現象の速さは変えず、主人公だけが「火事場のバカ力」で速く走れる、という作り話を1つだけ入れることにしました。
記録の日付は、調べものから公開まですべて10月25日です。最初の公開は同じ日の16時台でした。
先に、公的資料の台帳を作る
4つに分けて調べた
台帳は4つの調査に分けて作りました。どの行にも、出典の名前、ページ、原文の引用、確度が付いています。原本のPDFも手元に保存し、火砕流の時速100kmや、東富士五湖道路まで10km・6分といった主な数字は、原本と照らし合わせて確かめました。あとで台帳の行を数えると、次のとおりでした。
| 調査 | 中身 | 主な出典 | 行の数 |
|---|---|---|---|
| A | 山麓の現象(溶岩流、火砕流、噴石、泥流) | 富士山ハザードマップ(改定版)検討委員会報告書(2021年)、富士山ハザードマップ検討委員会報告書(2004年) | 187 |
| B | 降灰 | 中央防災会議の降灰ワーキンググループ(2020年)、首都圏の降灰対策ガイドライン(2025年) | 175 |
| C | 逃げる側(前兆、警報、避難、人体) | 富士山火山避難基本計画(2023年)、気象庁、内閣府の資料 | 234 |
| D | 山頂から御殿場まで(標高、建物、登山道) | 国土地理院の標高タイル、国土交通省の3D都市モデル(PLATEAU)、富士登山オフィシャルサイト | 96 |
あわせて、数字を一枚にまとめた早見表のページも作りました。遊び方を決めたのは、台帳と早見表ができてからです。
資料に無かった数字
調べてわかったのは、ゲームに要るのに公的資料には無い数字があることです。台帳の終わりに、見つからなかった物として書き出しました。
- 噴火してから火砕流や溶岩流が出るまでの時間。報告書の到達時間は、どれも「その現象が出た時点から」数えた時間です。
- 溶岩流の速さの数値。資料にあるのは「速くても人が歩く程度」という言葉だけです。
- 火砕流の流れる速さそのもの。資料編の時速100kmは、距離を到達時間に直すための値として書かれていて、計算の流速は公表されていません。
- 灰が積もったときに人の足がどれだけ遅くなるか。降灰対策の資料には、視界が落ちて滑りやすくなる、とだけあります。
この4つは、あとでゲームの設定として決めることになりました。どれも、ゲームの中の値は資料の値ではありません。
遊び方を決める
台帳ができてから、遊び方を言葉で詰めていきました。記録に残る私の言葉と、そこで決まったことです。
| 私の言葉 | 決まったこと |
|---|---|
| 「富士山噴火から逃げる」 | 逃げるゲームにする |
| 「山頂から」「キャラを直接動かす」 | 山頂から始め、主人公を自分で走らせる |
| 「どこまで遠くに逃げれるかを競う」「火口は山頂」「火事場のバカ力」「キャラも町も3D」 | 倒れた地点の火口からの距離(km)がスコア。主人公だけ人の何倍も速い |
| 舞台について「おすすめで」 | 山頂から東の御殿場までの帯 |
舞台を御殿場の側にした理由
山の全方向を作るのは大きすぎるので、1方向の帯に絞りました。御殿場市は3D都市モデル(PLATEAU)があり、建物を実物の形で置けます。富士吉田市は、調べた範囲ではPLATEAUのデータが見つかりませんでした。また、ハザードマップの説明資料では、火砕流は傾斜の急な北東(富士吉田市の方面)と南西に長く延びるとされています。御殿場の側を案として出し、私が「おすすめで」と答えて決まりました。
資料から置いた数字
現象の数字は、台帳から次のように置きました。ゲームの数字は資料からの換算や単純化で、現実の噴火でこのとおりになる、という意味ではありません。
| 現象 | 資料の値 | 出典 | ゲームでの置き方 |
|---|---|---|---|
| 火砕流の速さ | 時速100km | 富士山ハザードマップ(改定版)報告書 資料編 資料1 注2(2021年) | 秒速約28mで追ってくる |
| 御殿場の方向の火砕流 | 本体 約7〜7.4km、サージまで 約8〜9km | 火砕流・火砕サージの可能性マップ(2021年)を測った概算 | 本体は7.2kmで止まる |
| 火砕サージ | 本体の範囲から1km以内 | 同 報告書 4.3(7) | 本体の外1kmまで |
| 大きな噴石 | 大規模噴火で最大4km | 同 報告書 5.6 | 火口から4km以内に降る |
| 溶岩流 | 速くても人が歩く程度 | 山梨県 富士山ハザードマップの説明資料 | 秒速2m(設計判断) |
御殿場の方向の7〜7.4kmは、文章ではなく地図から測った値です。図の縮尺の棒から1kmが何画素かを出し、山頂の印から方位ごとに色の範囲がどこまで続くかを数えました。地名の文字や線で色が途切れるので、±0.5〜1kmの誤差を見込んでいます。
火口を山頂に固定したことにも、断り書きが要ります。資料では、火口は1か所に決まっていません。想定火口範囲は東南東に長く延びていて、大きな噴石の可能性マップを測ると、御殿場の方向では山頂から約11kmまでが範囲でした。ゲームは火口を山頂の1か所にしたので、噴石は山頂から4kmです。なお、2004年の報告書には、火砕流の危険は山頂付近(およそ5合目より上)で噴火した場合に限られる、とあります。
時速100kmなら、7.2kmまで来るのに計算で約4分20秒です。ただ、噴火から火砕流が出るまでの時間は資料に無いので、そこはゲームの設定です。
舞台を作る
標高は地理院の5mメッシュ
地形は国土地理院の標高タイルから作りました。航空レーザ測量の5mメッシュ(DEM5A)は、帯の範囲の375枚がすべて取れました。値の無い画素は0.262%で、ほとんどが御殿場の市街の周りです。そこは10mメッシュ(DEM10B)の値で埋めました。剣ヶ峯から御殿場駅までは、座標から計算して水平に19.95kmです。ゲームの距離は火口の中心から測るので、駅は火口から19.7kmになります。
42.3GBの町のデータから、要る所だけ
PLATEAUの御殿場市のデータは、まとめて落とすと42.3GBありました。大半は地形のモデルです。そこで全体は落とさず、圧縮ファイルの目次だけを範囲を指定して読み、駅まわりの建物4区画(約65MB)だけを取り出しました。最初の町は、駅から東西南北750m以内の4,494棟です。あとで21区画、18,279棟に広げました。建物を平面の形と高さで持ち、ブラウザの中で立ち上げる形に変えたので、町のファイルは8.1MBから2.2MBに減りました。
「地形も再現できてなくない?」
試作を見た私の一言です。調べると、データは地理院の実測で、宝永火口もお鉢も出ていました。原因は、人の目線の高さから見ると形がわからなかったことです。そこで、地形を10m格子にして主人公のまわりだけ細かく描き、地面に細かいむらを付け、溶岩の岩や低木を主人公のまわりに散らしました。カメラは坂の先を見る向きにし、1kmごとに出ていた継ぎ目の線も消しました。
試走して、測って、直す
最初の版は、まっすぐ走れば逃げきれた
最初の案では、主人公の速さは秒速25mで、火砕流より少し遅い設定でした。一通り動いた試作は、前兆の地震が15秒、噴火、その60秒後に火砕流です。試走では、前兆から全力でまっすぐ走ると8.65kmで火砕流が止まり、生還しました。時間切れを10分にすると、駅には届かず15.6kmでした。生還したあとの扱いは、私が「おすすめで」と答えて、時間切れを15分、御殿場駅をゴールにしました。
「難しくない」を聞き返す
次に私が言ったのは「難しくない」です。どちらの意味か、Claude Codeは聞き返しました。答えは「簡単すぎる」で、噴石も火砕流も生還後も退屈、という意味でした。直したことは次のとおりです。
- 火事場のバカ力のゲージを足しました。ふだんは秒速22mで火砕流より遅く、押している間だけ秒速34mです。
- 火砕流が出るのを、噴火の60秒後から50秒後にしました。
- 狙ってくる噴石を約2倍に、影が出てから落ちるまでを2.6秒から2.0秒にし、5秒ごとの横一列の一斉射を足しました。
- 生還後に熱い軽石を降らせました。根拠は、火口から約10kmで直径10cmを超える軽石が見つかっていること(ハザードマップ報告書 5.7(3))です。
- 灰で足が最大22%遅くなるようにしました。人の足への公的な数字は無いので、設計判断です。
計算では、ゲージを使わないと約3.7kmで捕まり、完璧に回すと約400mの差で生還、駅まで残り約1分半でした。ただ、このときのMacは負荷が高く、画面を出さずに動かす試走は最後まで回せていません。
ゲージが0でも使えた
「バカ力のゲージ無くなっても使えました」。原因は、0で止まった直後に少しだけ回復し、また使える、を毎コマくり返していたことです。0になったら30まで戻るまで使えない、回復するのはボタンを離している間だけ、に直しました。
「火砕流に逃れれない」で、50秒を70秒に
今度は難しすぎました。私の言葉は「溶岩演出がないのと火砕流に逃れれない」です。火砕流が出るまでを50秒から70秒にし、熱い軽石は8.5kmからにして、火砕流から逃げている間は降らないようにしました。溶岩流も足しています。噴火の20秒後にお鉢の縁3か所からあふれ、坂の低い方へ秒速2mで流れます。
| 版 | 火砕流が出るまで | ゲージなしで捕まる所(計算) |
|---|---|---|
| 最初の試作 | 60秒 | ゲージなし。まっすぐ走って8.65kmで生還 |
| 「簡単すぎる」のあと | 50秒 | 約3.7km |
| 「逃れれない」のあと | 70秒 | 約5.8km |
70秒はそこそこ回せば逃げきれ、上手なら約1kmの差がつく値です。この秒数は難しさで決めた数字で、資料の値ではありません。
公開までと、公開のあと
「他に改善は」と2回聞き、出てきた案を全部入れました。1回目は音、登山道と道路(OpenStreetMap)、町の拡大、倒れる演出、結果画面の地図、Xへの投稿、ランキングの7つです。2回目は山小屋に逃げ込む仕組み、大砂走り、灰が積もる見た目、画質の自動調整、その場の手ほどき、英語版と共有画像の6つでした。
山小屋の仕組みは、台帳に根拠が無かったので、先に調べて足しました。内閣府の「活火山における退避壕等の充実に向けた手引き」(2015年)に、山小屋などに身を隠すと噴石で死傷する危険が減ること、ただし巨大な噴石や火砕流などのあらゆる火山災害に対して安全を確保するものではないことが書かれています。ゲームでも、山小屋で防げるのは噴石と軽石だけです。
試作は、公開前の非公開のページで遊べるようにしました。そのページでは地形や建物の元のファイルの形式を配信できなかったので、文字に変えて包み直して読み込んでいます。ランキングもそのページの中だけの仕組みで、サイトに置いた版では自己ベストだけが残ります。
音は「音が雑音です」と言われて作り直しました。走る風の音を外し、地鳴りや火砕流を低い音を中心にしています。画質は、3秒の平均で1コマ45msより遅ければ1段下げる形です。そのあと私が「公開して」と言い、置き場は前の2本と同じこのサイトにしました。
「Cで滑れない」
公開の準備をしている間に、私が見つけた不具合です。原因は2つありました。砂の判定が登山道の線から左右25mだけで、まっすぐ下りると砂に乗らないこと。滑っていても、前に進むキーを押さないと止まること。砂の幅を左右250mにし、滑っている間はキーなしで今の向きに進むようにしました。砂の外で押すと「ここでは滑れない」と一言出します。
19.6kmで止まる
遊んだ人から「19.6kmで止まる」という声がありました。駅は19.7kmなので、灰で遅くなると15分では駅の手前で時間が切れていたのです。時間切れを20分に延ばしました。そのあと、御殿場駅への到着タイムを競うタイムアタックも足しています。
紹介動画は1コマずつ撮った
X用の縦の動画(30秒)は、ブラウザでゲームを1コマずつ進めて撮りました。音は、同じ時刻どおりにゲームの音を書き出して重ねています。撮るときは噴石に当たらない設定にし、大砂走りへは場面を切り替えて移しました。結果の画面の4.41kmは、そのとき遊びの中で出た実際の数字です。音は大きさを測っただけで、耳では確かめていません。
作ってわかったこと
- 公的資料をそろえても、ゲームに要る数字が全部あるわけではありません。噴火から火砕流が出るまでの時間のように、無い数字を「設計判断」と書いて分けておくと、どこが作り話かを後から説明できます。
- 資料の数字は、意味まで読む必要があります。時速100kmは到達時間に直すための値で、噴石の4kmは火口をどこに置くかで範囲が変わります。
- 難しさは、数字を1つ動かすだけで大きく変わりました。火砕流が出るまでを50秒から70秒にすると、ゲージなしで捕まる所が約3.7kmから約5.8kmになりました。
- 「難しくない」のような短い言葉は、聞き返して初めて「簡単すぎる」だとわかりました。
- データが正しくても、人の目線で形が見えなければ、遊ぶ人には「再現できていない」と映ります。
実際の噴火では、走って逃げることはできません。登山の前には噴火警戒レベルを確かめ、気象庁と自治体の情報に従ってください。遊び方と仕組みは解説ページにまとめています。