[virtualcommons-svn] commit/foraging: alllee: adding second treatment configuration for asu experim
Status: Beta
Brought to you by:
alllee
From: Bitbucket <com...@bi...> - 2012-01-18 21:17:51
|
1 new commit in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/b4bf8539edff/ changeset: b4bf8539edff user: alllee date: 2012-01-18 22:17:52 summary: adding second treatment configuration for asu experiments affected #: 10 files diff -r d165de49851eed09b332995cee27fd1e45a23fdf -r b4bf8539edffa681ac99aba2b8c1402671d44590 src/main/java/edu/asu/commons/foraging/server/ForagingServer.java --- a/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java +++ b/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java @@ -244,6 +244,7 @@ } SocketIdentifier clientSocketId = (SocketIdentifier) clientData.getId(); clientSocketId.setStationNumber(request.getStationNumber()); + sendFacilitatorMessage(String.format("Updating %s with station number %s", clientSocketId, request.getStationNumber())); } }); // client handlers diff -r d165de49851eed09b332995cee27fd1e45a23fdf -r b4bf8539edffa681ac99aba2b8c1402671d44590 src/main/resources/configuration/asu-experiments/2011/t2/README.txt --- /dev/null +++ b/src/main/resources/configuration/asu-experiments/2011/t2/README.txt @@ -0,0 +1,13 @@ +Fall 2011/Spring 2012 Foraging experiments, Treatment 2 + +Stationary resource +Full vision + +Practice Round +Trust Game +Round 1-3, in-round communication +Trust Game +Round 4-6 +Trust Game +Survey + diff -r d165de49851eed09b332995cee27fd1e45a23fdf -r b4bf8539edffa681ac99aba2b8c1402671d44590 src/main/resources/configuration/asu-experiments/2011/t2/round0.xml --- /dev/null +++ b/src/main/resources/configuration/asu-experiments/2011/t2/round0.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties> +<comment>Foraging XML-ized experiment round configuration</comment> +<entry key="resource-width">13</entry> +<entry key="resource-depth">13</entry> +<entry key="practice-round">true</entry> +<entry key="private-property">true</entry> +<entry key="duration">240</entry> + +<entry key="quiz">true</entry> +<entry key="q1">C</entry> +<entry key="q2">B</entry> + +<entry key='instructions'> +<![CDATA[ +<h2>Practice Round Instructions</h2> +<hr> +<p> + Once everyone has finished the quiz, we will start a practice round of the token + task. +</p> +<p> +During the practice round, you will have {duration} to practice with the +experimental environment. The decisions you make in this round will NOT influence +your earnings. At the beginning of the practice round {initialDistribution} of the +cells are occupied with green tokens. The environment is a {resourceWidth} x +{resourceDepth} grid of cells. +</p> +<p> +During this practice round, and <b>only during</b> this practice round, you are able +to reset the tokens displayed on the screen by pressing the <b>R</b> key. When you +press the <b>R</b> key you will reset the distribution of the tokens to randomly occupying +{initialDistribution} of the cells with tokens. +</p> +<p><b>Do you have any questions?</b> If you have any questions at this time please raise your hand and someone will come over to your station and answer it.</p> +]]> +</entry> + +<entry key="quiz-instructions"> +<![CDATA[ +<h2>Quiz</h2> +<hr> +<p> + In a moment, you will do a practice round of the token task. Before we go to + the practice round, answer the following questions to make sure you understand + the instructions. You will earn {quizCorrectAnswerReward} for each correct answer. +</p> +<br><br> +<form> +<span class='q1'>Q1. Which of these statements is NOT correct?</span><br> +<input type="radio" name="q1" value="A">A. Your decisions of where to collect tokens affects the regeneration of tokens.<br> +<input type="radio" name="q1" value="B">B. When you have collected all tokens on the screen, no new tokens will appear.<br> +<input type="radio" name="q1" value="C">C. Tokens grow from the middle of the screen.<br> +<input type="radio" name="q1" value="D">D. To collect a token you need to press the space bar while your yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"></img> is on a cell with a token.<br> +<br><br> +<span class='q2'>Q2. Which sequence of situations is not possible?</span><br> +<img src="@CODEBASE_URL@/images/question2.jpg"></img><br> +<input type="radio" name="q2" value="A">A<br> +<input type="radio" name="q2" value="B">B<br> +<input type="radio" name="q2" value="C">C<br> +<input type="submit" name="submit" value="Submit"><br> +</form> +]]> +</entry> +<entry key='quiz-results'> + <![CDATA[ + <h2>Quiz Results</h2> + <hr> + <p> + {if (allCorrect)} + You have answered all the questions correctly and earned <b>{totalQuizEarnings}</b>. + {else} + You answered {numberCorrect} out of {totalQuestions} questions correctly and earned <b>{totalQuizEarnings}</b>. Questions you've answered + incorrectly are highlighted in red. Please see below for more details. + {endif} + </p> + <br><hr> +<form> +<span class='q1'>Q1. Which of these statements is NOT correct?</span><br> + <b>{incorrect_q1} + In this question, "A", "B", and "D" are all true. "C" is false. Tokens only + regenerate when there are other tokens present in their immediately neighboring + cells. They do not spontaneously generate from the middle of the screen. + </b> +<br> +A. Your decisions of where to collect tokens affects the regeneration of tokens.<br> +B. When you have collected all tokens on the screen, no new tokens will appear.<br> +C. Tokens grow from the middle of the screen.<br> +D. To collect a token you need to press the space bar while your yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"></img> is on a cell with a token.<br> +<br> +<span class='q2'>Q2. Which sequence of situations is not possible?</span><br> + <b> + {incorrect_q2} + In this question, sequence "B" is not possible. Tokens cannot regenerate on an empty screen as shown in sequence B. + </b> + <br> +<img src="@CODEBASE_URL@/images/question2.jpg"></img><br> +</form> + ]]> +</entry> +</properties> diff -r d165de49851eed09b332995cee27fd1e45a23fdf -r b4bf8539edffa681ac99aba2b8c1402671d44590 src/main/resources/configuration/asu-experiments/2011/t2/round1.xml --- /dev/null +++ b/src/main/resources/configuration/asu-experiments/2011/t2/round1.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties> +<comment>Foraging XML experiment round configuration</comment> +<entry key="display-group-tokens">true</entry> +<entry key="clients-per-group">5</entry> +<entry key="duration">240</entry> +<entry key="resource-depth">29</entry> +<entry key="resource-width">29</entry> + +<entry key='trust-game'>true</entry> +<entry key='in-round-chat-enabled'>true</entry> +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<entry key="instructions"> +<![CDATA[ +<h1>Round {roundNumber} Instructions</h1> +<hr> +<p> + This is the first round of the experiment. The length of the round is + {duration}. As in the practice round you can collect green tokens but now + you will earn <b>{dollarsPerToken}</b> for each token collected. You + <b>cannot</b> reset the distribution of green tokens. +</p> +<h3>Groups</h3> +<hr> +<p> +In this round the renewable resource will become five times bigger. You will share +this larger environment with four other random players in this room. Each +participant in the room has been randomly assigned to one of several equal-sized +{clientsPerGroup} person groups and everyone in your group has been randomly +assigned a number from 1 to {clientsPerGroup}. You will stay in the same group for +the entire experiment, and each person's number from 1 to {clientsPerGroup} will +remain the same throughout the experiment. The other members of your group will +appear on the screen as blue dots <img src="@CODEBASE_URL@/images/gem-other.gif"> +with a white number embedded in the dot. +</p> +<p> + In each round of the token task, you can see how many tokens each player has + collected at the top right corner of the screen. On the top left corner of the + screen you will see the remaining time in the round. +</p> +<h3>In round chat</h3> +<hr> + <p> + You will be able to communicate with the other participants in your group + <b>during</b> the round. To communicate, hit the enter key, type your + message, and then hit the enter key again. You must hit the enter key + before every message you type, otherwise control will return to the game + screen where you can use the arrow keys to move around. + </p> + +<h3>Anonymity</h3> +<hr> +<p> + Because group membership was randomly assigned by the computer, neither you nor + the experimenter will be able to identify which person in the room has been + assigned to a particular group or number within a group. Your anonymity is + guaranteed. +</p> +<h3>Tokens</h3> +<hr> + <p> + Each group has its own set of token resources. + </p> +<p><b>Do you have any questions so far?</b> If you have any questions at this time, raise your hand and someone will come over to your station and answer it.</p> +]]> +</entry> +</properties> diff -r d165de49851eed09b332995cee27fd1e45a23fdf -r b4bf8539edffa681ac99aba2b8c1402671d44590 src/main/resources/configuration/asu-experiments/2011/t2/round2.xml --- /dev/null +++ b/src/main/resources/configuration/asu-experiments/2011/t2/round2.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties> +<comment>Foraging XML-ized experiment round configuration</comment> +<entry key="display-group-tokens">true</entry> +<entry key="clients-per-group">5</entry> +<entry key="duration">240</entry> +<entry key="resource-depth">29</entry> +<entry key="resource-width">29</entry> +<entry key='in-round-chat-enabled'>true</entry> +<entry key='initial-distribution'>.25</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +</properties> diff -r d165de49851eed09b332995cee27fd1e45a23fdf -r b4bf8539edffa681ac99aba2b8c1402671d44590 src/main/resources/configuration/asu-experiments/2011/t2/round3.xml --- /dev/null +++ b/src/main/resources/configuration/asu-experiments/2011/t2/round3.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties> +<comment>Foraging XML-ized experiment round configuration</comment> +<entry key="display-group-tokens">true</entry> +<entry key="clients-per-group">5</entry> +<entry key="duration">240</entry> +<entry key="resource-depth">29</entry> +<entry key="resource-width">29</entry> +<entry key='in-round-chat-enabled'>true</entry> +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<!-- resource regrowth parameters --> +<entry key="initial-distribution">.25</entry> + + +</properties> diff -r d165de49851eed09b332995cee27fd1e45a23fdf -r b4bf8539edffa681ac99aba2b8c1402671d44590 src/main/resources/configuration/asu-experiments/2011/t2/round4.xml --- /dev/null +++ b/src/main/resources/configuration/asu-experiments/2011/t2/round4.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties> +<comment>Foraging XML-ized experiment round configuration</comment> +<entry key="display-group-tokens">true</entry> +<entry key="clients-per-group">5</entry> +<entry key="resource-depth">29</entry> +<entry key="resource-width">29</entry> +<entry key="duration">240</entry> + +<!-- have a trust game before this round begins --> +<entry key='trust-game'>true</entry> +<!-- enable field of vision for tokens and subjects --> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<entry key="initial-distribution">.25</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round {roundNumber} Instructions</h3> +<hr> +<p> + This round is the same as the previous rounds with one exception. You will no + longer able to communicate with the other participants in your group + <b>during</b> the round. +</p> + +<p> + The length of this round is {duration}. +</p> +<p><b>Do you have any questions?</b> If you have any questions at this time please raise your hand and someone will come over to your station and answer it.</p> +]]> +</entry> +</properties> diff -r d165de49851eed09b332995cee27fd1e45a23fdf -r b4bf8539edffa681ac99aba2b8c1402671d44590 src/main/resources/configuration/asu-experiments/2011/t2/round5.xml --- /dev/null +++ b/src/main/resources/configuration/asu-experiments/2011/t2/round5.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties> +<comment>Foraging XML-ized experiment round configuration</comment> +<entry key="display-group-tokens">true</entry> +<entry key="clients-per-group">5</entry> +<entry key="resource-depth">29</entry> +<entry key="resource-width">29</entry> +<entry key="duration">240</entry> + +<entry key="initial-distribution">.25</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +</properties> diff -r d165de49851eed09b332995cee27fd1e45a23fdf -r b4bf8539edffa681ac99aba2b8c1402671d44590 src/main/resources/configuration/asu-experiments/2011/t2/round6.xml --- /dev/null +++ b/src/main/resources/configuration/asu-experiments/2011/t2/round6.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties> +<comment>Foraging XML-ized experiment round configuration</comment> +<entry key="display-group-tokens">true</entry> +<entry key="clients-per-group">5</entry> +<entry key="resource-depth">29</entry> +<entry key="resource-width">29</entry> +<entry key="duration">240</entry> +<entry key="initial-distribution">.25</entry> +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> +<entry key='trust-game'>true</entry> +</entry> +</properties> diff -r d165de49851eed09b332995cee27fd1e45a23fdf -r b4bf8539edffa681ac99aba2b8c1402671d44590 src/main/resources/configuration/asu-experiments/2011/t2/server.xml --- /dev/null +++ b/src/main/resources/configuration/asu-experiments/2011/t2/server.xml @@ -0,0 +1,247 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties> +<comment>Costly Sanctioning XML-ized experiment round configuration</comment> +<entry key="hostname">@SERVER_ADDRESS@</entry> +<entry key="port">@PORT_NUMBER@</entry> +<entry key="round0">round0.xml</entry> +<entry key="round1">round1.xml</entry> +<entry key="round2">round2.xml</entry> +<entry key="round3">round3.xml</entry> +<entry key="round4">round4.xml</entry> +<entry key="round5">round5.xml</entry> +<entry key="round6">round6.xml</entry> +<entry key="wait-for-participants">true</entry> +<entry key="number-of-rounds">7</entry> +<entry key="facilitator-instructions"> +<![CDATA[ +<p> + This facilitator interface allows you to control the experiment. In general you + will be following a sequence similar to this: + <ol> + <li>Show instructions</li> + <li>Start round</li> + <li>After round is over + <ol> + <li>show trust game if necessary</li> + <li>start standalone chat round if necessary</li> + </ol> + </li> + <li>Goto 1.</li> + </ol> +</p> +]]> +</entry> + +<entry key='field-of-vision-instructions'> +<![CDATA[ +Your vision is limited in this experiment. The area that is visible to you will be +shaded. +]]> +</entry> + +<entry key="welcome-instructions"> +<![CDATA[ +<h1>Welcome</h1> +<hr> +<p> +Welcome to the experiment. The experiment will begin shortly after everyone has been +assigned a station. +<br><br> +Please <b>wait quietly</b> and <b>do not close this window, open any other applications, or communicate with any of the other participants</b>. +</p> +]]> +</entry> + +<entry key="general-instructions"> +<![CDATA[ +<h1>General Instructions</h1> +<hr> +<p> + <b>Welcome</b>. You have already earned {showUpPayment} dollars just for showing up at this experiment. +</p> +<p> +You can earn more, up to a maximum of about 40 dollars, by participating in this +experiment which will take about an hour to an hour and a half. The amount of money +you earn depends on your decisions AND the decisions of other people in this room +over the course of the experiment. +</p> +<h2>How to participate</h2> +<hr> +<p> +You will appear on the screen as a yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"></img>. +You can move by pressing the four arrow keys on your keyboard. +</p> +<p> + You can move up, down, left, or right. You have to press a key for each and + every move of your yellow dot. As you move around you can collect green diamond + shaped tokens <img src="@CODEBASE_URL@/images/gem-token.gif"></img> and earn two + cents for each collected token. To collect a token, move your yellow dot over a + green token and <b>press the space bar</b>. Simply moving your avatar over a + token does NOT collect that token. +</p> + +<h2>Tokens</h2> +<hr> +<p> +The tokens that you collect have the potential to regenerate. After you have +collected a green token, a new token can re-appear on that empty cell. The rate at +which new tokens appear is dependent on the number of adjacent cells with tokens. +The more tokens in the eight cells that surround an empty cell, the faster a new +token will appear on that empty cell. In other words, <b>existing tokens can +generate new tokens</b>. To illustrate this, please refer to Image 1 and Image 2. +The middle cell in Image 1 denoted with an X has a greater chance of regeneration +than the middle cell in Image 2. When all neighboring cells are empty, there is +<b>no chance for regeneration</b>. +</p> +<table width="100%"> +<tr> +<td align="center"><b>Image 1</b></td> +<td align="center"><b>Image 2</b></td> +</tr> +<tr> +<td align="center"> + <img src="@CODEBASE_URL@/images/8neighbors.jpg" alt="image 1"> +</td> +<td align="center"> + <img src="@CODEBASE_URL@/images/5neighbors.jpg" alt="image 2"> +</td> +</tr> +</table> + +<h2>Best Strategy</h2> +<hr> +<p> +The chance that a token will regenerate on an empty cell increases as there are +more tokens surrounding it. Therefore, you want to have as many tokens around an +empty cell as possible. However, you also need empty cells to benefit from this +regrowth. The best arrangement of tokens that maximizes overall regrowth is the +checkerboard diagram shown below. +<br> +<img src="@CODEBASE_URL@/images/foraging-checkerboard.png" alt="Checkerboard Resource"> +</p> +]]> +</entry> + +<entry key='trust-game-instructions'> +<![CDATA[ +<h1>Instructions</h1> +<hr> +<p> + You will now participate in an exercise where you will be matched with a random + person in your group. In this exercise there are two roles, Player 1 and Player 2. + Your job is to design strategies for both Player 1 and Player 2 roles. When you + are randomly paired with another member of your group you may be selected as + Player 1 <b>or</b> Player 2. The results of randomly pairing your strategies + with the other group member's strategies will be shown to you at the <b>end of + the experiment</b>. +</p> + +<h2>How to participate</h2> +<hr> +<ol> + <li>Player 1 will first receive an endowment of one dollar and has to decide <b>how much to keep</b>. The remaining amount is <b>sent to Player 2</b>. + <li>The amount Player 1 sends to Player 2 is tripled by the system and then + given to Player 2. Player 2 must then decide <b>how much to keep</b> and <b>how much to send back to Player 1</b>. +</ol> +<p> +For example, if Player 1 sends 0 cents to Player 2, Player 1 earns 1 dollar and +Player 2 earns 0 cents. However, if Player 1 sends 1 dollar to Player 2, 3 dollars +would be sent to Player 2. Player 2 then decides to return $1.75 back to Player 1. +In this case, Player 1 earns $1.75, and Player 2 earns $1.25. +</p> +<p> +Please fill in the following form to design your strategies as Player 1 or Player 2. +<br> +<b>If you have any questions, please raise your hand. Are there any questions?</b> +</p> +]]> +</entry> + +<entry key="chat-instructions"> +<![CDATA[ +<p> +You can chat with the other participants in your group during this round. +You may discuss any aspect of the experiment with the other participants in your group with two exceptions: +<ol> + <li>You <b>may not promise side-payments after the experiment is completed or threaten anyone with any consequence after the experiment is finished</b>.</li> + <li>You <b>may not reveal your actual identity</b></li> +</ol> +<p> +We are monitoring the chat traffic while you chat. If we detect any violation of the +rules we will have to stop the experiment and remove the offending group from the +room. +</p> +<p> + You will see other participants labeled from 1 to {clientsPerGroup} in the chat + window. You can send a chat message by typing into the textfield and pressing + the enter key. +</p> +]]> +</entry> +<entry key="sameRoundAsPreviousInstructions"> +<![CDATA[ +<h3>Round {roundNumber} Instructions</h3> +<hr> +<p>Round {roundNumber} is the same as the previous round.</p> +<p>The length of this round is {duration}.</p> +<p><b>Do you have any questions?</b> If you have any questions at this time please raise your hand and someone will come over to your station and answer it.</p> +]]> +</entry> +<entry key='facilitator-debriefing'> +<![CDATA[ +<h1>Round {self.roundNumber} results</h1> +<hr> +<table border=1 cellspacing=3 cellpadding=3> +<tr> +<th>Participant</th><th>Current tokens</th><th>Current income</th><th>Quiz earnings</th><th>Trust game earnings</th><th>Total income</th> +</tr> +{clientDataList: {data | +<tr><td>{data.id}</td><td>{data.currentTokens}</td><td>{data.currentIncome}</td><td>{data.quizEarnings}</td><td>{data.trustGameEarnings}</td><td>{data.grandTotalIncome}</td></tr> +}} +</table> +]]> +</entry> +<entry key='client-debriefing'> +<![CDATA[ +<h1>{if (self.practiceRound)}Practice Round{else}Round {self.roundNumber}{endif} Results</h1> +<hr> +<ul> +<li>Tokens collected in this round: {clientData.currentTokens}</li> +<li>Income from tokens collected: {clientData.currentIncome}</li> +<li>Quiz earnings: {clientData.quizEarnings}</li> +<li>Show up payment: {showUpPayment}</li> +</ul> +{if (showExitInstructions && !clientData.trustGameLog.empty) } +<h2>Trust Game Earnings</h2> +<hr> +<ul> +{clientData.trustGameLog: {trustGameLog| +<li>Trust Game #{i}: {trustGameLog}</li> +}} +</ul> +Your total trust game earnings: <b>{clientData.trustGameEarnings}</b>. +{endif} +<h2>Total Income</h2> +<hr> +<p> +Your <b>total income</b> is <b>{clientData.grandTotalIncome}</b>. +</p> +{if (showExitInstructions)} +<h2>Exit Survey</h2> +<hr> +<p> +This was the last round, but not the end of the experiment. We ask that you please carefully fill out a brief survey as we prepare your payments. +</p> +<h2>Payment</h2> +<hr> +<p> +When payments are ready we will call you up one by one. Please wait until your computer number, <b>{clientData.id}</b>, is called to turn in your survey and receive payment. Please answer the survey carefully and thank you for participating. +</p> +{endif} + + + +]]> +</entry> +</properties> Repository URL: https://bitbucket.org/virtualcommons/foraging/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. |