※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

今回はイメージより具体的な設計を重視して書いてみました。


消防士ゲーム

消防士となり燃え盛る建物に水を撒いて火を消そうというゲーム。
建物の燃え盛る部分を細かく升目に分けセルオートマトンでシミュレート。
プレーヤはマウスでどのセルに水を撒くかを決めていきながら火を消す。
各セルは温度、熱伝導率、燃えやすさ、燃焼物の残量、建材の耐久力、酸素濃度、隣への熱の伝わりやすさなどの値を持ち、おのおのセルオートマトンで次の状態が計算される。
ステージ画面は、野外で上から見下ろしと、建物を横からの2種類。
建材の耐久力なくなるとその部分から崩れる。
設定は暫定なので本物の消防についてある程度勉強してから作る予定。


予定はカジュアルゲーだから画面はしょぼくて言いとして、数式のバランス取りが大変そう。
バランス取りの把握には行列演算使えばいいかと検討中。


検討

温度が高いOr酸素が多い→ 一気に燃焼物が減る
条件を満たすとバックファイア→ 酸素のないところに、酸素が大量流入した時発生
見下ろしステージで建材の耐久力がなくなる→隣に火が移りにくくなる。


数式の設定について

変数の場合わけ。

絶えず減っていく変数

燃焼物の残量。
建材の耐久力。


燃焼物の残量については基本的にこの値減らない限り、延々と燃え続ける。
つまり上記が減ることで、火災は収束に向かう。
このパラメータを固定した状態で、物を燃やせば延々と燃えるか広がるか収束するかとなる。
燃えるものが少ない時は火災が収束しやすく、多い時には火災が広がりやすくなる数式を設定する。
その為には燃焼物残量を変化させた時、隣のマスに飛び火する可能性を数式レベルで検討するのが重要となると考えられる。


ハンドルネーム sina
本名 堀江伸一