さいきょうの経済実験フレームワークを使って人狼サポートアプリを作るはなし

はじめに

www.adventar.org 18日目の記事を書くNotFoundsです。 去年からAdventCalendarの記事書きたいなーと思いながらネタを探していたのですが、結局書きたいものが見つからず、今年もAdventCalendar書かないと思っていたのですが何故か書くことになりました。 (記事の内容が薄いのはご了承ください。

経済実験のWebフレームワーク(?)を使って、「人狼ゲーム」のサポートアプリを作る話をします。 今回、ボードゲームではなく人狼を作った理由として、ボードゲームのクライアントは結構あり十分な機能が含まれていますが、人狼のアプリは一つの端末を複数人で回したりするものがほとんどであり、各個人の端末で行うものが少なかったからです。また、オプションとしてゲーム内の情報をグラフ表示出来たらいいなーと考えていました。

経済実験とは

複数の人に簡単なアンケートや単純化された市場での取り引きを行ってもらい、データを取得するものです。

今回使うフレームワークについて

github.com 今回使う経済実験フレームワークは、私の学校の経済学の先生が「スマートフォン等で簡単に経済実験が行えるサービスがないから作ろう」という意図で開発をしているものです。因みに、サーバーの設計はRyo33が行っており、私も一部開発に携わっています。 このサーバーは、Elixir & Postgresql & Reactで構成されており、WebSocket通信でクライアントと接続します。その為、サーバーとクライアントは常に同期しており、他のクライアントの状態をリアルタイムで見ることができます。また、素晴らしいことに各経済実験はモジュールとしてサーバーとは分離されており、以下のような特徴があります。

  • スマホやPCから簡単に利用できる
  • 無料
  • 500人同時接続可能
  • 特別な知識不要

つまり、このサーバーを用いると、ゲームやチャットアプリ、リアルタイムなホワイトボードアプリ等も簡単に実現することができます。

作っているもの

github.com 今回作成しているものは「人狼ゲーム」のモジュール部分です。

使い方は、上記XeeサーバーをHeroku等に配置しモジュールとして人狼ゲームを追加すれば動きます。 時間と気力がなくてサーバーはまだ立てていません。後日、バグ取り等を行ってからサーバーは立てると思います。

実際のゲーム画面

f:id:notfounds8080:20161217215855j:plain f:id:notfounds8080:20161217215903j:plain f:id:notfounds8080:20161217220202j:plain f:id:notfounds8080:20161217215847j:plain

今後

このフレームワークを使って、ボードゲームTRPG等の複数のゲームのサーバーを作ろうかなーと思っています。

さいごに

こんな感じで18日目の記事でしたー。 今回使用したフレームワークを用いた経済実験システムXEE.JPもよろしくお願いします。(ステマ

明日は、Mizuki Shimabukuroさんの記事です!