カテゴリー
ゲーム

Antgame.io – 蟻の採餌行動をテーマにしたブラウザ・シミュレーションゲーム

AntGameは、ブラウザで遊べる蟻のシミュレーション・ゲームです。

ゲームの遊び方とてもシンプルです。2次元に置かれた地形に蟻の巣(オレンジ色の四角)をマップで指定された個数配置したら、スタートボタンを押して眺めるだけ。

黒い地形は侵入できないところ。緑は餌のようです。開始と同時に四方八方に散った蟻たちは、餌を見つけるとそれを巣へと持ち帰ります。餌が見つからない蟻はオレンジ色で表現されます。

巣を置いた場所が同じであれば、何度プレイしても同じ結果になるそうです。つまり、初期配置をサーバに送った時点で結果まで出ているし、クライアントとサーバ側で演算した結果も必ず同じになるそう。これによって、クライアント側で点数を改竄して送り付ける等のチートはできなくなっているということ。

ちょっとした配置の違いで、近くに見えている餌場を蟻たちが見つけられなかったり、別の巣と同じ餌場の奪い合いになって時間内に効率的に餌を取り切れなかったりと、一度のプレイは数十秒から数分ですが、何度も試してしまいます。餌にたどりつけずに一帯がオレンジ色に染まった群れを見るのは辛いですね。

サイトでは多数のマップが存在し、ログインすればそれぞれのマップでのランキング戦に参加することもできます。

日替わりでその日だけ遊べるマップもあり、その日のランキングや累計でのランキングを競うこともできます。

フロントエンドが React, バックエンドが node/express でソースも公開されています。

via reddit/programming

カテゴリー
ネットのサービス

People of the Pandemic – 外出自粛とその影響をブラウザで追体験できるシミュレーション

People of the Pandemic は、ブラウザで動くシミュレーションゲームです。シミュレーションする対象は、新型コロナウイルスの流行に対して外出しないことで感染速度と医療崩壊を防ごうとする市民となります。

アメリカの任意の地域の郵便番号を入れるか、「都会」「郊外」「田舎」のいずれかを選ぶと、その選んだ場所の人口密度や医療体制などを模したゲームが開始します。

第一週目は、まだ伝染病について知らず、いつも通りに過ごしているということになっています。週に7回の外出をコミュニティの全員が行い、その結果として感染者、重傷者、病床数などがじわりと増えています。

各週の終わりに、自分(たち)が次の週どう過ごすか、の選択が迫られます。家を出ない(Stay Home)から、散歩、買い物、ランニング、友達と会食、家族と外食、パーティーに参加、コンサートに参加のどれかを選びます。

ゲームでは、同じ地域や似た地域で既にプレイした他の19人とあわせた20人の挙動で、社会の中の感染状況が変わります。

前から約束も有ったし、ニュースで何か言ってるけどパーティーは参加しようかな、と。20人のうち、まだStay Home を選んでた人はいないようですね。

20人の選択にあわせて、人を表す〇印が町の中を動き回り、中には接近から感染する人も出てきます。感染者も、感染したが症状がない紫の丸から、重い症状のピンク、と複数の段階があり、黒の死亡者、緑の回復者とあわせて色のついた人が増えていきます。

今回のプレイでは、4週目には地域に50ある病床が重症患者で一杯になってしまいました。自分は家から一歩も出ない方針に切り替えたものの、まだ大半のプレイヤーは買い出しやジョギングはいいだろう、という判断のようです。

ゲームは8週目まで続けられますが、この状態になってしまうと地域の運営に支障をきたすようで、6週目には食料が尽きてゲームオーバーとなってしまいました。

抽象化されたシミュレーションではありますし、何をどうしたらどれぐらい感染するか、のモデル作りのところも、研究がまだまだ途中のCOVID-19に関して不正確なところもあるとは思いますが、自分の判断とコミュニティの他の人々の判断を見ながら、社会全体が立ちいかなくなる状況を追体験できるというのは良い説得力があるのではないでしょうか。やってみると怖くなるし、自分たちが今どうするのが良いかも考えさせられます。

via FlowingData

カテゴリー
データ可視化

AgentMaps – 地図上で多数の人が動くシミュレーションを作るためのライブラリ

AgentMapsは、JavaScript 上で地図ベースの社会シミュレーターを作るためのライブラリです。

インタラクティブ地図作成のライブラリ Leaflet.js 上に構築されていて、

  • 道沿いに建物を建てる
  • エージェントを地図上に配置
  • エージェントの建物間の移動をスケジュールする
  • エージェントの見た目を変える

などができるということ。町の中を行き来する住人のモデルを作って、住人間でうつる病気とその伝染率を定義すれば、伝染病がどのように広まっていくか、あるいは一定の範囲でとどまるか、といったことをシミュレーションできます。

こちらのデモでは、人々の移動の速度や、病気の伝染しやすさのパラメーターをスライダーで変化させて、全体の様子がどうなるかを観察することができます。

ツールの使い道ですが、たとえば、イベントで多数の人が集まってきた時に出店や通路を人がどう動くか、とか、ゾンビ物のお話を作る時に、感染が広まる様子をシミュレートしてそれを基に書くとリアリティが高まったりするのかなあ、とか、どうでしょうね。