SMARTRIQSで1グループあたり8人より多い人数でゲームを実施する方法

SMARTRIQSで1グループあたり8人より多い人数でゲームを実施する方法

SMARTRIQSを使って1グループあたり8人より多い集団人数でゲームを行いたい場合があると思います。公式が用意するSMARTRIQSサーバーは最大1グループ8人までしか実験できず、9人や10人集団でのゲームは実行できません。

もちろん、2人グループを5組作って延べ人数が10人というのは、デフォルトで可能です。

そこで、今回は公式が用意しているPHPファイルを拡張して、自分のサーバーで1グループ8人より多い人数でゲームを実施する方法を紹介します。

注意

8人までやぞと怒られる

公式が用意しているSMARTRIQSサーバーでも1グループ8人までで、9人以上に拡張しようとすると上のようなエラー<が発生します。自分でサーバーを立てても同様です。 サーバーへの負荷やエラーへの対処等々、なんらかの理由があってこの制約が掛かっているはずです。そのため、その制約を外すことは推奨されていないはずです。 以下で紹介するものは、あくまでこうすればできるというだけで、安定した動作を保証するものではありません。

8人よりも多い人数に拡張する方法

公共財ゲームを例に紹介します。

1. 自分のサーバーをセットアップする

自分でSMARTRIQSサーバーを立てる方法
Qualtricsでインタラクティブな実験を実現する「SMARTRIQS」は、既に本家が用意してくれている「SMARTRIQSサーバー」を利用するだけでなく、自…
kscscr.com

公式サイトや上の記事を元に、自分専用のSMARTRIQSサーバーをセットアップしましょう。

2. complete.php, match.php, send.phpファイルを編集する

complete.php

//元々↓
if (in_array($groupSize, array(2,3,4,5,6,7,8)) == FALSE){errorMessage("104");}
//修正↓
if (in_array($groupSize, array(2,3,4,5,6,7,8,9,10)) == FALSE){errorMessage("104");}

complete.php, match.php, send.phpの3つのファイルを拡張したい人数まで修正します。

3. get.phpファイルを編集する

get.php

//元々↓
if ($groupSize < 2 or $groupSize > 8)	{errorMessage("104");} 
//修正↓
if ($groupSize < 2 or $groupSize > 12)	{errorMessage("104");} 

もう一つ、get.phpファイルにもgroupSizeに関する記述があるので、制限を変更しておきます。

4. 変更したPHPファイルをアップロード

あとは、サーバーセットアップと同じ要領で、編集したPHPファイルをアップロードしておきましょう。

5. Qualtricsを修正する

更に、増やした人数に応じて、Qualtricsの埋め込みデータを修正します。groupSizeだけでなく、participantRoleの追加やdefaultDataやsaveDataもすべて変更する必要があるので忘れないようにしましょう。

基本的に、全員に同じ処理をするような公共財ゲームであれば、Qualtricsの修正も少なく簡単に実行できると思います。ただ、複雑な条件分岐や繰り返しゲームになると大変にはなってくるので、oTreeなど別のライブラリを使った方が良いでしょう。