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

はじめに

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さんの記事です!

はじめてのブログ

はじめに

AdventCalendarの記事を書くにあたり、ブログを開設しました。

自己紹介

"NotFounds"といいます。なんとなくNotFoundで各アカウント作ろうとしたら、ほとんどのサービスでIDが取られていたので's'を付けてみました。*1

所属とか

  • 某有名(?)な活火山がある県の高専の4年
  • 情報工学専攻
  • 部活は、弓道と電子情報システム研究部(高専プロコンや競プロを行う)
  • Kosen13s'

趣味

  • ダイビング
  • 弓道
  • プログラミング
  • ドライブ
  • アニメ鑑賞
  • FPS etc.. と多趣味(?)です。最近運動不足なので、何かスポーツをしようと思っています。

最後に

文章を書くのはあまり得意ではないのですが、せっかくブログ開設したので不定期に何か書いていこうと思います。 というわけで、よろしくお願いします。

*1:前述のようにニックネームに深い意味は込めてなかったのですが、「Found」にはFindの過去形以外に「創造する」「設立する」の意味があると知り、結果「何も作らない」という名前になったのかなーと思いました。