virtualcommons-svn Mailing List for Virtual Commons Experiment Software (Page 25)
Status: Beta
Brought to you by:
alllee
You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(21) |
Aug
(31) |
Sep
(6) |
Oct
(15) |
Nov
(2) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(4) |
Feb
(6) |
Mar
(12) |
Apr
(52) |
May
(14) |
Jun
(19) |
Jul
(81) |
Aug
(115) |
Sep
(36) |
Oct
(88) |
Nov
(46) |
Dec
(58) |
2010 |
Jan
(52) |
Feb
(55) |
Mar
(48) |
Apr
(15) |
May
(5) |
Jun
(38) |
Jul
(27) |
Aug
(24) |
Sep
(28) |
Oct
(1) |
Nov
(2) |
Dec
(29) |
2011 |
Jan
(87) |
Feb
(39) |
Mar
(63) |
Apr
(42) |
May
(26) |
Jun
(53) |
Jul
(23) |
Aug
(43) |
Sep
(37) |
Oct
(25) |
Nov
(4) |
Dec
(7) |
2012 |
Jan
(73) |
Feb
(79) |
Mar
(62) |
Apr
(28) |
May
(12) |
Jun
(2) |
Jul
(9) |
Aug
(1) |
Sep
(8) |
Oct
|
Nov
(3) |
Dec
(3) |
2013 |
Jan
(8) |
Feb
(16) |
Mar
(38) |
Apr
(74) |
May
(62) |
Jun
(15) |
Jul
(49) |
Aug
(19) |
Sep
(9) |
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(25) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Bitbucket <com...@bi...> - 2011-12-06 08:10:23
|
1 new commit in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/7065b38e2c9c/ changeset: 7065b38e2c9c user: alllee date: 2011-12-06 01:45:52 summary: adding chat duration to chat instructions template affected #: 4 files diff -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 -r 7065b38e2c9c054b0517b14b6f571fdaa3bf7f3b src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java --- a/src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java +++ b/src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.Map; import java.util.Properties; +import java.util.concurrent.TimeUnit; import org.stringtemplate.v4.ST; @@ -303,14 +304,19 @@ } public String getChatInstructions() { - return getProperty("chat-instructions"); + ST template = createStringTemplate(getProperty("chat-instructions")); + template.add("chatDuration", inMinutes(getChatDuration()) + " minutes"); + return template.render(); + } + + public long inMinutes(long seconds) { + return TimeUnit.MINUTES.convert(seconds, TimeUnit.SECONDS); } public String getRegulationInstructions() { return getProperty("regulation-instructions"); } - public String getLastRoundDebriefing() { return getProperty("last-round-debriefing"); } diff -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 -r 7065b38e2c9c054b0517b14b6f571fdaa3bf7f3b src/main/java/edu/asu/commons/foraging/ui/GridView.java --- a/src/main/java/edu/asu/commons/foraging/ui/GridView.java +++ b/src/main/java/edu/asu/commons/foraging/ui/GridView.java @@ -18,10 +18,10 @@ import edu.asu.commons.util.ResourceLoader; /** - * $Id: GridView.java 475 2010-02-24 00:39:44Z alllee $ + * $Id$ * * @author Allen Lee - * @version $Revision: 475 $ + * @version $Revision$ * * Superclass for experimenter and subject views of the simulation world. */ @@ -38,7 +38,7 @@ scaledSelfExplicitCollectionModeImage, scaledBeingSanctionedImage, scaledSanctioningImage, scaledMonitorImage; /** - * Use these for the dimensions when drawing. + * Represents the width and height of a grid cell, respectively. */ protected double dw, dh; diff -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 -r 7065b38e2c9c054b0517b14b6f571fdaa3bf7f3b src/main/java/edu/asu/commons/foraging/ui/SubjectView.java --- a/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java +++ b/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java @@ -21,7 +21,7 @@ /** - * $Id: SubjectView.java 484 2010-03-09 00:42:46Z dbarge $ + * $Id$ * <p> * This class encapsulates the client's view of the game board. Used by the * ForagerGameWindow to render the current state of the game. @@ -32,7 +32,7 @@ * * * @author Allen Lee - * @version $Revision: 484 $ + * @version $Revision$ * */ public class SubjectView extends GridView { @@ -86,6 +86,7 @@ if (subjectFieldOfVision) { viewSubjectsRadius = configuration.getViewSubjectsRadius(); viewSubjectsField = new Circle(dataModel.getCurrentPosition(), viewSubjectsRadius); + // FIXME: get rid of these magic numbers and figure out how to adjust it properly. fieldOfVisionXOffset = (dw / 3.0d); fieldOfVisionYOffset = (dh / 3.0d); } @@ -159,8 +160,8 @@ viewSubjectsField.setCenter(currentPosition); Point topLeftCorner = new Point(currentPosition.x - radius, currentPosition.y - radius); // for some reason - double x = Math.ceil(scaleXDouble(topLeftCorner.x) + fieldOfVisionXOffset); - double y = Math.ceil(scaleYDouble(topLeftCorner.y) + fieldOfVisionYOffset); + double x = scaleXDouble(topLeftCorner.x) + fieldOfVisionXOffset; + double y = scaleYDouble(topLeftCorner.y) + fieldOfVisionYOffset; double diameter = radius * 2.0d; diameter = Math.min(scaleXDouble(diameter), scaleYDouble(diameter)) + (dw * 0.85); Ellipse2D.Double circle = new Ellipse2D.Double(x, y, diameter, diameter); diff -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 -r 7065b38e2c9c054b0517b14b6f571fdaa3bf7f3b src/main/resources/configuration/stockholm/censored-chat/round4.xml --- a/src/main/resources/configuration/stockholm/censored-chat/round4.xml +++ b/src/main/resources/configuration/stockholm/censored-chat/round4.xml @@ -16,8 +16,6 @@ <entry key='max-cell-occupancy'>1</entry><!-- before this round begins, we have a chat session --> -<entry key="chat-enabled">true</entry> - <entry key='censored-chat-enabled'>true</entry><entry key='chat-enabled'>true</entry> 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. |
From: Bitbucket <com...@bi...> - 2011-12-05 20:51:47
|
3 new commits in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/25dadd4ce11a/ changeset: 25dadd4ce11a user: alllee date: 2011-12-01 01:53:11 summary: adding chat instructions to in round chat panel, chat messages still not displaying in standalone. affected #: 2 files diff -r e68a44ef1fbb46a45a5cb5fc018598c562e061e8 -r 25dadd4ce11a6137e1f37078142dc72690ebeb51 src/main/java/edu/asu/commons/foraging/ui/ChatPanel.java --- a/src/main/java/edu/asu/commons/foraging/ui/ChatPanel.java +++ b/src/main/java/edu/asu/commons/foraging/ui/ChatPanel.java @@ -2,6 +2,7 @@ import java.awt.BorderLayout; import java.awt.Color; +import java.awt.Dimension; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.KeyAdapter; @@ -66,8 +67,10 @@ setName("Chat panel"); if (! isInRoundChat) { JEditorPane instructionsEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); - - + JScrollPane instructionsScrollPane = new JScrollPane(instructionsEditorPane); + instructionsEditorPane.setText(client.getCurrentRoundConfiguration().getChatInstructions()); + instructionsScrollPane.setPreferredSize(new Dimension(300, 300)); + add(instructionsScrollPane, BorderLayout.EAST); } messagesEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); messageScrollPane = new JScrollPane(messagesEditorPane); diff -r e68a44ef1fbb46a45a5cb5fc018598c562e061e8 -r 25dadd4ce11a6137e1f37078142dc72690ebeb51 src/main/resources/configuration/asu-experiments/censored-chat/server.xml --- a/src/main/resources/configuration/asu-experiments/censored-chat/server.xml +++ b/src/main/resources/configuration/asu-experiments/censored-chat/server.xml @@ -28,6 +28,34 @@ ]]></entry> +<entry key='censored-chat-instructions'> +<![CDATA[ +<p> +Your messages must first be approved before they will be relayed to the rest of your group. +</p> +]]> +</entry> + +<entry key="chat-instructions"> +<![CDATA[ +<p> +You can now chat with the other participants in your group for 4 minutes +total. During the chat round, you may communicate about any aspect of the +experiment that you would like to discuss with other participants with whom +you have been matched. You may not promise them side-payments after the +experiment is completed or threaten them with any consequence after the +experiment is finished. We are monitoring the chat traffic while you chat. If we +detect any violation of these rules, we will stop the experiment and remove the +offending group from the room. +</p> +<p> +You will see other participants labeled as "1", "2","3", "4", or "5" in the +chat box. You can send a chat message by typing into the textfield at the +bottom of the screen and pressing the "enter" key on your keyboard. +</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 https://bitbucket.org/virtualcommons/foraging/changeset/1c85c2e199da/ changeset: 1c85c2e199da user: alllee date: 2011-12-05 21:51:11 summary: cleaning up configuration, templatizing where appropriate affected #: 180 files Diff too large to display. https://bitbucket.org/virtualcommons/foraging/changeset/a5f45da2f0b4/ changeset: a5f45da2f0b4 user: alllee date: 2011-12-05 21:51:31 summary: more configuration cleanup affected #: 16 files diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/asu-experiments/censored-chat/round0.xml --- a/src/main/resources/configuration/asu-experiments/censored-chat/round0.xml +++ /dev/null @@ -1,69 +0,0 @@ -<?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='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="quiz">true</entry> -<entry key="q1">C</entry> -<entry key="q2">B</entry> - -<entry key='instructions'> -<![CDATA[ -<h3>Practice Round Instructions</h3> -<hr> -<p> -You will now have four minutes to practice with the experimental environment. -The decisions you make in this round will NOT influence your earnings. At the -At the beginning of the practice round half of the cells are occupied -with green tokens. The environment is a 13 x 13 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 resource to its initial distribution, -randomly filling half of the cells. -</p> -<p><b> Please do not communicate with any other participant.</b></p> -<p>If you have any questions please raise your hand. <b>Do you have any -questions so far?</b></p> -]]> -</entry> - -<entry key="quiz-instructions"> -<![CDATA[ -<p> -Before we begin the practice round you need to answer the following questions -correctly. You can only continue when you have answered all questions -correctly. If an error is made you will need to answer the questions again. -</p> -<br> -<form> -<span class='q1'>Q1. Which of the statements is <b><u>incorrect</u></b>?</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. In order to collect a token you need -to press the space bar while your yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"> is on a cell with a token.<br> -<br><br> - -<span class='q2'>Q2. Which sequence of situations is <b><u>not possible</u></b>?</span><br> -<img src="@CODEBASE_URL@/images/question2.jpg"><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> -<br> -<input type="submit" name="submit" value="Submit"> -</form> -]]> -</entry> - -</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/asu-experiments/censored-chat/round1.xml --- a/src/main/resources/configuration/asu-experiments/censored-chat/round1.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?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='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 1 Instructions</h3> -<hr> -<p> -This is the first round of the experiment. The length of the round is 4 -minutes. As in the practice round you can collect green tokens but now -you will earn <b>two cents</b> for each token collected. You <b>cannot</b> -reset the distribution of green tokens. -</p> -<p> -In this round the renewable resource will become five times bigger. You will share this -larger environment with four other players in this room that have been randomly -selected. Each group's resource environment is distinct from the other groups. -</p> -<p> -Each of you has been assigned a number from 1 to 5. These numbers will remain the -same throughout the experiment but you will <b>not</b> be able to identify which -person in the room has been assigned which number, so your anonymity is guaranteed. -</p> - -<p> -The other four players will appear on the screen as blue dots -<img src="@CODEBASE_URL@/images/gem-other.gif"> with a white -number embedded in the dot. On the top right corner of the screen you can see -how many tokens each player has collected. On the top left corner of the screen you can see -a clock that displays the remaining time in the round.</p> -<p>Since you can only see the resource within your vision you may neither see all -the other participants nor all the resource units. The figure below indicates the -vision range compared to the whole environment</p> -<img src="@CODEBASE_URL@/images/vision-range.jpg"> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/asu-experiments/censored-chat/round2.xml --- a/src/main/resources/configuration/asu-experiments/censored-chat/round2.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?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> - -<!-- enable field of vision for tokens and subjects --> -<entry key='initial-distribution'>.25</entry> - -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 2 Instructions</h3> -<hr> -<p> -Round 2 is the same as round 1. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/asu-experiments/censored-chat/round3.xml --- a/src/main/resources/configuration/asu-experiments/censored-chat/round3.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?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> - -<!-- enable field of vision for tokens and subjects --> -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key='censored-chat-enabled'>true</entry> -<entry key='chat-enabled'>true</entry> - -<!-- resource regrowth parameters --> -<entry key="initial-distribution">.25</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 3 Instructions</h3> -<hr> -<p> -Round 3 is the same as round 2. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/asu-experiments/censored-chat/round4.xml --- a/src/main/resources/configuration/asu-experiments/censored-chat/round4.xml +++ /dev/null @@ -1,135 +0,0 @@ -<?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> - -<!-- enable field of vision for tokens and subjects --> -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<!-- before this round begins, we have a chat session --> -<entry key="chat-enabled">true</entry> - -<entry key='censored-chat-enabled'>true</entry> -<entry key='chat-enabled'>true</entry> - -<!-- enable sanctioning --> -<entry key="sanction-type">real-time</entry> -<entry key="sanction-cost">1</entry> -<entry key="sanction-multiplier">2</entry> - - -<entry key="initial-distribution">.25</entry> - -<!-- enable quiz --> -<entry key='quiz'>true</entry> -<entry key='q1'>B</entry> -<entry key='q2'>C</entry> -<entry key='q3'>B</entry> -<entry key='q4'>B</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 4 Instructions</h3> -<hr> -<p> -Round 4 is the same as the previous two rounds with two exceptions. -</p> -<p> -Before the next round starts you can anonymously communicate by text messages -for four minutes with the other participants in your group. You can use this -opportunity to discuss the experiment and coordinate your actions to improve -your earnings. You may not promise side-payments after the experiment is -completed or make any threats. You are also not allowed to reveal your real -identity. We are monitoring the chat traffic while you chat. -</p> -<p> -During the next round you will have the option to reduce the earnings of another -participant at a cost to your own earnings. -</p> -<ul> -<li>If you press the numeric key 1-5 corresponding to another participant, you -will reduce the number of tokens they have collected in this round by two -tokens. This will also reduce your own token amount by one token. The decision -whether or when to use this option is up to you. -<li>When you reduce the number of tokens of another participant, they will -receive a message stating that you have reduced their tokens. Likewise, if -another participant reduces your number of tokens, you will also receive a -message. These messages will be displayed on the bottom of your screen. -<li>If your tokens are being reduced or you are reducing another participant's -tokens, you will receive some visual cues. When you are sanctioned your yellow dot will turn red briefly with a blue background. The participant sanctioning you will turn purple with a white background. -<li>You may sanction other participants as long as there are -tokens remaining on the screen and while both you and the other participant -have a positive number of tokens collected during the round. <b>Each time</b> -you press the numeric key corresponding to another participant your token -amount is reduced by <b>one</b>, and their token amount is reduced by -<b>two</b>. <b>Note:</b> You can only remove tokens from a participant that is -visible to you. -</ul> -<p> - -<p> -The length of this round is four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> - -<entry key="quiz-instructions"> -<![CDATA[ -<p>Before the next round begins you must complete the quiz below. You can -only continue when you have answered all questions correctly. If an error is -made you will need to answer the questions again. -</p> - -<form> -<span class='q1'>Q1. Each time I press the numeric keys between 1-5 my tokens will be reduced -by:</span><br> -<input type="radio" name="q1" value="A">A. 0 tokens<br> -<input type="radio" name="q1" value="B">B. 1 token<br> -<input type="radio" name="q1" value="C">C. 2 tokens<br> -<input type="radio" name="q1" value="D">D. 4 tokens<br> -<br><br> - -<span class='q2'>Q2. Each time I press the numeric keys between 1-5 the number of tokens of the -corresponding participant is reduced by:</span><br> -<input type="radio" name="q2" value="A">A. 0 tokens<br> -<input type="radio" name="q2" value="B">B. 1 token<br> -<input type="radio" name="q2" value="C">C. 2 tokens<br> -<input type="radio" name="q2" value="D">D. 4 tokens<br> -<br><br> - -<span class='q3'>Q3. The background of your yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"> turns blue. What does this represent?</span><br> -<input type="radio" name="q3" value="A">A. You collected a token<br> -<input type="radio" name="q3" value="B">B. Another participant is subtracting two -tokens from you<br> -<input type="radio" name="q3" value="C">C. You are subtracting two tokens from another -participant<br> -<input type="radio" name="q3" value="D">D. You are moving too fast<br> -<br><br> - -<span class='q4'>Q4. Every time I press the numeric keys between 1-5:</span><br> -<input type="radio" name="q4" value="A">A. Two tokens are subtracted from my tokens -collected this round<br> -<input type="radio" name="q4" value="B">B. One token is subtracted from my tokens -collected this round<br> -<input type="radio" name="q4" value="C">C. The background of my yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"> turns blue -momentarily<br> -<input type="radio" name="q4" value="D">D. My yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"> is paused for two seconds<br> - -<input type="submit" name="submit" value="Submit"> -</form> -]]> -</entry> -</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/asu-experiments/censored-chat/round5.xml --- a/src/main/resources/configuration/asu-experiments/censored-chat/round5.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?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> - -<!-- enable field of vision for tokens and subjects --> -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<!-- enable sanctioning --> -<entry key="sanction-type">real-time</entry> -<entry key="sanction-cost">1</entry> -<entry key="sanction-multiplier">2</entry> - -<entry key="initial-distribution">.25</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<!-- enable censored chat session before this round --> -<entry key='censored-chat-enabled'>true</entry> -<entry key='chat-enabled'>true</entry> - -<entry key="chat-enabled">true</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 5 Instructions</h3> -<hr> -<p> -Round 5 is the same as round 4.</p> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/asu-experiments/censored-chat/round6.xml --- a/src/main/resources/configuration/asu-experiments/censored-chat/round6.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?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="resource-depth">29</entry> -<entry key="resource-width">29</entry> -<entry key="duration">240</entry> - -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> -<!-- enable sanctioning --> -<entry key="sanction-type">real-time</entry> -<entry key="sanction-cost">1</entry> -<entry key="sanction-multiplier">2</entry> - -<entry key="initial-distribution">.25</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<!-- before this round begins, we have a chat session --> -<entry key='censored-chat-enabled'>true</entry> -<entry key='chat-enabled'>true</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 6 Instructions</h3> -<hr> -<p> -Round 6 is the same as round 5.</p> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> - -<entry key="last-round-debriefing"> -<![CDATA[ -<p> -This was the last round, but not the end of the experiment. We will now -determine your payments. While we are doing this, we request that you -carefully fill out a brief survey. -</p> -<p> -When we are ready we will call you one by one to the room next door. We will -pay you there in private. Please wait until your computer number is called, -and then proceed to the room next door to turn in your computer number and -your survey. -</p> -<p> -Please answer the survey carefully and thank you for participating. -</p> -]]> -</entry> -</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/asu-experiments/censored-chat/server.xml --- a/src/main/resources/configuration/asu-experiments/censored-chat/server.xml +++ /dev/null @@ -1,131 +0,0 @@ -<?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[ -<h3>Facilitator Instructions</h3> -<p> -Welcome to the facilitator interface. This interface allows you to control -the experiment. You may only modify configuration parameters <b>before</b> -you start the experiment by selecting the Configuration menu. When all the -participants are ready to begin the experiment, you can start the experiment -by selecting Experiment -> Start. After a round has been completed you -will be able to view the statistics for all of the participants. You can -begin the next round by selecting Round -> Start. -</p> -]]> -</entry> - -<entry key='censored-chat-enabled'>true</entry> -<entry key='censored-chat-instructions'> -<![CDATA[ -<p> -Your messages must first be approved before they will be relayed to the rest of your group. -</p> -]]> -</entry> - -<entry key="chat-instructions"> -<![CDATA[ -<p> - You can now chat with the other participants in your group for {chatDuration} minutes -total. During the chat round, you may communicate about any aspect of the -experiment that you would like to discuss with other participants with whom -you have been matched. You may not promise them side-payments after the -experiment is completed or threaten them with any consequence after the -experiment is finished. We are monitoring the chat traffic while you chat. If we -detect any violation of these rules, we will stop the experiment and remove the -offending group from the room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the -chat box. You can send a chat message by typing into the textfield at the -bottom of the screen and pressing the "enter" key on your keyboard. -</p> -<p> - NOTE: Your messages must first be approved before they will be relayed to the - rest of your group. -</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[ -<h3>Welcome to the experiment. The experiment will begin shortly after everyone has been -assigned a station.</h3> -<p> -Please <b>wait quietly</b> and <b>do not close this window or open any other applications</b>. -</p> -]]> -</entry> - -<entry key="general-instructions"> -<![CDATA[ -<h3>General Instructions</h3> -<p> -Welcome. You have already earned 5 dollars by showing up at this experiment. You can -earn more, up to a maximum of 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 as well as the decisions of other people in this room during the -six rounds of the experiment. -</p> -<p> -You appear on the screen as a yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif">. -You move by pressing the four arrow keys on your keyboard. You can move up, down, -left, or right. You have to press a key for each and every move of your yellow dot. -In this experiment you can collect green diamond shaped tokens -<img src="@CODEBASE_URL@/images/gem-token.gif"> and earn two cents for each collected token. -To collect a token, move your yellow dot over a green token and press the <b>space -bar</b>. If you move over a token without pressing the <b>space bar</> you do NOT -collect that token. -</p> - -<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. -However, the rate at which new tokens will appear depends on the number of -adjacent cells with tokens. The more tokens in the eight cells around -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>. - -<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> -]]> -</entry> - - -</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/stockholm/censored-chat/round0.xml --- /dev/null +++ b/src/main/resources/configuration/stockholm/censored-chat/round0.xml @@ -0,0 +1,69 @@ +<?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='tokens-field-of-vision'>true</entry> +<entry key='subjects-field-of-vision'>true</entry> + +<entry key="quiz">true</entry> +<entry key="q1">C</entry> +<entry key="q2">B</entry> + +<entry key='instructions'> +<![CDATA[ +<h3>Practice Round Instructions</h3> +<hr> +<p> +You will now have four minutes to practice with the experimental environment. +The decisions you make in this round will NOT influence your earnings. At the +At the beginning of the practice round half of the cells are occupied +with green tokens. The environment is a 13 x 13 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 resource to its initial distribution, +randomly filling half of the cells. +</p> +<p><b> Please do not communicate with any other participant.</b></p> +<p>If you have any questions please raise your hand. <b>Do you have any +questions so far?</b></p> +]]> +</entry> + +<entry key="quiz-instructions"> +<![CDATA[ +<p> +Before we begin the practice round you need to answer the following questions +correctly. You can only continue when you have answered all questions +correctly. If an error is made you will need to answer the questions again. +</p> +<br> +<form> +<span class='q1'>Q1. Which of the statements is <b><u>incorrect</u></b>?</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. In order to collect a token you need +to press the space bar while your yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"> is on a cell with a token.<br> +<br><br> + +<span class='q2'>Q2. Which sequence of situations is <b><u>not possible</u></b>?</span><br> +<img src="@CODEBASE_URL@/images/question2.jpg"><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> +<br> +<input type="submit" name="submit" value="Submit"> +</form> +]]> +</entry> + +</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/stockholm/censored-chat/round1.xml --- /dev/null +++ b/src/main/resources/configuration/stockholm/censored-chat/round1.xml @@ -0,0 +1,54 @@ +<?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='tokens-field-of-vision'>true</entry> +<entry key='subjects-field-of-vision'>true</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round 1 Instructions</h3> +<hr> +<p> +This is the first round of the experiment. The length of the round is 4 +minutes. As in the practice round you can collect green tokens but now +you will earn <b>two cents</b> for each token collected. You <b>cannot</b> +reset the distribution of green tokens. +</p> +<p> +In this round the renewable resource will become five times bigger. You will share this +larger environment with four other players in this room that have been randomly +selected. Each group's resource environment is distinct from the other groups. +</p> +<p> +Each of you has been assigned a number from 1 to 5. These numbers will remain the +same throughout the experiment but you will <b>not</b> be able to identify which +person in the room has been assigned which number, so your anonymity is guaranteed. +</p> + +<p> +The other four players will appear on the screen as blue dots +<img src="@CODEBASE_URL@/images/gem-other.gif"> with a white +number embedded in the dot. On the top right corner of the screen you can see +how many tokens each player has collected. On the top left corner of the screen you can see +a clock that displays the remaining time in the round.</p> +<p>Since you can only see the resource within your vision you may neither see all +the other participants nor all the resource units. The figure below indicates the +vision range compared to the whole environment</p> +<img src="@CODEBASE_URL@/images/vision-range.jpg"> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/stockholm/censored-chat/round2.xml --- /dev/null +++ b/src/main/resources/configuration/stockholm/censored-chat/round2.xml @@ -0,0 +1,33 @@ +<?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> + +<!-- enable field of vision for tokens and subjects --> +<entry key='initial-distribution'>.25</entry> + +<entry key='tokens-field-of-vision'>true</entry> +<entry key='subjects-field-of-vision'>true</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round 2 Instructions</h3> +<hr> +<p> +Round 2 is the same as round 1. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/stockholm/censored-chat/round3.xml --- /dev/null +++ b/src/main/resources/configuration/stockholm/censored-chat/round3.xml @@ -0,0 +1,37 @@ +<?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> + +<!-- enable field of vision for tokens and subjects --> +<entry key='tokens-field-of-vision'>true</entry> +<entry key='subjects-field-of-vision'>true</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<entry key='censored-chat-enabled'>true</entry> +<entry key='chat-enabled'>true</entry> + +<!-- resource regrowth parameters --> +<entry key="initial-distribution">.25</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round 3 Instructions</h3> +<hr> +<p> +Round 3 is the same as round 2. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/stockholm/censored-chat/round4.xml --- /dev/null +++ b/src/main/resources/configuration/stockholm/censored-chat/round4.xml @@ -0,0 +1,135 @@ +<?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> + +<!-- enable field of vision for tokens and subjects --> +<entry key='tokens-field-of-vision'>true</entry> +<entry key='subjects-field-of-vision'>true</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<!-- before this round begins, we have a chat session --> +<entry key="chat-enabled">true</entry> + +<entry key='censored-chat-enabled'>true</entry> +<entry key='chat-enabled'>true</entry> + +<!-- enable sanctioning --> +<entry key="sanction-type">real-time</entry> +<entry key="sanction-cost">1</entry> +<entry key="sanction-multiplier">2</entry> + + +<entry key="initial-distribution">.25</entry> + +<!-- enable quiz --> +<entry key='quiz'>true</entry> +<entry key='q1'>B</entry> +<entry key='q2'>C</entry> +<entry key='q3'>B</entry> +<entry key='q4'>B</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round 4 Instructions</h3> +<hr> +<p> +Round 4 is the same as the previous two rounds with two exceptions. +</p> +<p> +Before the next round starts you can anonymously communicate by text messages +for four minutes with the other participants in your group. You can use this +opportunity to discuss the experiment and coordinate your actions to improve +your earnings. You may not promise side-payments after the experiment is +completed or make any threats. You are also not allowed to reveal your real +identity. We are monitoring the chat traffic while you chat. +</p> +<p> +During the next round you will have the option to reduce the earnings of another +participant at a cost to your own earnings. +</p> +<ul> +<li>If you press the numeric key 1-5 corresponding to another participant, you +will reduce the number of tokens they have collected in this round by two +tokens. This will also reduce your own token amount by one token. The decision +whether or when to use this option is up to you. +<li>When you reduce the number of tokens of another participant, they will +receive a message stating that you have reduced their tokens. Likewise, if +another participant reduces your number of tokens, you will also receive a +message. These messages will be displayed on the bottom of your screen. +<li>If your tokens are being reduced or you are reducing another participant's +tokens, you will receive some visual cues. When you are sanctioned your yellow dot will turn red briefly with a blue background. The participant sanctioning you will turn purple with a white background. +<li>You may sanction other participants as long as there are +tokens remaining on the screen and while both you and the other participant +have a positive number of tokens collected during the round. <b>Each time</b> +you press the numeric key corresponding to another participant your token +amount is reduced by <b>one</b>, and their token amount is reduced by +<b>two</b>. <b>Note:</b> You can only remove tokens from a participant that is +visible to you. +</ul> +<p> + +<p> +The length of this round is four minutes. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> + +<entry key="quiz-instructions"> +<![CDATA[ +<p>Before the next round begins you must complete the quiz below. You can +only continue when you have answered all questions correctly. If an error is +made you will need to answer the questions again. +</p> + +<form> +<span class='q1'>Q1. Each time I press the numeric keys between 1-5 my tokens will be reduced +by:</span><br> +<input type="radio" name="q1" value="A">A. 0 tokens<br> +<input type="radio" name="q1" value="B">B. 1 token<br> +<input type="radio" name="q1" value="C">C. 2 tokens<br> +<input type="radio" name="q1" value="D">D. 4 tokens<br> +<br><br> + +<span class='q2'>Q2. Each time I press the numeric keys between 1-5 the number of tokens of the +corresponding participant is reduced by:</span><br> +<input type="radio" name="q2" value="A">A. 0 tokens<br> +<input type="radio" name="q2" value="B">B. 1 token<br> +<input type="radio" name="q2" value="C">C. 2 tokens<br> +<input type="radio" name="q2" value="D">D. 4 tokens<br> +<br><br> + +<span class='q3'>Q3. The background of your yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"> turns blue. What does this represent?</span><br> +<input type="radio" name="q3" value="A">A. You collected a token<br> +<input type="radio" name="q3" value="B">B. Another participant is subtracting two +tokens from you<br> +<input type="radio" name="q3" value="C">C. You are subtracting two tokens from another +participant<br> +<input type="radio" name="q3" value="D">D. You are moving too fast<br> +<br><br> + +<span class='q4'>Q4. Every time I press the numeric keys between 1-5:</span><br> +<input type="radio" name="q4" value="A">A. Two tokens are subtracted from my tokens +collected this round<br> +<input type="radio" name="q4" value="B">B. One token is subtracted from my tokens +collected this round<br> +<input type="radio" name="q4" value="C">C. The background of my yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"> turns blue +momentarily<br> +<input type="radio" name="q4" value="D">D. My yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"> is paused for two seconds<br> + +<input type="submit" name="submit" value="Submit"> +</form> +]]> +</entry> +</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/stockholm/censored-chat/round5.xml --- /dev/null +++ b/src/main/resources/configuration/stockholm/censored-chat/round5.xml @@ -0,0 +1,46 @@ +<?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> + +<!-- enable field of vision for tokens and subjects --> +<entry key='tokens-field-of-vision'>true</entry> +<entry key='subjects-field-of-vision'>true</entry> + +<!-- enable sanctioning --> +<entry key="sanction-type">real-time</entry> +<entry key="sanction-cost">1</entry> +<entry key="sanction-multiplier">2</entry> + +<entry key="initial-distribution">.25</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<!-- enable censored chat session before this round --> +<entry key='censored-chat-enabled'>true</entry> +<entry key='chat-enabled'>true</entry> + +<entry key="chat-enabled">true</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round 5 Instructions</h3> +<hr> +<p> +Round 5 is the same as round 4.</p> +<p> +The length of this round is again four minutes. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/stockholm/censored-chat/round6.xml --- /dev/null +++ b/src/main/resources/configuration/stockholm/censored-chat/round6.xml @@ -0,0 +1,61 @@ +<?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="resource-depth">29</entry> +<entry key="resource-width">29</entry> +<entry key="duration">240</entry> + +<entry key='tokens-field-of-vision'>true</entry> +<entry key='subjects-field-of-vision'>true</entry> +<!-- enable sanctioning --> +<entry key="sanction-type">real-time</entry> +<entry key="sanction-cost">1</entry> +<entry key="sanction-multiplier">2</entry> + +<entry key="initial-distribution">.25</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<!-- before this round begins, we have a chat session --> +<entry key='censored-chat-enabled'>true</entry> +<entry key='chat-enabled'>true</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round 6 Instructions</h3> +<hr> +<p> +Round 6 is the same as round 5.</p> +<p> +The length of this round is again four minutes. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> + +<entry key="last-round-debriefing"> +<![CDATA[ +<p> +This was the last round, but not the end of the experiment. We will now +determine your payments. While we are doing this, we request that you +carefully fill out a brief survey. +</p> +<p> +When we are ready we will call you one by one to the room next door. We will +pay you there in private. Please wait until your computer number is called, +and then proceed to the room next door to turn in your computer number and +your survey. +</p> +<p> +Please answer the survey carefully and thank you for participating. +</p> +]]> +</entry> +</properties> diff -r 1c85c2e199da3d9e5f8f86410c7d33b64094744f -r a5f45da2f0b4f37c7ea8baeb8bb29736f6094d13 src/main/resources/configuration/stockholm/censored-chat/server.xml --- /dev/null +++ b/src/main/resources/configuration/stockholm/censored-chat/server.xml @@ -0,0 +1,131 @@ +<?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[ +<h3>Facilitator Instructions</h3> +<p> +Welcome to the facilitator interface. This interface allows you to control +the experiment. You may only modify configuration parameters <b>before</b> +you start the experiment by selecting the Configuration menu. When all the +participants are ready to begin the experiment, you can start the experiment +by selecting Experiment -> Start. After a round has been completed you +will be able to view the statistics for all of the participants. You can +begin the next round by selecting Round -> Start. +</p> +]]> +</entry> + +<entry key='censored-chat-enabled'>true</entry> +<entry key='censored-chat-instructions'> +<![CDATA[ +<p> +Your messages must first be approved before they will be relayed to the rest of your group. +</p> +]]> +</entry> + +<entry key="chat-instructions"> +<![CDATA[ +<p> + You can now chat with the other participants in your group for {chatDuration} minutes +total. During the chat round, you may communicate about any aspect of the +experiment that you would like to discuss with other participants with whom +you have been matched. You may not promise them side-payments after the +experiment is completed or threaten them with any consequence after the +experiment is finished. We are monitoring the chat traffic while you chat. If we +detect any violation of these rules, we will stop the experiment and remove the +offending group from the room. +</p> +<p> +You will see other participants labeled as "1", "2","3", "4", or "5" in the +chat box. You can send a chat message by typing into the textfield at the +bottom of the screen and pressing the "enter" key on your keyboard. +</p> +<p> + NOTE: Your messages must first be approved before they will be relayed to the + rest of your group. +</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[ +<h3>Welcome to the experiment. The experiment will begin shortly after everyone has been +assigned a station.</h3> +<p> +Please <b>wait quietly</b> and <b>do not close this window or open any other applications</b>. +</p> +]]> +</entry> + +<entry key="general-instructions"> +<![CDATA[ +<h3>General Instructions</h3> +<p> +Welcome. You have already earned 5 dollars by showing up at this experiment. You can +earn more, up to a maximum of 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 as well as the decisions of other people in this room during the +six rounds of the experiment. +</p> +<p> +You appear on the screen as a yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif">. +You move by pressing the four arrow keys on your keyboard. You can move up, down, +left, or right. You have to press a key for each and every move of your yellow dot. +In this experiment you can collect green diamond shaped tokens +<img src="@CODEBASE_URL@/images/gem-token.gif"> and earn two cents for each collected token. +To collect a token, move your yellow dot over a green token and press the <b>space +bar</b>. If you move over a token without pressing the <b>space bar</> you do NOT +collect that token. +</p> + +<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. +However, the rate at which new tokens will appear depends on the number of +adjacent cells with tokens. The more tokens in the eight cells around +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>. + +<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> +]]> +</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. |
From: Bitbucket <com...@bi...> - 2011-12-01 00:11:51
|
1 new commit in irrigation: https://bitbucket.org/virtualcommons/irrigation/changeset/d18a78a711e3/ changeset: d18a78a711e3 user: alllee date: 2011-12-01 01:11:41 summary: refactoring user interface usage, removing redundant IrrigationInterface affected #: 4 files diff -r dbc24ef0382eabd350f6bb8005034d83b4874d58 -r d18a78a711e32ba2717276c77f347008054b3060 .hgignore --- a/.hgignore +++ b/.hgignore @@ -1,8 +1,13 @@ syntax:glob +src/main/resources/configuration/*.xml +tags *~ +manifest.mf +.settings/* target *.jar +data/* experiment-data/* build.properties *.log diff -r dbc24ef0382eabd350f6bb8005034d83b4874d58 -r d18a78a711e32ba2717276c77f347008054b3060 src/main/java/edu/asu/commons/irrigation/client/ExperimentGameWindow.java --- a/src/main/java/edu/asu/commons/irrigation/client/ExperimentGameWindow.java +++ b/src/main/java/edu/asu/commons/irrigation/client/ExperimentGameWindow.java @@ -4,7 +4,6 @@ import java.awt.CardLayout; import java.awt.Color; import java.awt.Component; -import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -27,7 +26,6 @@ import javax.swing.JTextField; import javax.swing.SwingUtilities; import javax.swing.Timer; -import javax.swing.text.html.HTMLEditorKit; import edu.asu.commons.irrigation.conf.RoundConfiguration; import edu.asu.commons.irrigation.conf.ServerConfiguration; @@ -35,9 +33,9 @@ import edu.asu.commons.irrigation.events.QuizResponseEvent; import edu.asu.commons.irrigation.server.ClientData; import edu.asu.commons.irrigation.server.GroupDataModel; -import edu.asu.commons.irrigation.ui.IrrigationInterface; -import edu.asu.commons.util.HtmlEditorPane; -import edu.asu.commons.util.HtmlEditorPane.FormActionEvent; +import edu.asu.commons.ui.HtmlEditorPane; +import edu.asu.commons.ui.HtmlEditorPane.FormActionEvent; +import edu.asu.commons.ui.UserInterfaceUtils; /** * $Id$ @@ -125,7 +123,7 @@ tokenInvestmentPanel = new JPanel(); tokenInvestmentPanel.setName("Token investment panel"); tokenInvestmentPanel.setLayout(new BorderLayout()); - tokenInstructionsEditorPane = IrrigationInterface.createInstructionsEditorPane(); + tokenInstructionsEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); JScrollPane tokenInstructionsScrollPane = new JScrollPane(tokenInstructionsEditorPane); tokenInvestmentPanel.add(tokenInstructionsScrollPane, BorderLayout.CENTER); tokenInvestmentPanel.add(getSubmitTokenPanel(), BorderLayout.SOUTH); @@ -289,7 +287,7 @@ private HtmlEditorPane getInstructionsEditorPane() { if (instructionsEditorPane == null) { - instructionsEditorPane = IrrigationInterface.createInstructionsEditorPane(); + instructionsEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); instructionsEditorPane.setName("Instructions editor pane"); // create a quiz listener and then initialize the instructions. instructionsEditorPane.setActionListener(createQuizListener(getServerConfiguration())); @@ -506,7 +504,7 @@ contributionInformationPanel.setLayout(new BoxLayout(contributionInformationPanel, BoxLayout.Y_AXIS)); contributionInformationPanel.add(createPieChartPanel()); contributionInformationPanel.add(Box.createVerticalStrut(15)); - contributionInformationEditorPane = IrrigationInterface.createInstructionsEditorPane(); + contributionInformationEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); contributionInformationPanel.add(contributionInformationEditorPane); } return contributionInformationPanel; diff -r dbc24ef0382eabd350f6bb8005034d83b4874d58 -r d18a78a711e32ba2717276c77f347008054b3060 src/main/java/edu/asu/commons/irrigation/facilitator/FacilitatorWindow.java --- a/src/main/java/edu/asu/commons/irrigation/facilitator/FacilitatorWindow.java +++ b/src/main/java/edu/asu/commons/irrigation/facilitator/FacilitatorWindow.java @@ -21,9 +21,9 @@ import edu.asu.commons.irrigation.server.ClientData; import edu.asu.commons.irrigation.server.GroupDataModel; import edu.asu.commons.irrigation.server.ServerDataModel; -import edu.asu.commons.irrigation.ui.IrrigationInterface; import edu.asu.commons.net.Identifier; -import edu.asu.commons.util.HtmlEditorPane; +import edu.asu.commons.ui.HtmlEditorPane; +import edu.asu.commons.ui.UserInterfaceUtils; /** * $Id$ @@ -78,7 +78,7 @@ buttonPanel.add(getShowQuizButton()); buttonPanel.add(getStartRoundOverrideButton()); add(buttonPanel, BorderLayout.NORTH); - editorPane = IrrigationInterface.createInstructionsEditorPane(); + editorPane = UserInterfaceUtils.createInstructionsEditorPane(); scrollPane = new JScrollPane(editorPane); scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); diff -r dbc24ef0382eabd350f6bb8005034d83b4874d58 -r d18a78a711e32ba2717276c77f347008054b3060 src/main/java/edu/asu/commons/irrigation/ui/IrrigationInterface.java --- a/src/main/java/edu/asu/commons/irrigation/ui/IrrigationInterface.java +++ /dev/null @@ -1,52 +0,0 @@ -package edu.asu.commons.irrigation.ui; - -import java.awt.Color; -import java.awt.Font; - -import javax.swing.JEditorPane; -import javax.swing.UIManager; -import javax.swing.text.html.HTMLDocument; - -import edu.asu.commons.util.HtmlEditorPane; - -/** - * $Id$ - * - * static utility class for common UI methods to set up a consistent look & feel. - * - * FIXME: push up to csidex - * - * - * @author <a href='mailto:all...@as...'>Allen Lee</a> - * @version $Rev$ - */ -public final class IrrigationInterface { - - public static final Font DEFAULT_PLAIN_FONT = new Font(getDefaultFont().getFamily(), Font.PLAIN, 16); - public static final Font DEFAULT_BOLD_FONT = new Font(getDefaultFont().getFamily(), Font.BOLD, 16); - - - public static Font getDefaultFont() { - return UIManager.getFont("Label.font"); - } - - public static void addStyles(JEditorPane editorPane, int fontSize) { - editorPane.setContentType("text/html"); - Font font = getDefaultFont(); - String bodyRule = String.format("body { font-family: %s; font-size: %s pt; }", font.getFamily(), fontSize); - ((HTMLDocument) editorPane.getDocument()).getStyleSheet().addRule(bodyRule); - } - - public static HtmlEditorPane createInstructionsEditorPane() { - return createInstructionsEditorPane(false); - } - - public static HtmlEditorPane createInstructionsEditorPane(boolean editable) { - final HtmlEditorPane htmlPane = new HtmlEditorPane(); - htmlPane.setEditable(editable); - htmlPane.setDoubleBuffered(true); - htmlPane.setBackground(Color.WHITE); - IrrigationInterface.addStyles(htmlPane, 16); - return htmlPane; - } -} Repository URL: https://bitbucket.org/virtualcommons/irrigation/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. |
From: Bitbucket <com...@bi...> - 2011-12-01 00:10:15
|
1 new commit in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/e68a44ef1fbb/ changeset: e68a44ef1fbb user: alllee date: 2011-12-01 01:10:01 summary: refactoring UI with new csidex changes affected #: 7 files diff -r 30d71ee1044bf4bf545bf64158896314211d64b6 -r e68a44ef1fbb46a45a5cb5fc018598c562e061e8 src/main/java/edu/asu/commons/foraging/client/ForagingClient.java --- a/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java +++ b/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java @@ -53,12 +53,12 @@ /** - * $Id: ForagingClient.java 529 2010-08-17 00:08:01Z alllee $ + * $Id$ * * Client for costly sanctioning experiments. Encompasses both 2D and 3D. * * @author <a href='mailto:mailto:All...@as...'>Allen Lee</a> - * @version $Revision: 529 $ + * @version $Revision$ */ public class ForagingClient extends BaseClient<ServerConfiguration> { @@ -235,7 +235,6 @@ private void initialize2DEventProcessors() { addEventProcessor(new EventTypeProcessor<BeginChatRoundRequest>(BeginChatRoundRequest.class) { public void handle(BeginChatRoundRequest request) { - System.err.println("Starting chat round"); dataModel.initialize(request.getGroupDataModel()); getGameWindow2D().initializeChatPanel(); } @@ -417,7 +416,7 @@ frame.setTitle("Client Window: " + client.getId()); frame.add(client.clientPanel); frame.setVisible(true); - frame.setExtendedState(frame.getExtendedState() | Frame.MAXIMIZED_BOTH); + frame.setExtendedState(Frame.MAXIMIZED_BOTH); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.pack(); } diff -r 30d71ee1044bf4bf545bf64158896314211d64b6 -r e68a44ef1fbb46a45a5cb5fc018598c562e061e8 src/main/java/edu/asu/commons/foraging/facilitator/FacilitatorWindow.java --- a/src/main/java/edu/asu/commons/foraging/facilitator/FacilitatorWindow.java +++ b/src/main/java/edu/asu/commons/foraging/facilitator/FacilitatorWindow.java @@ -28,9 +28,9 @@ import edu.asu.commons.foraging.event.QuizCompletedEvent; import edu.asu.commons.foraging.event.TrustGameSubmissionEvent; import edu.asu.commons.foraging.model.ClientData; -import edu.asu.commons.foraging.ui.ForagingInterface; import edu.asu.commons.net.Identifier; -import edu.asu.commons.util.HtmlEditorPane; +import edu.asu.commons.ui.HtmlEditorPane; +import edu.asu.commons.ui.UserInterfaceUtils; @@ -220,7 +220,7 @@ setLayout(new BorderLayout(3, 3)); // setBackground(Color.WHITE); - informationEditorPane = ForagingInterface.createInstructionsEditorPane(); + informationEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); @@ -232,7 +232,7 @@ JPanel messagePanel = new JPanel(new BorderLayout()); JLabel messagePanelLabel = new JLabel("System messages"); - messagePanelLabel.setFont(ForagingInterface.DEFAULT_PLAIN_FONT); + messagePanelLabel.setFont(UserInterfaceUtils.DEFAULT_PLAIN_FONT); messagePanel.add(messagePanelLabel, BorderLayout.NORTH); Dimension minimumSize = new Dimension(600, 200); messagePanel.setMinimumSize(minimumSize); @@ -243,7 +243,7 @@ messagePanel.add(facilitatorChatPanel.getComponent(), BorderLayout.CENTER); } else { - messageEditorPane = ForagingInterface.createInstructionsEditorPane(); + messageEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); JScrollPane messageScrollPane = new JScrollPane(messageEditorPane); messagePanel.add(messageScrollPane, BorderLayout.CENTER); } diff -r 30d71ee1044bf4bf545bf64158896314211d64b6 -r e68a44ef1fbb46a45a5cb5fc018598c562e061e8 src/main/java/edu/asu/commons/foraging/ui/ChatPanel.java --- a/src/main/java/edu/asu/commons/foraging/ui/ChatPanel.java +++ b/src/main/java/edu/asu/commons/foraging/ui/ChatPanel.java @@ -18,20 +18,20 @@ import edu.asu.commons.event.ChatEvent; import edu.asu.commons.event.ChatRequest; -import edu.asu.commons.event.EventChannel; import edu.asu.commons.event.EventTypeProcessor; import edu.asu.commons.experiment.DataModel; import edu.asu.commons.foraging.client.ForagingClient; import edu.asu.commons.foraging.conf.RoundConfiguration; import edu.asu.commons.net.Identifier; +import edu.asu.commons.ui.UserInterfaceUtils; /** - * $Id: ChatPanel.java 516 2010-05-10 23:31:53Z alllee $ + * $Id$ * * Chat panel used to communicate with other players. * * @author alllee - * @version $Revision: 516 $ + * @version $Revision$ */ @SuppressWarnings("serial") public class ChatPanel extends JPanel { @@ -46,24 +46,30 @@ private TextEntryPanel textEntryPanel; - public ChatPanel(EventChannel channel) { - channel.add(this, new EventTypeProcessor<ChatEvent>(ChatEvent.class) { + public ChatPanel(ForagingClient client) { + this(client, false); + } + + + public ChatPanel(ForagingClient client, boolean isInRoundChat) { + this.client = client; + client.getEventChannel().add(this, new EventTypeProcessor<ChatEvent>(ChatEvent.class) { public void handle(final ChatEvent chatEvent) { displayMessage(chatEvent.getSource(), chatEvent.toString()); } }); - initGuiComponents(); - } - - public ChatPanel(ForagingClient client) { - this(client.getEventChannel()); - this.client = client; + initGuiComponents(isInRoundChat); } - private void initGuiComponents() { + private void initGuiComponents(boolean isInRoundChat) { setLayout(new BorderLayout(3, 3)); setName("Chat panel"); - messagesEditorPane = ForagingInterface.createInstructionsEditorPane(); + if (! isInRoundChat) { + JEditorPane instructionsEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); + + + } + messagesEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); messageScrollPane = new JScrollPane(messagesEditorPane); textEntryPanel = new TextEntryPanel(client); @@ -133,7 +139,7 @@ }); JLabel headerLabel = new JLabel("Chat"); - headerLabel.setFont(ForagingInterface.DEFAULT_BOLD_FONT); + headerLabel.setFont(UserInterfaceUtils.DEFAULT_BOLD_FONT); add(headerLabel, BorderLayout.NORTH); add(chatField, BorderLayout.CENTER); } diff -r 30d71ee1044bf4bf545bf64158896314211d64b6 -r e68a44ef1fbb46a45a5cb5fc018598c562e061e8 src/main/java/edu/asu/commons/foraging/ui/ForagingInterface.java --- a/src/main/java/edu/asu/commons/foraging/ui/ForagingInterface.java +++ /dev/null @@ -1,122 +0,0 @@ -package edu.asu.commons.foraging.ui; - -import java.awt.Color; -import java.awt.Font; - -import javax.swing.JEditorPane; -import javax.swing.UIManager; -import javax.swing.text.html.HTMLDocument; - -import edu.asu.commons.util.HtmlEditorPane; - -/** - * $Id$ - * - * static utility class for common UI methods to set up a consistent look & feel. - * - * - * @author <a href='mailto:all...@as...'>Allen Lee</a> - * @version $Rev$ - */ -public final class ForagingInterface { - - public static final Font DEFAULT_PLAIN_FONT = new Font(getDefaultFont().getFamily(), Font.PLAIN, 16); - public static final Font DEFAULT_BOLD_FONT = new Font(getDefaultFont().getFamily(), Font.BOLD, 16); - - /** A very dark red color. */ - public static final Color VERY_DARK_RED = new Color(0x80, 0x00, 0x00); - - /** A dark red color. */ - public static final Color DARK_RED = new Color(0xc0, 0x00, 0x00); - - /** A light red color. */ - public static final Color LIGHT_RED = new Color(0xFF, 0x40, 0x40); - - /** A very light red color. */ - public static final Color VERY_LIGHT_RED = new Color(0xFF, 0x80, 0x80); - - /** A very dark yellow color. */ - public static final Color VERY_DARK_YELLOW = new Color(0x80, 0x80, 0x00); - - /** A dark yellow color. */ - public static final Color DARK_YELLOW = new Color(0xC0, 0xC0, 0x00); - - /** A light yellow color. */ - public static final Color LIGHT_YELLOW = new Color(0xFF, 0xFF, 0x40); - - /** A very light yellow color. */ - public static final Color VERY_LIGHT_YELLOW = new Color(0xFF, 0xFF, 0x80); - - /** A very dark green color. */ - public static final Color VERY_DARK_GREEN = new Color(0x00, 0x80, 0x00); - - /** A dark green color. */ - public static final Color DARK_GREEN = new Color(0x00, 0xC0, 0x00); - - /** A light green color. */ - public static final Color LIGHT_GREEN = new Color(0x40, 0xFF, 0x40); - - /** A very light green color. */ - public static final Color VERY_LIGHT_GREEN = new Color(0x80, 0xFF, 0x80); - - /** A very dark cyan color. */ - public static final Color VERY_DARK_CYAN = new Color(0x00, 0x80, 0x80); - - /** A dark cyan color. */ - public static final Color DARK_CYAN = new Color(0x00, 0xC0, 0xC0); - - /** A light cyan color. */ - public static final Color LIGHT_CYAN = new Color(0x40, 0xFF, 0xFF); - - /** Aa very light cyan color. */ - public static final Color VERY_LIGHT_CYAN = new Color(0x80, 0xFF, 0xFF); - - /** A very dark blue color. */ - public static final Color VERY_DARK_BLUE = new Color(0x00, 0x00, 0x80); - - /** A dark blue color. */ - public static final Color DARK_BLUE = new Color(0x00, 0x00, 0xC0); - - /** A light blue color. */ - public static final Color LIGHT_BLUE = new Color(0x40, 0x40, 0xFF); - - /** A very light blue color. */ - public static final Color VERY_LIGHT_BLUE = new Color(0x80, 0x80, 0xFF); - - /** A very dark magenta/purple color. */ - public static final Color VERY_DARK_MAGENTA = new Color(0x80, 0x00, 0x80); - - /** A dark magenta color. */ - public static final Color DARK_MAGENTA = new Color(0xC0, 0x00, 0xC0); - - /** A light magenta color. */ - public static final Color LIGHT_MAGENTA = new Color(0xFF, 0x40, 0xFF); - - /** A very light magenta color. */ - public static final Color VERY_LIGHT_MAGENTA = new Color(0xFF, 0x80, 0xFF); - - - public static Font getDefaultFont() { - return UIManager.getFont("Label.font"); - } - - public static void addStyles(JEditorPane editorPane, int fontSize) { - editorPane.setContentType("text/html"); - Font font = getDefaultFont(); - String bodyRule = String.format("body { font-family: %s; font-size: %s pt; }", font.getFamily(), fontSize); - ((HTMLDocument) editorPane.getDocument()).getStyleSheet().addRule(bodyRule); - } - - public static HtmlEditorPane createInstructionsEditorPane() { - return createInstructionsEditorPane(false); - } - - public static HtmlEditorPane createInstructionsEditorPane(boolean editable) { - final HtmlEditorPane htmlPane = new HtmlEditorPane(); - htmlPane.setEditable(editable); - htmlPane.setDoubleBuffered(true); - htmlPane.setBackground(Color.WHITE); - ForagingInterface.addStyles(htmlPane, 16); - return htmlPane; - } -} diff -r 30d71ee1044bf4bf545bf64158896314211d64b6 -r e68a44ef1fbb46a45a5cb5fc018598c562e061e8 src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java --- a/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java +++ b/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java @@ -56,17 +56,18 @@ import edu.asu.commons.foraging.model.Direction; import edu.asu.commons.foraging.rules.ForagingRule; import edu.asu.commons.net.Identifier; +import edu.asu.commons.ui.HtmlEditorPane; +import edu.asu.commons.ui.UserInterfaceUtils; import edu.asu.commons.util.Duration; -import edu.asu.commons.util.HtmlEditorPane; /** - * $Id: GameWindow2D.java 529 2010-08-17 00:08:01Z alllee $ + * $Id$ * * The client-side view for forager - can be used by standalone Java * applications or Applets. * * @author <a href='mailto:All...@as...'>Allen Lee</a> - * @version $Revision: 529 $ + * @version $Revision$ */ public class GameWindow2D implements GameWindow { @@ -361,7 +362,7 @@ subjectView = new SubjectView(subjectViewSize, dataModel); // add instructions panel card - instructionsEditorPane = ForagingInterface.createInstructionsEditorPane(); + instructionsEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); instructionsScrollPane = new JScrollPane(instructionsEditorPane); instructionsScrollPane.setDoubleBuffered(true); instructionsScrollPane.getViewport().setScrollMode(JViewport.BACKINGSTORE_SCROLL_MODE); @@ -377,9 +378,9 @@ // add labels to game panel // FIXME: replace with progress bar. timeLeftLabel = new JLabel("Connecting ..."); - timeLeftLabel.setFont(ForagingInterface.DEFAULT_BOLD_FONT); + timeLeftLabel.setFont(UserInterfaceUtils.DEFAULT_BOLD_FONT); informationLabel = new JLabel("Tokens collected: 0 "); - informationLabel.setFont(ForagingInterface.DEFAULT_BOLD_FONT); + informationLabel.setFont(UserInterfaceUtils.DEFAULT_BOLD_FONT); // latencyLabel = new JLabel("Latency: 0"); informationLabel.setBackground(Color.YELLOW); informationLabel.setForeground(Color.BLUE); @@ -399,7 +400,7 @@ // FIXME: setFont doesn't work here the way we want it to. messageTextPane = new JTextPane(); messageTextPane.setEditable(false); - messageTextPane.setFont(ForagingInterface.DEFAULT_BOLD_FONT); + messageTextPane.setFont(UserInterfaceUtils.DEFAULT_BOLD_FONT); messageTextPane.setBackground(Color.WHITE); addStyles(messageTextPane.getStyledDocument()); messageScrollPane = new JScrollPane(messageTextPane); @@ -719,7 +720,7 @@ private ChatPanel getInRoundChatPanel() { if (inRoundChatPanel == null) { - inRoundChatPanel = new ChatPanel(client); + inRoundChatPanel = new ChatPanel(client, true); } return inRoundChatPanel; } @@ -731,7 +732,7 @@ public void run() { JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); - JEditorPane trustGameInstructionsEditorPane = ForagingInterface.createInstructionsEditorPane(); + JEditorPane trustGameInstructionsEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); JScrollPane scrollPane = new JScrollPane(trustGameInstructionsEditorPane); trustGameInstructionsEditorPane.setText(client.getCurrentRoundConfiguration().getTrustGameInstructions()); panel.add(scrollPane); @@ -794,7 +795,7 @@ if (votingPanel == null) { votingPanel = new JPanel(); votingPanel.setLayout(new BoxLayout(votingPanel, BoxLayout.Y_AXIS)); - votingInstructionsEditorPane = ForagingInterface.createInstructionsEditorPane(); + votingInstructionsEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); JScrollPane scrollPane = new JScrollPane(votingInstructionsEditorPane); votingInstructionsEditorPane.setText(client.getCurrentRoundConfiguration().getVotingInstructions()); votingPanel.add(scrollPane); diff -r 30d71ee1044bf4bf545bf64158896314211d64b6 -r e68a44ef1fbb46a45a5cb5fc018598c562e061e8 src/main/java/edu/asu/commons/foraging/ui/InstructionsView.java --- a/src/main/java/edu/asu/commons/foraging/ui/InstructionsView.java +++ b/src/main/java/edu/asu/commons/foraging/ui/InstructionsView.java @@ -1,7 +1,6 @@ package edu.asu.commons.foraging.ui; import java.awt.BorderLayout; -import java.awt.Font; import javax.swing.JPanel; import javax.swing.JScrollPane; @@ -11,14 +10,15 @@ import edu.asu.commons.foraging.conf.RoundConfiguration; import edu.asu.commons.foraging.visualization.conceptual.AgentDesignPanel; import edu.asu.commons.foraging.visualization.forestry.AvatarDesignPanel; -import edu.asu.commons.util.HtmlEditorPane; +import edu.asu.commons.ui.HtmlEditorPane; +import edu.asu.commons.ui.UserInterfaceUtils; /** - * $Id: InstructionsView.java 529 2010-08-17 00:08:01Z alllee $ + * $Id$ * * @author <a href='All...@as...'>Allen Lee</a>, Deepali Bhagvat - * @version $Revision: 529 $ + * @version $Revision$ */ public class InstructionsView { @@ -30,22 +30,14 @@ private JPanel agentDesignPanel = null; public InstructionsView() { - instructionsEditorPane = createInstructionsEditorPane(); + instructionsEditorPane = UserInterfaceUtils.createInstructionsEditorPane(); instructionsScrollPane = new JScrollPane(instructionsEditorPane); mainPanel = new JPanel(); mainPanel.setLayout(new BorderLayout()); mainPanel.add(instructionsScrollPane, BorderLayout.CENTER); setInstructions("Please wait patiently until the other participants finish designing their avatars."); } - - private HtmlEditorPane createInstructionsEditorPane() { - final HtmlEditorPane htmlPane = new HtmlEditorPane(); - // htmlPane.setPreferredSize(new Dimension(400, 400)); - htmlPane.setEditable(false); - htmlPane.setFont(new Font("serif", Font.PLAIN, 12)); - return htmlPane; - } - + public void setInstructions(String instructions) { instructionsEditorPane.setText(instructions); instructionsEditorPane.setCaretPosition(0); diff -r 30d71ee1044bf4bf545bf64158896314211d64b6 -r e68a44ef1fbb46a45a5cb5fc018598c562e061e8 src/main/java/edu/asu/commons/foraging/ui/VotingForm.java --- a/src/main/java/edu/asu/commons/foraging/ui/VotingForm.java +++ b/src/main/java/edu/asu/commons/foraging/ui/VotingForm.java @@ -27,6 +27,7 @@ import edu.asu.commons.foraging.client.ForagingClient; import edu.asu.commons.foraging.rules.ForagingRule; +import edu.asu.commons.ui.UserInterfaceUtils; /** * @@ -67,11 +68,11 @@ GroupLayout.SequentialGroup verticalGroup = groupLayout.createSequentialGroup(); String rightColumnHeader = votingResults.isEmpty() ? "Select one" : "Nominations"; JLabel rightHeaderLabel = new JLabel(rightColumnHeader); - rightHeaderLabel.setFont(ForagingInterface.DEFAULT_BOLD_FONT); + rightHeaderLabel.setFont(UserInterfaceUtils.DEFAULT_BOLD_FONT); horizontalButtonParallelGroup.addComponent(rightHeaderLabel); JLabel ruleHeaderLabel = new JLabel("Rule"); - ruleHeaderLabel.setFont(ForagingInterface.DEFAULT_BOLD_FONT); + ruleHeaderLabel.setFont(UserInterfaceUtils.DEFAULT_BOLD_FONT); horizontalLabelParallelGroup.addComponent(ruleHeaderLabel); verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(ruleHeaderLabel).addGap(10).addComponent(rightHeaderLabel)); @@ -79,7 +80,7 @@ for (ForagingRule rule: rules) { ruleIndex++; JLabel ruleLabel = new JLabel(String.format("Rule %d: %s", ruleIndex, rule)); - ruleLabel.setFont(ForagingInterface.DEFAULT_PLAIN_FONT); + ruleLabel.setFont(UserInterfaceUtils.DEFAULT_PLAIN_FONT); horizontalLabelParallelGroup.addComponent(ruleLabel); JComponent component = null; if (votingResults.isEmpty()) { 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. |
From: Bitbucket <com...@bi...> - 2011-11-19 00:23:45
|
1 new commit in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/30d71ee1044b/ changeset: 30d71ee1044b user: alllee date: 2011-11-19 01:23:34 summary: - adding some colors from jfreechart to ForagingInterface (should move to csidex at some point) - fixes issue 23 -- was using wrong ChatPanel reference for focus request - fixes issue 22 affected #: 7 files diff -r 5e1f60ad639478149e012ed2aa7471798c795cbd -r 30d71ee1044bf4bf545bf64158896314211d64b6 src/main/java/edu/asu/commons/foraging/ui/ForagingInterface.java --- a/src/main/java/edu/asu/commons/foraging/ui/ForagingInterface.java +++ b/src/main/java/edu/asu/commons/foraging/ui/ForagingInterface.java @@ -22,7 +22,79 @@ public static final Font DEFAULT_PLAIN_FONT = new Font(getDefaultFont().getFamily(), Font.PLAIN, 16); public static final Font DEFAULT_BOLD_FONT = new Font(getDefaultFont().getFamily(), Font.BOLD, 16); - + + /** A very dark red color. */ + public static final Color VERY_DARK_RED = new Color(0x80, 0x00, 0x00); + + /** A dark red color. */ + public static final Color DARK_RED = new Color(0xc0, 0x00, 0x00); + + /** A light red color. */ + public static final Color LIGHT_RED = new Color(0xFF, 0x40, 0x40); + + /** A very light red color. */ + public static final Color VERY_LIGHT_RED = new Color(0xFF, 0x80, 0x80); + + /** A very dark yellow color. */ + public static final Color VERY_DARK_YELLOW = new Color(0x80, 0x80, 0x00); + + /** A dark yellow color. */ + public static final Color DARK_YELLOW = new Color(0xC0, 0xC0, 0x00); + + /** A light yellow color. */ + public static final Color LIGHT_YELLOW = new Color(0xFF, 0xFF, 0x40); + + /** A very light yellow color. */ + public static final Color VERY_LIGHT_YELLOW = new Color(0xFF, 0xFF, 0x80); + + /** A very dark green color. */ + public static final Color VERY_DARK_GREEN = new Color(0x00, 0x80, 0x00); + + /** A dark green color. */ + public static final Color DARK_GREEN = new Color(0x00, 0xC0, 0x00); + + /** A light green color. */ + public static final Color LIGHT_GREEN = new Color(0x40, 0xFF, 0x40); + + /** A very light green color. */ + public static final Color VERY_LIGHT_GREEN = new Color(0x80, 0xFF, 0x80); + + /** A very dark cyan color. */ + public static final Color VERY_DARK_CYAN = new Color(0x00, 0x80, 0x80); + + /** A dark cyan color. */ + public static final Color DARK_CYAN = new Color(0x00, 0xC0, 0xC0); + + /** A light cyan color. */ + public static final Color LIGHT_CYAN = new Color(0x40, 0xFF, 0xFF); + + /** Aa very light cyan color. */ + public static final Color VERY_LIGHT_CYAN = new Color(0x80, 0xFF, 0xFF); + + /** A very dark blue color. */ + public static final Color VERY_DARK_BLUE = new Color(0x00, 0x00, 0x80); + + /** A dark blue color. */ + public static final Color DARK_BLUE = new Color(0x00, 0x00, 0xC0); + + /** A light blue color. */ + public static final Color LIGHT_BLUE = new Color(0x40, 0x40, 0xFF); + + /** A very light blue color. */ + public static final Color VERY_LIGHT_BLUE = new Color(0x80, 0x80, 0xFF); + + /** A very dark magenta/purple color. */ + public static final Color VERY_DARK_MAGENTA = new Color(0x80, 0x00, 0x80); + + /** A dark magenta color. */ + public static final Color DARK_MAGENTA = new Color(0xC0, 0x00, 0xC0); + + /** A light magenta color. */ + public static final Color LIGHT_MAGENTA = new Color(0xFF, 0x40, 0xFF); + + /** A very light magenta color. */ + public static final Color VERY_LIGHT_MAGENTA = new Color(0xFF, 0x80, 0xFF); + public static Font getDefaultFont() { return UIManager.getFont("Label.font"); diff -r 5e1f60ad639478149e012ed2aa7471798c795cbd -r 30d71ee1044bf4bf545bf64158896314211d64b6 src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java --- a/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java +++ b/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java @@ -518,7 +518,7 @@ // reset token distribution request handling case KeyEvent.VK_ENTER: if (dataModel.getRoundConfiguration().isInRoundChatEnabled()) { - getChatPanel().setTextFieldFocus(); + getInRoundChatPanel().setTextFieldFocus(); } break; case KeyEvent.VK_R: diff -r 5e1f60ad639478149e012ed2aa7471798c795cbd -r 30d71ee1044bf4bf545bf64158896314211d64b6 src/main/java/edu/asu/commons/foraging/ui/SubjectView.java --- a/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java +++ b/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java @@ -86,8 +86,8 @@ if (subjectFieldOfVision) { viewSubjectsRadius = configuration.getViewSubjectsRadius(); viewSubjectsField = new Circle(dataModel.getCurrentPosition(), viewSubjectsRadius); - fieldOfVisionXOffset = (dw * 0.3); - fieldOfVisionYOffset = (dh * 0.3); + fieldOfVisionXOffset = (dw / 3.0d); + fieldOfVisionYOffset = (dh / 3.0d); } } super.setup(configuration); diff -r 5e1f60ad639478149e012ed2aa7471798c795cbd -r 30d71ee1044bf4bf545bf64158896314211d64b6 src/main/java/edu/asu/commons/foraging/ui/TrustGamePanel.java --- a/src/main/java/edu/asu/commons/foraging/ui/TrustGamePanel.java +++ b/src/main/java/edu/asu/commons/foraging/ui/TrustGamePanel.java @@ -140,6 +140,7 @@ @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (column == 2) { + // FIXME: use different colors here. setBackground(Color.YELLOW); } else { diff -r 5e1f60ad639478149e012ed2aa7471798c795cbd -r 30d71ee1044bf4bf545bf64158896314211d64b6 src/main/resources/configuration/asu-experiments/2011/bratislava-pretest/round4.xml --- a/src/main/resources/configuration/asu-experiments/2011/bratislava-pretest/round4.xml +++ b/src/main/resources/configuration/asu-experiments/2011/bratislava-pretest/round4.xml @@ -27,7 +27,7 @@ <p> Round 4 is the same as the previous rounds with one exception. 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 uour message, and then hit 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. diff -r 5e1f60ad639478149e012ed2aa7471798c795cbd -r 30d71ee1044bf4bf545bf64158896314211d64b6 src/main/resources/configuration/asu-experiments/2011/pretest/round4.xml --- a/src/main/resources/configuration/asu-experiments/2011/pretest/round4.xml +++ b/src/main/resources/configuration/asu-experiments/2011/pretest/round4.xml @@ -27,7 +27,7 @@ <p> Round 4 is the same as the previous rounds with one exception. 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 uour message, and then hit 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. diff -r 5e1f60ad639478149e012ed2aa7471798c795cbd -r 30d71ee1044bf4bf545bf64158896314211d64b6 src/main/resources/configuration/asu-experiments/2011/t1/round4.xml --- a/src/main/resources/configuration/asu-experiments/2011/t1/round4.xml +++ b/src/main/resources/configuration/asu-experiments/2011/t1/round4.xml @@ -25,7 +25,7 @@ <p> Round 4 is the same as the previous rounds with one exception. 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 uour message, and then hit 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. 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. |
From: Bitbucket <com...@bi...> - 2011-11-18 22:25:19
|
1 new commit in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/5e1f60ad6394/ changeset: 5e1f60ad6394 user: alllee date: 2011-11-18 23:25:08 summary: refactoring instructions and tweaking TrustGamePanel UI a bit, colors need more work. affected #: 4 files diff -r e2b29db0ddf574438e03859936a33e9c9107aa49 -r 5e1f60ad639478149e012ed2aa7471798c795cbd src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java --- a/src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java +++ b/src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java @@ -569,7 +569,7 @@ } public StringBuilder getCurrentRoundInstructions() { - return buildInstructions(new StringBuilder()); + return buildAllInstructions(new StringBuilder()); } /** @@ -585,21 +585,22 @@ * @param instructionsBuilder * @return */ - public StringBuilder buildInstructions(StringBuilder instructionsBuilder) { + public StringBuilder buildAllInstructions(StringBuilder instructionsBuilder) { + // add the quiz instructions if the quiz is enabled. if (isFirstRound()) { instructionsBuilder.append(getGeneralInstructions()); - instructionsBuilder.append(getInstructions()); } - else { - // FIXME: dirty hack, need to fix after we paginate things - instructionsBuilder.append(getInstructions()); - addAllSpecialInstructions(instructionsBuilder); - } - // and add the quiz instructions if the quiz is enabled. - if (isQuizEnabled()) { - instructionsBuilder.append(getQuizInstructions()); - } - return instructionsBuilder; + return isQuizEnabled() + ? buildInstructions(instructionsBuilder).append(getQuizInstructions()) + : buildInstructions(instructionsBuilder); + } + + public StringBuilder buildInstructions() { + return buildInstructions(new StringBuilder()); + } + + public StringBuilder buildInstructions(StringBuilder instructionsBuilder) { + return addAllSpecialInstructions(instructionsBuilder.append(getInstructions())); } public StringBuilder addAllSpecialInstructions(StringBuilder instructionsBuilder) { @@ -632,7 +633,7 @@ return instructionsBuilder; } else { - return instructionsBuilder.append("<h1>Additional instructions</h1><hr><ul>").append(builder).append("</ul>"); + return instructionsBuilder.append("<h2>Additional instructions</h2><hr><ul>").append(builder).append("</ul>"); } } @@ -709,4 +710,8 @@ return String.format("Round %d of %d\n\t%s", allParameters.indexOf(this) + 1, allParameters.size(), getProperties()); } + public String getQuizInstructionsWithoutInputs() { + return getQuizInstructions().replaceAll("<input.*value=\"[\\w]+\">", ""); + } + } diff -r e2b29db0ddf574438e03859936a33e9c9107aa49 -r 5e1f60ad639478149e012ed2aa7471798c795cbd src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java --- a/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java +++ b/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java @@ -219,22 +219,18 @@ } client.transmit(new QuizResponseEvent(client.getId(), actualAnswers, incorrectAnswers)); - StringBuilder builder = new StringBuilder(); + StringBuilder builder = configuration.buildInstructions(); setQuestionColors(correctAnswers, "black"); setQuestionColors(incorrectAnswers, "red"); if (incorrectAnswers.isEmpty()) { - builder.append(configuration.getInstructions()); - configuration.addAllSpecialInstructions(builder); // notify the server and also notify the participant. builder.append("<br><b>Congratulations!</b> You have answered all questions correctly."); setInstructions(builder.toString()); } else { - String currentInstructions = instructionsBuilder.toString(); + // add the quiz instructions back, but remove all inputs + builder.append(configuration.getQuizInstructionsWithoutInputs()); // remove all inputs. - currentInstructions = currentInstructions.replaceAll("<input.*value=\"[\\w]+\">", ""); - System.err.println("new instructions: " + currentInstructions); - builder.append(currentInstructions); Collections.sort(incorrectAnswers); Collections.sort(correctAnswers); HTMLEditorKit editorKit = (HTMLEditorKit) instructionsEditorPane.getEditorKit(); @@ -494,8 +490,8 @@ case KeyEvent.VK_8: case KeyEvent.VK_9: if (!dataModel.isSanctioningAllowed()) { - // get rid of magic constants - displayErrorMessage("You may not reduce other participants tokens at this time."); + // FIXME: get rid of magic constants +// displayErrorMessage("You may not reduce other participants tokens at this time."); return; } if (client.canPerformRealTimeSanction()) { @@ -764,7 +760,7 @@ public void showInstructions() { final RoundConfiguration roundConfiguration = dataModel.getRoundConfiguration(); instructionsBuilder.delete(0, instructionsBuilder.length()); - roundConfiguration.buildInstructions(instructionsBuilder); + roundConfiguration.buildAllInstructions(instructionsBuilder); // and add the quiz instructions if the quiz is enabled. SwingUtilities.invokeLater(new Runnable() { public void run() { diff -r e2b29db0ddf574438e03859936a33e9c9107aa49 -r 5e1f60ad639478149e012ed2aa7471798c795cbd src/main/java/edu/asu/commons/foraging/ui/SubjectView.java --- a/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java +++ b/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java @@ -86,8 +86,8 @@ if (subjectFieldOfVision) { viewSubjectsRadius = configuration.getViewSubjectsRadius(); viewSubjectsField = new Circle(dataModel.getCurrentPosition(), viewSubjectsRadius); - fieldOfVisionXOffset = (dw / 3.0); - fieldOfVisionYOffset = (dh / 3.0); + fieldOfVisionXOffset = (dw * 0.3); + fieldOfVisionYOffset = (dh * 0.3); } } super.setup(configuration); @@ -162,7 +162,7 @@ double x = Math.ceil(scaleXDouble(topLeftCorner.x) + fieldOfVisionXOffset); double y = Math.ceil(scaleYDouble(topLeftCorner.y) + fieldOfVisionYOffset); double diameter = radius * 2.0d; - diameter = Math.min(scaleXDouble(diameter), scaleYDouble(diameter)) + (dw * 0.75); + diameter = Math.min(scaleXDouble(diameter), scaleYDouble(diameter)) + (dw * 0.85); Ellipse2D.Double circle = new Ellipse2D.Double(x, y, diameter, diameter); // clip the rendered part of the Field of vision circle that crosses the playing boundary graphics2D.setClip(circle); diff -r e2b29db0ddf574438e03859936a33e9c9107aa49 -r 5e1f60ad639478149e012ed2aa7471798c795cbd src/main/java/edu/asu/commons/foraging/ui/TrustGamePanel.java --- a/src/main/java/edu/asu/commons/foraging/ui/TrustGamePanel.java +++ b/src/main/java/edu/asu/commons/foraging/ui/TrustGamePanel.java @@ -1,5 +1,6 @@ package edu.asu.commons.foraging.ui; +import java.awt.Color; import java.awt.Component; import javax.swing.ButtonModel; @@ -9,6 +10,7 @@ import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; +import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableColumn; import javax.swing.table.TableModel; @@ -84,6 +86,7 @@ } } + @SuppressWarnings("unused") @Deprecated private class PlayerTwoInputColumnCellEditor extends DefaultCellEditor { private static final long serialVersionUID = -981239232309467766L; @@ -121,7 +124,8 @@ this.client = client; setRoundConfiguration(client.getCurrentRoundConfiguration()); TableColumn column = playerTwoTable.getColumnModel().getColumn(2); - column.setCellEditor(new DefaultCellEditor(new JComboBox()) { + column.setCellEditor(new DefaultCellEditor(new JComboBox()) { + @Override public Component getTableCellEditorComponent(JTable table, Object value, boolean selected, int row, int column) { JComboBox combo = (JComboBox) super.getTableCellEditorComponent(table, value, selected, row, column); combo.removeAllItems(); @@ -132,6 +136,19 @@ return combo; } }); + playerTwoTable.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() { + @Override + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + if (column == 2) { + setBackground(Color.YELLOW); + } + else { + setBackground(Color.LIGHT_GRAY); + } + return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + } + + }); } public void setRoundConfiguration(RoundConfiguration configuration) { 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. |
From: Bitbucket <com...@bi...> - 2011-11-18 21:11:44
|
3 new commits in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/343962b451f2/ changeset: 343962b451f2 user: alllee date: 2011-11-16 01:18:58 summary: creating separate in round chat panel to avoid conflict with standalone chat rounds affected #: 1 file diff -r f467c3bd858c5af915cd4d11d9c6274cfb0f269f -r 343962b451f23920a630e066e5ebdb85159981c0 src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java --- a/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java +++ b/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java @@ -125,6 +125,8 @@ private CardLayout cardLayout; + private ChatPanel inRoundChatPanel; + // private EnergyLevel energyLevel; public GameWindow2D(ForagingClient client, Dimension size) { @@ -371,8 +373,8 @@ instructionsScrollPane.setName(INSTRUCTIONS_PANEL_NAME); add(instructionsScrollPane); - // add game panel card - // FIXME: use a more flexible LayoutManager so that in-round chat isn't so fubared. + // FIXME: use a more flexible LayoutManager so that in-round chat isn't squeezed all the way on the right + // side of the screen. gamePanel = new JPanel(new BorderLayout()); gamePanel.setBackground(Color.WHITE); gamePanel.setName(GAME_PANEL_NAME); @@ -597,8 +599,9 @@ // has begun. update(configuration.getRoundDuration().getTimeLeft()); if (configuration.isInRoundChatEnabled()) { + // FIXME: use separate chat panel for in round chat System.err.println("in round chat was enabled"); - ChatPanel chatPanel = getChatPanel(); + ChatPanel chatPanel = getInRoundChatPanel(); chatPanel.initialize(dataModel); Dimension chatPanelSize = new Dimension(250, getPanel().getSize().height); chatPanel.setPreferredSize(chatPanelSize); @@ -715,9 +718,17 @@ if (chatPanel == null) { chatPanel = new ChatPanel(client); chatPanel.setName(CHAT_PANEL_NAME); + add(chatPanel); } return chatPanel; } + + private ChatPanel getInRoundChatPanel() { + if (inRoundChatPanel == null) { + inRoundChatPanel = new ChatPanel(client); + } + return inRoundChatPanel; + } public void showTrustGame() { RoundConfiguration roundConfiguration = dataModel.getRoundConfiguration(); @@ -854,9 +865,9 @@ public void endRound(final EndRoundEvent event) { Runnable runnable = new Runnable() { public void run() { - if (chatPanel != null) { - getPanel().remove(chatPanel); - chatPanel = null; + if (inRoundChatPanel != null) { + getPanel().remove(inRoundChatPanel); + inRoundChatPanel = null; } RoundConfiguration roundConfiguration = dataModel.getRoundConfiguration(); if (roundConfiguration.isPostRoundSanctioningEnabled()) { @@ -886,6 +897,7 @@ public void initializeChatPanel() { SwingUtilities.invokeLater(new Runnable() { public void run() { + // FIXME: figure out how to reconcile this w/ in round chat. ChatPanel chatPanel = getChatPanel(); chatPanel.initialize(dataModel); showPanel(CHAT_PANEL_NAME); https://bitbucket.org/virtualcommons/foraging/changeset/497e1d3ec271/ changeset: 497e1d3ec271 user: alllee date: 2011-11-18 01:18:46 summary: more UI refinements, maximizing screen by default, cleaning up display logic affected #: 4 files diff -r 343962b451f23920a630e066e5ebdb85159981c0 -r 497e1d3ec2712a3e54af909465586e451ec4f61a src/main/java/edu/asu/commons/foraging/client/ForagingClient.java --- a/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java +++ b/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java @@ -3,12 +3,14 @@ import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; +import java.awt.Frame; import java.util.LinkedList; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; import javax.swing.UIManager; +import javax.swing.WindowConstants; import edu.asu.commons.client.BaseClient; import edu.asu.commons.event.ClientMessageEvent; @@ -81,15 +83,11 @@ private JPanel clientPanel = new JPanel(); public ForagingClient(ServerConfiguration configuration) { - this(configuration, new Dimension(900, 800)); - } - - public ForagingClient(ServerConfiguration configuration, Dimension screenSize) { super(configuration); dataModel = new ClientDataModel(this); clientPanel.setLayout(new BorderLayout()); if (configuration.shouldInitialize2D()) { - gameWindow = new GameWindow2D(this, screenSize); + gameWindow = new GameWindow2D(this); } else if (configuration.shouldInitialize3D()) { gameWindow = new GameWindow3D(this); @@ -407,20 +405,20 @@ //Dimension defaultDimension = new Dimension(600, 600); try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch(Exception e) { e.printStackTrace(); System.err.println("Couldn't set native look and feel: "+ e); } - Dimension defaultDimension = new Dimension(1024, 768); JFrame frame = new JFrame(); - ForagingClient client = new ForagingClient(new ServerConfiguration(), defaultDimension); + ForagingClient client = new ForagingClient(new ServerConfiguration()); client.connect(); frame.setTitle("Client Window: " + client.getId()); frame.add(client.clientPanel); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.setPreferredSize(defaultDimension); frame.setVisible(true); + frame.setExtendedState(frame.getExtendedState() | Frame.MAXIMIZED_BOTH); + frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.pack(); } }; diff -r 343962b451f23920a630e066e5ebdb85159981c0 -r 497e1d3ec2712a3e54af909465586e451ec4f61a src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java --- a/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java +++ b/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java @@ -129,7 +129,7 @@ // private EnergyLevel energyLevel; - public GameWindow2D(ForagingClient client, Dimension size) { + public GameWindow2D(ForagingClient client) { this.client = client; this.dataModel = client.getDataModel(); // FIXME: set the actual screen size dimensions after this JPanel has been initialized... @@ -137,8 +137,7 @@ // feed subject view the available screen size so that // it can adjust appropriately when given a board size // int width = (int) Math.min(Math.floor(size.getWidth()), Math.floor(size.getHeight() * 0.85)); - - initGuiComponents(size); + initGuiComponents(); } /** @@ -357,12 +356,12 @@ getPanel().repaint(); } - private void initGuiComponents(Dimension size) { + private void initGuiComponents() { // FIXME: replace with CardLayout for easier switching between panels cardLayout = new CardLayout(); mainPanel = new JPanel(cardLayout); - - Dimension subjectViewSize = new Dimension((int) size.getWidth(), (int) (size.getHeight() * 0.85)); + // default sized subject view + Dimension subjectViewSize = new Dimension(768, 768); subjectView = new SubjectView(subjectViewSize, dataModel); // add instructions panel card @@ -428,8 +427,7 @@ mainPanel.addComponentListener(new ComponentAdapter() { public void componentResized(ComponentEvent event) { Component component = event.getComponent(); - // offset by 35 pixels to allow for message box - Dimension screenSize = new Dimension(component.getWidth(), component.getHeight() - 90); + Dimension screenSize = new Dimension(component.getWidth(), (int) (component.getHeight() * 0.85d)); subjectView.setScreenSize(screenSize); subjectView.setImageSizes(); getPanel().revalidate(); diff -r 343962b451f23920a630e066e5ebdb85159981c0 -r 497e1d3ec2712a3e54af909465586e451ec4f61a src/main/java/edu/asu/commons/foraging/ui/GridView.java --- a/src/main/java/edu/asu/commons/foraging/ui/GridView.java +++ b/src/main/java/edu/asu/commons/foraging/ui/GridView.java @@ -66,28 +66,22 @@ public void setImageSizes() { if (boardSize == null) return; - int availableWidth = (int) screenSize.getWidth(); - int availableHeight = (int) screenSize.getHeight(); + double availableWidth = screenSize.getWidth(); + double availableHeight = screenSize.getHeight(); // stretch board to the max dw = (availableWidth / boardSize.getWidth()); dh = (availableHeight / boardSize.getHeight()); // ensure square proportions dw = dh = Math.min(dw, dh); -// availableWidth = availableHeight = Math.min(availableWidth, availableHeight); xoffset = (int) Math.floor((availableWidth - (dw * boardSize.getWidth())) / 2); yoffset = (int) Math.floor((availableHeight - (dh * boardSize.getHeight())) / 2); -// System.err.println("x offset: " + xoffset); -// System.err.println("y offset: " + yoffset); -// System.err.println("dw : " + dw); -// System.err.println("dh: " + dh); fontSize = (int)(0.85 * dh); font = new Font("sansserif", Font.BOLD, fontSize); - // make sure we've got enough room - setPreferredSize(new Dimension(availableWidth, availableHeight)); - + + setPreferredSize(screenSize); //FIXME: reduce code duplication // get scaled instances of the originals int cellWidth = getCellWidth(); diff -r 343962b451f23920a630e066e5ebdb85159981c0 -r 497e1d3ec2712a3e54af909465586e451ec4f61a src/main/java/edu/asu/commons/foraging/ui/SubjectView.java --- a/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java +++ b/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java @@ -158,10 +158,11 @@ int radius = viewSubjectsRadius; viewSubjectsField.setCenter(currentPosition); Point topLeftCorner = new Point(currentPosition.x - radius, currentPosition.y - radius); - double x = scaleXDouble(topLeftCorner.x) + fieldOfVisionXOffset; - double y = scaleYDouble(topLeftCorner.y) + fieldOfVisionYOffset; + // for some reason + double x = Math.ceil(scaleXDouble(topLeftCorner.x) + fieldOfVisionXOffset); + double y = Math.ceil(scaleYDouble(topLeftCorner.y) + fieldOfVisionYOffset); double diameter = radius * 2.0d; - diameter = Math.min(scaleXDouble(diameter), scaleYDouble(diameter)) + (dw / 2); + diameter = Math.max(scaleXDouble(diameter), scaleYDouble(diameter)) + (dw / 2); Ellipse2D.Double circle = new Ellipse2D.Double(x, y, diameter, diameter); // clip the rendered part of the Field of vision circle that crosses the playing boundary graphics2D.setClip(circle); @@ -170,6 +171,7 @@ graphics2D.clip(bounds); Paint originalPaint = graphics2D.getPaint(); graphics2D.setPaint(FIELD_OF_VISION_COLOR); +// graphics2D.fillOval((int) x, (int) y, (int) diameter, (int) diameter); graphics2D.fill(circle); graphics2D.setPaint(originalPaint); } https://bitbucket.org/virtualcommons/foraging/changeset/e2b29db0ddf5/ changeset: e2b29db0ddf5 user: alllee date: 2011-11-18 22:11:33 summary: tweaking diameter offset affected #: 1 file diff -r 497e1d3ec2712a3e54af909465586e451ec4f61a -r e2b29db0ddf574438e03859936a33e9c9107aa49 src/main/java/edu/asu/commons/foraging/ui/SubjectView.java --- a/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java +++ b/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java @@ -162,7 +162,7 @@ double x = Math.ceil(scaleXDouble(topLeftCorner.x) + fieldOfVisionXOffset); double y = Math.ceil(scaleYDouble(topLeftCorner.y) + fieldOfVisionYOffset); double diameter = radius * 2.0d; - diameter = Math.max(scaleXDouble(diameter), scaleYDouble(diameter)) + (dw / 2); + diameter = Math.min(scaleXDouble(diameter), scaleYDouble(diameter)) + (dw * 0.75); Ellipse2D.Double circle = new Ellipse2D.Double(x, y, diameter, diameter); // clip the rendered part of the Field of vision circle that crosses the playing boundary graphics2D.setClip(circle); 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. |
From: Bitbucket <com...@bi...> - 2011-11-15 20:02:02
|
1 new commit in foraging: https://bitbucket.org/virtualcommons/foraging/changeset/f467c3bd858c/ changeset: f467c3bd858c user: alllee date: 2011-11-15 21:01:47 summary: fixing clipping range bug in rendering and working on some improvements to instructions building affected #: 6 files diff -r ed8ed0f247fd90e1da4716fadeaff361802defc5 -r f467c3bd858c5af915cd4d11d9c6274cfb0f269f src/main/java/edu/asu/commons/foraging/client/ForagingClient.java --- a/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java +++ b/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java @@ -237,6 +237,7 @@ private void initialize2DEventProcessors() { addEventProcessor(new EventTypeProcessor<BeginChatRoundRequest>(BeginChatRoundRequest.class) { public void handle(BeginChatRoundRequest request) { + System.err.println("Starting chat round"); dataModel.initialize(request.getGroupDataModel()); getGameWindow2D().initializeChatPanel(); } diff -r ed8ed0f247fd90e1da4716fadeaff361802defc5 -r f467c3bd858c5af915cd4d11d9c6274cfb0f269f src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java --- a/src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java +++ b/src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java @@ -426,9 +426,8 @@ return getBooleanProperty("chat-enabled"); } - // Should always return true for 3d experiments public boolean isChatEnabled() { - return isChatRoundEnabled() || isInRoundChatEnabled(); + return isChatRoundEnabled() || isInRoundChatEnabled() || isCensoredChat(); } public int getMaximumResourceAge() { @@ -603,25 +602,25 @@ return instructionsBuilder; } - public StringBuilder addAllSpecialInstructions(StringBuilder builder) { + public StringBuilder addAllSpecialInstructions(StringBuilder instructionsBuilder) { + // FIXME: refactor this convoluted conditional logic if possible + StringBuilder builder = new StringBuilder(); if (isFieldOfVisionEnabled()) { addSpecialInstructions(builder, getFieldOfVisionInstructions()); } if (isSanctioningEnabled()) { addSpecialInstructions(builder, getSanctionInstructions()); } - if (isCensoredChat()) { - addSpecialInstructions(builder, getCensoredChatInstructions()); - } - else if (isInRoundChatEnabled()) { + if (isInRoundChatEnabled()) { addSpecialInstructions(builder, getInRoundChatInstructions()); } else if (isChatEnabled()) { - // FIXME: hard-coded, need to make instructions template-able, perhaps - // via FreeMarker or Velocity. addSpecialInstructions(builder, "Before the beginning of this round you will be able to chat with the other members of your group for " + getChatDuration() + " seconds."); } + if (isCensoredChat()) { + addSpecialInstructions(builder, getCensoredChatInstructions()); + } String resourceGeneratorType = getResourceGeneratorType(); if (resourceGeneratorType.equals("mobile")) { addSpecialInstructions(builder, getMobileResourceInstructions()); @@ -629,11 +628,16 @@ else if (resourceGeneratorType.equals("top-bottom-patchy")) { addSpecialInstructions(builder, getPatchyResourceInstructions()); } - return builder; + if (builder.toString().isEmpty()) { + return instructionsBuilder; + } + else { + return instructionsBuilder.append("<h1>Additional instructions</h1><hr><ul>").append(builder).append("</ul>"); + } } private void addSpecialInstructions(StringBuilder builder, String instructions) { - builder.append("<p>").append(instructions).append("</p>"); + builder.append("<li>").append(instructions).append("</li>"); } private String getMobileResourceInstructions() { diff -r ed8ed0f247fd90e1da4716fadeaff361802defc5 -r f467c3bd858c5af915cd4d11d9c6274cfb0f269f 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 @@ -69,7 +69,6 @@ import edu.asu.commons.foraging.model.EnforcementMechanism; import edu.asu.commons.foraging.model.GroupDataModel; import edu.asu.commons.foraging.model.ResourceDispenser; -import edu.asu.commons.foraging.model.SanctionMechanism; import edu.asu.commons.foraging.model.ServerDataModel; import edu.asu.commons.foraging.rules.ForagingRule; import edu.asu.commons.foraging.ui.Circle; @@ -157,6 +156,7 @@ } else if (input.equals("skip-quiz")) { System.out.println("skipping quiz"); + numberOfSubmittedQuizzes = clients.size(); Utils.notify(quizSignal); } else if (input.equals("start-round")) { @@ -202,6 +202,7 @@ private ResourceDispenser resourceDispenser; private ServerState serverState; private final Duration secondTick = Duration.create(1000L); + private volatile boolean groupsInitialized; /** * Initializes the state machine before the experiment ever begins. @@ -682,30 +683,12 @@ // another way to handle this is to have the clients added // to groups when the show instructions request is handled.. initializeGroups(); - /* - if (getCurrentRoundConfiguration().isFirstRound()) { - shuffleParticipants(); - } - + sendFacilitatorMessage("Sending begin chat round request to all participants"); for (Map.Entry<Identifier, ClientData> entry : clients.entrySet()) { Identifier id = entry.getKey(); ClientData clientData = entry.getValue(); - // FIXME: hacky, get rid of this. - if (clientData.getGroupDataModel() == null) { - // we haven't added this client to the server data model yet. Add them now.. - // FIXME: will this cause problems if we invoke shuffleParticipants() later? I.e., - // the clients get added to the server data model for the purposes of the chat - // and then when they start the actual round they get reshuffled? Need to - // rethink clearly/carefully how clients and when clients get added to the server - // data model...! - serverDataModel.addClient(clientData); - } transmit(new BeginChatRoundRequest(id, clientData.getGroupDataModel())); - // FIXME: should we initialize the persister now? - // just store communication traffic in a separate text file. - } - */ } } }); @@ -887,8 +870,6 @@ private void stopRound() { serverState = ServerState.WAITING; - // FIXME: not needed, persister.persist() automatically adds this. - // persister.store(new RoundEndedMarkerEvent()); sendEndRoundEvents(); if (getCurrentRoundConfiguration().isPostRoundSanctioningEnabled()) { // stop most of the round but don't persist/cleanup yet. @@ -926,6 +907,7 @@ private void cleanupRound() { numberOfSubmittedQuizzes = 0; + groupsInitialized = false; serverDataModel.cleanupRound(); for (ClientData clientData : clients.values()) { clientData.reset(); @@ -950,12 +932,14 @@ } private boolean shouldShuffleParticipants() { + // guard to ensure that we don't shuffle participants twice in a round (in the event there was a chat round preceding the normal game round) + if (groupsInitialized) return false; RoundConfiguration currentRoundConfiguration = getCurrentRoundConfiguration(); RoundConfiguration previousRoundConfiguration = getConfiguration().getPreviousRoundConfiguration(); - // when do we _have_ to shuffle participants? + // we shuffle participants: // 1. when randomize-groups is set for the next round // 2. when we move from a private property round to a open access round - // 3. in general, when the clients per group in the current round is different from the + // 3. when the clients per group in the current round is different from the // clients per group in the next round (FIXME: is this too broad or can #2 just be a special case of this?) return currentRoundConfiguration.shouldRandomizeGroup() || (previousRoundConfiguration.getClientsPerGroup() != currentRoundConfiguration.getClientsPerGroup()); @@ -996,6 +980,7 @@ // set up the resource dispenser, generates the initial resource distributions for the // groups, must be done after creating the client group relationships. resourceDispenser.initialize(); + groupsInitialized = true; } private void startRound() { diff -r ed8ed0f247fd90e1da4716fadeaff361802defc5 -r f467c3bd858c5af915cd4d11d9c6274cfb0f269f src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java --- a/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java +++ b/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java @@ -471,11 +471,16 @@ switch (keyCode) { // token request handling case KeyEvent.VK_SPACE: - if (dataModel.isHarvestingAllowed()) { - event = new CollectTokenRequest(client.getId()); + try { + if (dataModel.isHarvestingAllowed()) { + event = new CollectTokenRequest(client.getId()); + } + else { + displayErrorMessage("You cannot harvest at this time."); + } } - else { - displayErrorMessage("You cannot harvest at this time."); + catch (RuntimeException exception) { + displayErrorMessage("You cannot harvest at this time"); } break; // real-time sanctioning keycode handling @@ -709,6 +714,7 @@ private ChatPanel getChatPanel() { if (chatPanel == null) { chatPanel = new ChatPanel(client); + chatPanel.setName(CHAT_PANEL_NAME); } return chatPanel; } @@ -881,7 +887,7 @@ SwingUtilities.invokeLater(new Runnable() { public void run() { ChatPanel chatPanel = getChatPanel(); - chatPanel.initialize(client.getDataModel()); + chatPanel.initialize(dataModel); showPanel(CHAT_PANEL_NAME); startChatTimer(); } diff -r ed8ed0f247fd90e1da4716fadeaff361802defc5 -r f467c3bd858c5af915cd4d11d9c6274cfb0f269f src/main/java/edu/asu/commons/foraging/ui/GridView.java --- a/src/main/java/edu/asu/commons/foraging/ui/GridView.java +++ b/src/main/java/edu/asu/commons/foraging/ui/GridView.java @@ -73,8 +73,8 @@ dw = (availableWidth / boardSize.getWidth()); dh = (availableHeight / boardSize.getHeight()); // ensure square proportions - dh = dw = Math.min(dw, dh); -// dh = dw; + dw = dh = Math.min(dw, dh); +// availableWidth = availableHeight = Math.min(availableWidth, availableHeight); xoffset = (int) Math.floor((availableWidth - (dw * boardSize.getWidth())) / 2); yoffset = (int) Math.floor((availableHeight - (dh * boardSize.getHeight())) / 2); diff -r ed8ed0f247fd90e1da4716fadeaff361802defc5 -r f467c3bd858c5af915cd4d11d9c6274cfb0f269f src/main/java/edu/asu/commons/foraging/ui/SubjectView.java --- a/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java +++ b/src/main/java/edu/asu/commons/foraging/ui/SubjectView.java @@ -6,6 +6,7 @@ import java.awt.Graphics2D; import java.awt.Paint; import java.awt.Point; +import java.awt.Rectangle; import java.awt.geom.Ellipse2D; import java.util.HashMap; import java.util.Iterator; @@ -164,6 +165,9 @@ Ellipse2D.Double circle = new Ellipse2D.Double(x, y, diameter, diameter); // clip the rendered part of the Field of vision circle that crosses the playing boundary graphics2D.setClip(circle); + // this is actually a bit too tall, fine-tune & investigate later + Rectangle bounds = new Rectangle(getPreferredSize()); + graphics2D.clip(bounds); Paint originalPaint = graphics2D.getPaint(); graphics2D.setPaint(FIELD_OF_VISION_COLOR); graphics2D.fill(circle); 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. |
From: Bitbucket <com...@bi...> - 2011-10-17 09:01:29
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/ed8ed0f247fd/ changeset: ed8ed0f247fd user: alllee date: 2011-10-17 11:01:28 summary: adding error message / basic config check to ant deploy targets affected #: 1 file (-1 bytes) --- a/build.xml Mon Oct 17 00:50:59 2011 -0700 +++ b/build.xml Mon Oct 17 02:01:28 2011 -0700 @@ -134,7 +134,7 @@ <chmod dir="${deploy.dir}" perm="664" type="file" includes="**"/><chmod dir="${deploy.dir}" perm="775" type="dir" includes="**"/></target> - <target name="deploy"> + <target name="deploy" depends='check-configuration' if='configuration.present'><antcall target="deploy-to"><param name="deploy.dir" value="${web.dir}"/></antcall> @@ -241,7 +241,12 @@ <java classname="${facilitator.class}" classpathref="project.classpath" fork="yes"/></target><target name="deploy-server" depends="deploy, server"/> - <target name="server" depends="compile"> + <target name='check-configuration'> + <available file='${conf.dir}/server.xml' property='configuration.present'/> + <fail message="Did not find any configuration files in ${conf.dir}, please copy over an appropriate set of configuration files into ${conf.dir}" + unless="configuration.present" /> + </target> + <target name="server" depends="compile,check-configuration" if='configuration.present'><!-- make sure we update the configuration --><copy todir="${build.dir}/conf" overwrite="true"><fileset dir="${conf.dir}"/> @@ -251,6 +256,7 @@ <filter token="CODEBASE_URL" value="${codebase.url}"/></filterset></copy> + <java classname="${server.class}" classpathref="project.classpath" fork="yes"><jvmarg value="-server"/></java> 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. |
From: Bitbucket <com...@bi...> - 2011-10-17 07:51:01
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/3b5657271643/ changeset: 3b5657271643 user: alllee date: 2011-10-17 09:50:59 summary: fixing deploy.bat affected #: 1 file (-1 bytes) --- a/deploy.bat Mon Oct 17 00:04:48 2011 -0700 +++ b/deploy.bat Mon Oct 17 00:50:59 2011 -0700 @@ -7,4 +7,4 @@ set M2_HOME=C:\tools\maven set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_26 set PATH=%M2_HOME%\bin;%ANT_HOME%\bin;%JAVA_HOME%\bin;%PATH% -mvn clean compile && ant clean deploy server +ant clean deploy server 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. |
From: Bitbucket <com...@bi...> - 2011-10-17 07:04:47
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/238d2f03f57c/ changeset: 238d2f03f57c user: alllee date: 2011-10-17 09:04:48 summary: updated instructions, storing the selected rules in the ClientDataModel so we can remind the participants at the appropriate time. affected #: 4 files (-1 bytes) --- a/src/main/java/edu/asu/commons/foraging/client/ClientDataModel.java Sun Oct 16 23:43:33 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/client/ClientDataModel.java Mon Oct 17 00:04:48 2011 -0700 @@ -20,10 +20,10 @@ import edu.asu.commons.foraging.model.RegulationData; import edu.asu.commons.foraging.model.Resource; import edu.asu.commons.foraging.model.SanctionMechanism; +import edu.asu.commons.foraging.rules.ForagingRule; import edu.asu.commons.foraging.ui.GameWindow2D; import edu.asu.commons.net.Identifier; import edu.asu.commons.util.Duration; - /** * $Id: ClientDataModel.java 499 2010-03-31 00:58:49Z alllee $ * @@ -50,6 +50,7 @@ // these are the subjects that have sanctioned us. private Map<Identifier, Duration> sanctioners = new HashMap<Identifier, Duration>(); + private List<ForagingRule> selectedRules = new ArrayList<ForagingRule>(); private ForagingClient client; private volatile boolean explicitCollectionMode = false; @@ -287,11 +288,18 @@ return groupDataModel.getRemovedResources(); } - public void setActiveRegulation(RegulationData regulationData) { - groupDataModel.setActiveRegulation(regulationData); - } - - public RegulationData getActiveRegulation() { - return groupDataModel.getActiveRegulation(); - } + public void setActiveRegulation(RegulationData regulationData) { + groupDataModel.setActiveRegulation(regulationData); + } + + public RegulationData getActiveRegulation() { + return groupDataModel.getActiveRegulation(); + } + public void setSelectedRules(List<ForagingRule> selectedRules) { + this.selectedRules = selectedRules; + } + + public List<ForagingRule> getSelectedRules() { + return selectedRules; + } } --- a/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java Sun Oct 16 23:43:33 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java Mon Oct 17 00:04:48 2011 -0700 @@ -171,6 +171,7 @@ addEventProcessor(new EventTypeProcessor<RuleSelectedUpdateEvent>(RuleSelectedUpdateEvent.class) { @Override public void handle(RuleSelectedUpdateEvent event) { + dataModel.setSelectedRules(event.getSelectedRules()); getGameWindow2D().showVotingResults(event.getSelectedRules(), event.getVotingResults()); } }); --- a/src/main/java/edu/asu/commons/foraging/ui/VotingForm.java Sun Oct 16 23:43:33 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/ui/VotingForm.java Mon Oct 17 00:04:48 2011 -0700 @@ -92,7 +92,7 @@ } else { Integer numberOfVotes = votingResults.get(rule); - component = new JLabel(String.format("%s votes", numberOfVotes == null ? "0" : numberOfVotes)); + component = new JLabel(String.valueOf(numberOfVotes == null ? 0 : numberOfVotes)); } horizontalButtonParallelGroup.addComponent(component); verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(ruleLabel).addComponent(component)); --- a/src/main/resources/configuration/indiana-experiments/2011/vote+punishment/round4.xml Sun Oct 16 23:43:33 2011 -0700 +++ b/src/main/resources/configuration/indiana-experiments/2011/vote+punishment/round4.xml Mon Oct 17 00:04:48 2011 -0700 @@ -101,18 +101,17 @@ <entry key="sanction-multiplier">2</entry><entry key='sanction-instructions'><![CDATA[ - <h1>Instructions</h1> + <h1>Important New Instructions! Reducing other player's earnings.</h1><hr><p> -During this upcoming round you will have the option to reduce the earnings of +Beginning with the upcoming round you will have the option to reduce the earnings of another participant at a cost to your own earnings. </p> -<h2>How it works</h2> -<hr><ul> - <li>If you press the numeric key 1-5 corresponding to another participant, you - will reduce the number of tokens they have collected in this round by two - tokens. This will also reduce your own token amount by one token. The decision + <li>Each player in your group has a number from 1 to {clientsPerGroup}. If + you press a number key 1-{clientsPerGroup}, you will reduce the number + of tokens that player has collected during the round by two tokens. This + will also reduce your own token amount by one token. The decision whether or when to use this option is up to you. </li><li>When you reduce the number of tokens of another participant, they will @@ -125,8 +124,8 @@ your yellow dot will turn red briefly with a blue background. The participant currently reducing your tokens will turn purple with a white background. </li> - <li>You may reduce the earnings of other participants as long as there are - tokens remaining on the screen and while both you and the other participant + <li>You may reduce the earnings of other participants as long as (1) there are + tokens remaining on the screen and (2) both you and the other participant have a positive number of tokens collected during the round. <b>Each time</b> you press the numeric key corresponding to another participant your token amount is reduced by <b>one</b>, and their token amount is reduced by 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. |
From: Bitbucket <com...@bi...> - 2011-10-17 06:43:32
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/ef41226a9c29/ changeset: ef41226a9c29 user: alllee date: 2011-10-17 08:43:33 summary: updated round instructions affected #: 2 files (-1 bytes) --- a/src/main/resources/configuration/indiana-experiments/2011/vote+punishment/round0.xml Sun Oct 16 23:19:55 2011 -0700 +++ b/src/main/resources/configuration/indiana-experiments/2011/vote+punishment/round0.xml Sun Oct 16 23:43:33 2011 -0700 @@ -37,15 +37,17 @@ <h2>Quiz</h2><hr><p> -Before we begin the practice round please answer the following questions. You will earn $0.50 for each correct answer. + 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 $0.50 for each correct answer. </p><br><br><form> -<span class='q1'>Q1. Which one of the following statements is incorrect?</span><br> +<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. In order 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> +<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> --- a/src/main/resources/configuration/indiana-experiments/2011/vote+punishment/round1.xml Sun Oct 16 23:19:55 2011 -0700 +++ b/src/main/resources/configuration/indiana-experiments/2011/vote+punishment/round1.xml Sun Oct 16 23:43:33 2011 -0700 @@ -13,38 +13,47 @@ <entry key="instructions"><![CDATA[ -<h3>Round 1 Instructions</h3> +<h3>Instructions for Round 1</h3><hr><p> -This is the first round of the experiment. The length of the round is 4 -minutes. As in the practice round you can collect green tokens but now -you will earn <b>two cents</b> for each token collected. You <b>cannot</b> -reset the distribution of green tokens. + The first round of the experiment will begin in a moment. The length of the + round is 4 minutes. As in the practice round you can collect green tokens. + This time you will earn <b>two cents</b> for each token collected. This time + 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 three other random players in this room . In particular, +each of you in this room has been randomly assigned to one of several equal-sized 4 +person groups and everyone in your group has been randomly assigned a number from 1 +to 4. You will stay in the same group for the entire experiment, and each person's +number from 1 to 4 will remain the same throughout the experiment. The other three people in 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 this round the renewable resource will become five times bigger. You will share this -larger environment with four other players in this room that have been randomly -selected. Each group's resource environment is distinct from the other groups. + 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>Anonymity</h3> +<hr><p> -Each of you has been assigned a number from 1 to 5. These numbers will remain the -same throughout the experiment but you will <b>not</b> be able to identify which -person in the room has been assigned which number, so your anonymity is guaranteed. + 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> -The other four players will appear on the screen as blue dots -<img src="@CODEBASE_URL@/images/gem-other.gif"> with a white -number embedded in the dot. On the top right corner of the screen you can see -how many tokens each player has collected. On the top left corner of the screen you can see -a clock that displays the remaining time in the round.</p> -<p>Since you can only see the resource within your vision you may neither see all -the other participants nor all the resource units. The figure below indicates the -vision range compared to the whole environment</p> -<img src="@CODEBASE_URL@/images/vision-range.jpg"> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> +<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> 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. |
From: Bitbucket <com...@bi...> - 2011-10-17 06:19:54
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/c5b11266fae5/ changeset: c5b11266fae5 user: alllee date: 2011-10-17 08:19:55 summary: renaming treatments affected #: 22 files (-1 bytes) --- a/src/main/resources/configuration/indiana-experiments/2011/t1/round0.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -<?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> -You will now have four minutes 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 half of the cells are occupied with green tokens. The -environment is a 13 x 13 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 resource to its initial distribution, -randomly filling half of the cells. -</p> -<p>If you have any questions please raise your hand. <b>Do you have any questions so far?</b></p> -]]> -</entry> - -<entry key="quiz-instructions"> -<![CDATA[ -<h2>Quiz</h2> -<hr> -<p> -Before we begin the practice round please answer the following questions. You will earn $0.50 for each correct answer. -</p> -<br><br> -<form> -<span class='q1'>Q1. Which one of the following statements is incorrect?</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. In order 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='q1-explanation'> - <![CDATA[ - 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. - ]]> -</entry> -<entry key='q2-explanation'> - <![CDATA[ - Tokens cannot regenerate on an empty screen as shown in sequence B. - ]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/2011/t1/round1.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -<?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">4</entry> -<entry key="duration">240</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 1 Instructions</h3> -<hr> -<p> -This is the first round of the experiment. The length of the round is 4 -minutes. As in the practice round you can collect green tokens but now -you will earn <b>two cents</b> for each token collected. You <b>cannot</b> -reset the distribution of green tokens. -</p> -<p> -In this round the renewable resource will become five times bigger. You will share this -larger environment with four other players in this room that have been randomly -selected. Each group's resource environment is distinct from the other groups. -</p> -<p> -Each of you has been assigned a number from 1 to 5. These numbers will remain the -same throughout the experiment but you will <b>not</b> be able to identify which -person in the room has been assigned which number, so your anonymity is guaranteed. -</p> - -<p> -The other four players will appear on the screen as blue dots -<img src="@CODEBASE_URL@/images/gem-other.gif"> with a white -number embedded in the dot. On the top right corner of the screen you can see -how many tokens each player has collected. On the top left corner of the screen you can see -a clock that displays the remaining time in the round.</p> -<p>Since you can only see the resource within your vision you may neither see all -the other participants nor all the resource units. The figure below indicates the -vision range compared to the whole environment</p> -<img src="@CODEBASE_URL@/images/vision-range.jpg"> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/2011/t1/round2.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -<?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">4</entry> -<entry key="duration">240</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> - - -<!-- enable field of vision for tokens and subjects --> -<entry key='initial-distribution'>.25</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 2 Instructions</h3> -<hr> -<p> -Round 2 is the same as round 1. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/2011/t1/round3.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -<?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">4</entry> -<entry key="duration">240</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<!-- resource regrowth parameters --> -<entry key="initial-distribution">.25</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Round 3 Instructions</h3> -<hr> -<p>This round is the same as the previous round.</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/2011/t1/round4.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,139 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> -<entry key="duration">240</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key="initial-distribution">.25</entry> -<entry key='voting-enabled'>true</entry> -<entry key='initial-voting-instructions'> - <![CDATA[ -<h1>Notice</h1> -<hr> -<p> -In a moment, you will see a screen on your computer called Rule Options. It -will list 6 different rules that you can consider as options for managing how -each of your groups collect green tokens today. -</p> -<p> -You can nominate one rule from the list to help decide whether or not to have a -rule and what that rule will be. The rule that has the most nominations will be -considered chosen and established as the rule. If there is a tie, then each -tied nominated rule will receive an equal chance of getting selected at random. -</p> - ]]> -</entry> - - -<entry key='voting-instructions'> -<![CDATA[ -<h1>Instructions</h1> -<hr> -<p> -To nominate a rule, click the radio button to the left of the one you choose, and -then click "submit." The computer will tally the nominations and then report -the results on the next screen. The results will be presented to each -participant in your group and the experimenter. -</p> - -<p> -The identity of people who nominated a particular rule will NOT be revealed. -Therefore, neither you nor the experimenter will know who nominated a -particular rule. -</p> - -</p> -]]> -</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 4 Instructions</h3> -<hr> -<p> - Round 4 is about to begin. -</p> - -<p> -The length of this round is four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> - -<entry key='external-survey-enabled'>true</entry> -<entry key='survey-instructions'> - <![CDATA[ - <h1>Survey</h1> - <hr> - <p> - Before we continue to the next round of the token task, we would like to ask you - some quick questions. At the beginning of the survey you will need to enter: - </p> - <ul> - <li><b>Your survey ID</b>: {surveyId} </li> - </ul> - <p> - Please <a href='{surveyLink}'>click here</a> to begin the survey. - </p> - ]]> -</entry> - -<entry key='survey-link'> - <![CDATA[ - https://qtrial.qualtrics.com/SE/?SID=SV_cLX7jnYikmD9eSM - ]]> -</entry> - - -<entry key='sanction-type'>real-time</entry> -<entry key="sanction-cost">1</entry> -<entry key="sanction-multiplier">2</entry> -<entry key='sanction-instructions'> - <![CDATA[ - <h1>Instructions</h1> - <hr> -<p> -During this upcoming round you will have the option to reduce the earnings of -another participant at a cost to your own earnings. -</p> -<h2>How it works</h2> -<hr> - <ul> - <li>If you press the numeric key 1-5 corresponding to another participant, you - will reduce the number of tokens they have collected in this round by two - tokens. This will also reduce your own token amount by one token. The decision - whether or when to use this option is up to you. - </li> - <li>When you reduce the number of tokens of another participant, they will - receive a message stating that you have reduced their tokens. Likewise, if - another participant reduces your number of tokens, you will also receive a - message. These messages will be displayed on the bottom of your screen. - </li> - <li>If your tokens are being reduced or you are reducing another participant's - tokens, you will receive some visual cues. When your tokens are being reduced - your yellow dot will turn red briefly with a blue background. The participant - currently reducing your tokens will turn purple with a white background. - </li> - <li>You may reduce the earnings of other participants as long as there are - tokens remaining on the screen and while both you and the other participant - have a positive number of tokens collected during the round. <b>Each time</b> - you press the numeric key corresponding to another participant your token - amount is reduced by <b>one</b>, and their token amount is reduced by - <b>two</b>. - </li> - </ul> - ]]> -</entry> - -</properties> --- a/src/main/resources/configuration/indiana-experiments/2011/t1/round5.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</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="instructions"> -<![CDATA[ -<h3>Round 5 Instructions</h3> -<hr> -<p> -Round 5 is the same as round 4.</p> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> - -<entry key='sanction-type'>real-time</entry> -<entry key="sanction-cost">1</entry> -<entry key="sanction-multiplier">2</entry> -<entry key='sanction-instructions'> - <![CDATA[ - <h1>Instructions</h1> - <hr> -<p> -During this upcoming round you will have the option to reduce the earnings of -another participant at a cost to your own earnings. -</p> -<h2>How it works</h2> -<hr> - <ul> - <li>If you press the numeric key 1-5 corresponding to another participant, you - will reduce the number of tokens they have collected in this round by two - tokens. This will also reduce your own token amount by one token. The decision - whether or when to use this option is up to you. - </li> - <li>When you reduce the number of tokens of another participant, they will - receive a message stating that you have reduced their tokens. Likewise, if - another participant reduces your number of tokens, you will also receive a - message. These messages will be displayed on the bottom of your screen. - </li> - <li>If your tokens are being reduced or you are reducing another participant's - tokens, you will receive some visual cues. When your tokens are being reduced - your yellow dot will turn red briefly with a blue background. The participant - currently reducing your tokens will turn purple with a white background. - </li> - <li>You may reduce the earnings of other participants as long as there are - tokens remaining on the screen and while both you and the other participant - have a positive number of tokens collected during the round. <b>Each time</b> - you press the numeric key corresponding to another participant your token - amount is reduced by <b>one</b>, and their token amount is reduced by - <b>two</b>. - </li> - </ul> - ]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/2011/t1/round6.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</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='sanction-type'>real-time</entry> -<entry key="sanction-cost">1</entry> -<entry key="sanction-multiplier">2</entry> -<entry key='sanction-instructions'> - <![CDATA[ - <h1>Instructions</h1> - <hr> -<p> -During this upcoming round you will have the option to reduce the earnings of -another participant at a cost to your own earnings. -</p> -<h2>How it works</h2> -<hr> - <ul> - <li>If you press the numeric key 1-5 corresponding to another participant, you - will reduce the number of tokens they have collected in this round by two - tokens. This will also reduce your own token amount by one token. The decision - whether or when to use this option is up to you. - </li> - <li>When you reduce the number of tokens of another participant, they will - receive a message stating that you have reduced their tokens. Likewise, if - another participant reduces your number of tokens, you will also receive a - message. These messages will be displayed on the bottom of your screen. - </li> - <li>If your tokens are being reduced or you are reducing another participant's - tokens, you will receive some visual cues. When your tokens are being reduced - your yellow dot will turn red briefly with a blue background. The participant - currently reducing your tokens will turn purple with a white background. - </li> - <li>You may reduce the earnings of other participants as long as there are - tokens remaining on the screen and while both you and the other participant - have a positive number of tokens collected during the round. <b>Each time</b> - you press the numeric key corresponding to another participant your token - amount is reduced by <b>one</b>, and their token amount is reduced by - <b>two</b>. - </li> - </ul> - ]]> -</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 6 Instructions</h3> -<hr> -<p> -Round 6 is the same as round 5.</p> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/2011/t1/round7.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</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='external-survey-enabled'>true</entry> -<entry key='survey-instructions'> - <![CDATA[ - <h1>Survey</h1> - <hr> - <p> - Before we continue to the next round of the token task, we would like to ask you - some quick questions. At the beginning of the survey you will need to enter: - </p> - <ul> - <li>Your participant ID: {participantId} </li> - <li>Your survey ID: {surveyId} </li> - </ul> - <p> - Please <a href='{surveyLink}'>click here</a> to begin the survey. - </p> - ]]> -</entry> - -<entry key='survey-link'> - <![CDATA[ - https://qtrial.qualtrics.com/SE/?SID=SV_3efXdNaJ6EXZ0S8 - ]]> -</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Instructions</h3> -<hr> -<p> -From this point forward, participants will NOT have the option to reduce the earnings of another participant. The length of this round is four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/2011/t1/round8.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> -<entry key="duration">240</entry> - -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="initial-distribution">.25</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Instructions</h3> -<hr> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/2011/t1/round9.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> -<entry key="duration">240</entry> - -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="initial-distribution">.25</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - - -<entry key='external-survey-enabled'>true</entry> -<entry key='survey-instructions'> - <![CDATA[ - <h1>Survey</h1> - <hr> - <p> - Before we continue to the next round of the token task, we would like to ask you - some quick questions. At the beginning of the survey you will need to enter: - </p> - <ul> - <li>Your participant ID: {participantId} </li> - <li>Your survey ID: {surveyId} </li> - </ul> - <p> - Please <a href='{surveyLink}'>click here</a> to begin the survey. - </p> - ]]> -</entry> - -<entry key='survey-link'> - <![CDATA[ - https://qtrial.qualtrics.com/SE/?SID=SV_e8rPe7yyhue5OVm - ]]> -</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Instructions</h3> -<hr> -<p> - This is the last round of the experiment. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -<entry key="last-round-debriefing"> - <![CDATA[ - <p> - This was the last round, but not the end of the experiment. We will now - determine your payments. While we are doing this, we request that you - carefully fill out a brief survey. - </p> - <p> - When we are ready we will call you one by one to the room next door. We - will - pay you there in private. Please wait until your computer number is called, - and then proceed to the room next door to turn in your computer number and - your survey. - </p> - <p> - Please answer the survey carefully and thank you for participating. - </p> - ]]> -</entry> - - -</properties> --- a/src/main/resources/configuration/indiana-experiments/2011/t1/server.xml Sun Oct 16 23:19:30 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,177 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> -<properties> -<comment>Foraging experiment server 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="round7">round7.xml</entry> -<entry key="round8">round8.xml</entry> -<entry key="round9">round9.xml</entry> -<entry key="wait-for-participants">true</entry> -<entry key="number-of-rounds">10</entry> -<entry key='external-survey-enabled'>true</entry> -<entry key='survey-id-enabled'>true</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> unless you -are told to do so. -</p> -]]> -</entry> - -<entry key="general-instructions"> -<![CDATA[ -<h1>General Instructions</h1> -<p> -You have already earned 5 dollars just for showing up at this experiment. You can -earn more, up to a maximum of about $15-$40, 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 as well as the decisions of your group members.</p> -<h2>The Token Task</h2> -<hr> -<p> - Today's experiment is on the computer. In the experiment, you can collect green - diamond shaped tokens <img src="@CODEBASE_URL@/images/gem-token.gif"></img>, and - you will earn <b>two cents</b> for each token you collect. When the token task - begins, you will appear on the screen as a yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"></img>. - To collect a token, move your yellow dot over a green token and <b>press the - space bar</b>. If you move over a token without pressing the space bar you will - NOT collect that token. You can move either up, down, left, or right. You have - to press an arrow key for every move of your yellow dot. -</p> -<p> - Later, you will be assigned to a group. The other group members will appear as - blue dots <img src="@CODEBASE_URL@/images/gem-other.gif"></img>. - -<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 that still have -tokens. The more tokens there are in the eight cells around empty cell, the faster -a new token will appear on that empty cell. -</p> -<p> -Tokens generate new tokens. Thus, the middle cell, which is denoted with X in Image 1 will be regenerated at a faster rate than the middle cell in Image 2. -When all neighboring cells are empty, there is no renewal. -</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"></img> -</td> -<td align="center"> - <img src="@CODEBASE_URL@/images/5neighbors.jpg" alt="image 2"></img> -</td> -</tr> -</table> -<p> - 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='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> -We are monitoring the chat traffic while you chat. If we detect any violation of the -rules we will have to stop the the experiment and remove the group where the offense -occurred from the room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</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. |
From: Bitbucket <com...@bi...> - 2011-10-17 06:19:29
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/2294f0256610/ changeset: 2294f0256610 user: alllee date: 2011-10-17 08:19:30 summary: updating general instructions for vote + punishment treatment affected #: 11 files (-1 bytes) 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. |
From: Bitbucket <com...@bi...> - 2011-10-16 09:50:25
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/258b07814895/ changeset: 258b07814895 user: alllee date: 2011-10-16 11:50:23 summary: scheduling focus request via SwingUtilities to see if that helps with the focus issue. affected #: 1 file (-1 bytes) --- a/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java Sun Oct 16 02:43:06 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java Sun Oct 16 02:50:23 2011 -0700 @@ -434,7 +434,11 @@ showPanel(currentCardPanel); } }); - mainPanel.requestFocusInWindow(); + SwingUtilities.invokeLater(new Runnable() { + public void run() { + mainPanel.requestFocusInWindow(); + } + }); } /** 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. |
From: Bitbucket <com...@bi...> - 2011-10-16 09:43:08
|
2 new changesets in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/a6f03f0ead94/ changeset: a6f03f0ead94 user: alllee date: 2011-10-16 11:30:43 summary: starting to update configurations for indiana affected #: 22 files (-1 bytes) --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/round0.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,71 @@ +<?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> +You will now have four minutes 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 half of the cells are occupied with green tokens. The +environment is a 13 x 13 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 resource to its initial distribution, +randomly filling half of the cells. +</p> +<p>If you have any questions please raise your hand. <b>Do you have any questions so far?</b></p> +]]> +</entry> + +<entry key="quiz-instructions"> +<![CDATA[ +<h2>Quiz</h2> +<hr> +<p> +Before we begin the practice round please answer the following questions. You will earn $0.50 for each correct answer. +</p> +<br><br> +<form> +<span class='q1'>Q1. Which one of the following statements is incorrect?</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. In order 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='q1-explanation'> + <![CDATA[ + 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. + ]]> +</entry> +<entry key='q2-explanation'> + <![CDATA[ + Tokens cannot regenerate on an empty screen as shown in sequence B. + ]]> +</entry> +</properties> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/round1.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,51 @@ +<?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">4</entry> +<entry key="duration">240</entry> +<entry key="resource-depth">26</entry> +<entry key="resource-width">26</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round 1 Instructions</h3> +<hr> +<p> +This is the first round of the experiment. The length of the round is 4 +minutes. As in the practice round you can collect green tokens but now +you will earn <b>two cents</b> for each token collected. You <b>cannot</b> +reset the distribution of green tokens. +</p> +<p> +In this round the renewable resource will become five times bigger. You will share this +larger environment with four other players in this room that have been randomly +selected. Each group's resource environment is distinct from the other groups. +</p> +<p> +Each of you has been assigned a number from 1 to 5. These numbers will remain the +same throughout the experiment but you will <b>not</b> be able to identify which +person in the room has been assigned which number, so your anonymity is guaranteed. +</p> + +<p> +The other four players will appear on the screen as blue dots +<img src="@CODEBASE_URL@/images/gem-other.gif"> with a white +number embedded in the dot. On the top right corner of the screen you can see +how many tokens each player has collected. On the top left corner of the screen you can see +a clock that displays the remaining time in the round.</p> +<p>Since you can only see the resource within your vision you may neither see all +the other participants nor all the resource units. The figure below indicates the +vision range compared to the whole environment</p> +<img src="@CODEBASE_URL@/images/vision-range.jpg"> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +</properties> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/round2.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,31 @@ +<?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">4</entry> +<entry key="duration">240</entry> +<entry key="resource-depth">26</entry> +<entry key="resource-width">26</entry> + + +<!-- enable field of vision for tokens and subjects --> +<entry key='initial-distribution'>.25</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round 2 Instructions</h3> +<hr> +<p> +Round 2 is the same as round 1. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +</properties> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/round3.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,29 @@ +<?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">4</entry> +<entry key="duration">240</entry> +<entry key="resource-depth">26</entry> +<entry key="resource-width">26</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<!-- resource regrowth parameters --> +<entry key="initial-distribution">.25</entry> + + +<entry key="instructions"> +<![CDATA[ +<h3>Round 3 Instructions</h3> +<hr> +<p>This round is the same as the previous round.</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +</properties> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/round4.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,139 @@ +<?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">4</entry> +<entry key="resource-depth">26</entry> +<entry key="resource-width">26</entry> +<entry key="duration">240</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + +<entry key="initial-distribution">.25</entry> +<entry key='voting-enabled'>true</entry> +<entry key='initial-voting-instructions'> + <![CDATA[ +<h1>Notice</h1> +<hr> +<p> +In a moment, you will see a screen on your computer called Rule Options. It +will list 6 different rules that you can consider as options for managing how +each of your groups collect green tokens today. +</p> +<p> +You can nominate one rule from the list to help decide whether or not to have a +rule and what that rule will be. The rule that has the most nominations will be +considered chosen and established as the rule. If there is a tie, then each +tied nominated rule will receive an equal chance of getting selected at random. +</p> + ]]> +</entry> + + +<entry key='voting-instructions'> +<![CDATA[ +<h1>Instructions</h1> +<hr> +<p> +To nominate a rule, click the radio button to the left of the one you choose, and +then click "submit." The computer will tally the nominations and then report +the results on the next screen. The results will be presented to each +participant in your group and the experimenter. +</p> + +<p> +The identity of people who nominated a particular rule will NOT be revealed. +Therefore, neither you nor the experimenter will know who nominated a +particular rule. +</p> + +</p> +]]> +</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round 4 Instructions</h3> +<hr> +<p> + Round 4 is about to begin. +</p> + +<p> +The length of this round is four minutes. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> + +<entry key='external-survey-enabled'>true</entry> +<entry key='survey-instructions'> + <![CDATA[ + <h1>Survey</h1> + <hr> + <p> + Before we continue to the next round of the token task, we would like to ask you + some quick questions. At the beginning of the survey you will need to enter: + </p> + <ul> + <li><b>Your survey ID</b>: {surveyId} </li> + </ul> + <p> + Please <a href='{surveyLink}'>click here</a> to begin the survey. + </p> + ]]> +</entry> + +<entry key='survey-link'> + <![CDATA[ + https://qtrial.qualtrics.com/SE/?SID=SV_cLX7jnYikmD9eSM + ]]> +</entry> + + +<entry key='sanction-type'>real-time</entry> +<entry key="sanction-cost">1</entry> +<entry key="sanction-multiplier">2</entry> +<entry key='sanction-instructions'> + <![CDATA[ + <h1>Instructions</h1> + <hr> +<p> +During this upcoming round you will have the option to reduce the earnings of +another participant at a cost to your own earnings. +</p> +<h2>How it works</h2> +<hr> + <ul> + <li>If you press the numeric key 1-5 corresponding to another participant, you + will reduce the number of tokens they have collected in this round by two + tokens. This will also reduce your own token amount by one token. The decision + whether or when to use this option is up to you. + </li> + <li>When you reduce the number of tokens of another participant, they will + receive a message stating that you have reduced their tokens. Likewise, if + another participant reduces your number of tokens, you will also receive a + message. These messages will be displayed on the bottom of your screen. + </li> + <li>If your tokens are being reduced or you are reducing another participant's + tokens, you will receive some visual cues. When your tokens are being reduced + your yellow dot will turn red briefly with a blue background. The participant + currently reducing your tokens will turn purple with a white background. + </li> + <li>You may reduce the earnings of other participants as long as there are + tokens remaining on the screen and while both you and the other participant + have a positive number of tokens collected during the round. <b>Each time</b> + you press the numeric key corresponding to another participant your token + amount is reduced by <b>one</b>, and their token amount is reduced by + <b>two</b>. + </li> + </ul> + ]]> +</entry> + +</properties> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/round5.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,71 @@ +<?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">4</entry> +<entry key="resource-depth">26</entry> +<entry key="resource-width">26</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="instructions"> +<![CDATA[ +<h3>Round 5 Instructions</h3> +<hr> +<p> +Round 5 is the same as round 4.</p> +<p> +The length of this round is again four minutes. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> + +<entry key='sanction-type'>real-time</entry> +<entry key="sanction-cost">1</entry> +<entry key="sanction-multiplier">2</entry> +<entry key='sanction-instructions'> + <![CDATA[ + <h1>Instructions</h1> + <hr> +<p> +During this upcoming round you will have the option to reduce the earnings of +another participant at a cost to your own earnings. +</p> +<h2>How it works</h2> +<hr> + <ul> + <li>If you press the numeric key 1-5 corresponding to another participant, you + will reduce the number of tokens they have collected in this round by two + tokens. This will also reduce your own token amount by one token. The decision + whether or when to use this option is up to you. + </li> + <li>When you reduce the number of tokens of another participant, they will + receive a message stating that you have reduced their tokens. Likewise, if + another participant reduces your number of tokens, you will also receive a + message. These messages will be displayed on the bottom of your screen. + </li> + <li>If your tokens are being reduced or you are reducing another participant's + tokens, you will receive some visual cues. When your tokens are being reduced + your yellow dot will turn red briefly with a blue background. The participant + currently reducing your tokens will turn purple with a white background. + </li> + <li>You may reduce the earnings of other participants as long as there are + tokens remaining on the screen and while both you and the other participant + have a positive number of tokens collected during the round. <b>Each time</b> + you press the numeric key corresponding to another participant your token + amount is reduced by <b>one</b>, and their token amount is reduced by + <b>two</b>. + </li> + </ul> + ]]> +</entry> +</properties> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/round6.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,71 @@ +<?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">4</entry> +<entry key="resource-depth">26</entry> +<entry key="resource-width">26</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='sanction-type'>real-time</entry> +<entry key="sanction-cost">1</entry> +<entry key="sanction-multiplier">2</entry> +<entry key='sanction-instructions'> + <![CDATA[ + <h1>Instructions</h1> + <hr> +<p> +During this upcoming round you will have the option to reduce the earnings of +another participant at a cost to your own earnings. +</p> +<h2>How it works</h2> +<hr> + <ul> + <li>If you press the numeric key 1-5 corresponding to another participant, you + will reduce the number of tokens they have collected in this round by two + tokens. This will also reduce your own token amount by one token. The decision + whether or when to use this option is up to you. + </li> + <li>When you reduce the number of tokens of another participant, they will + receive a message stating that you have reduced their tokens. Likewise, if + another participant reduces your number of tokens, you will also receive a + message. These messages will be displayed on the bottom of your screen. + </li> + <li>If your tokens are being reduced or you are reducing another participant's + tokens, you will receive some visual cues. When your tokens are being reduced + your yellow dot will turn red briefly with a blue background. The participant + currently reducing your tokens will turn purple with a white background. + </li> + <li>You may reduce the earnings of other participants as long as there are + tokens remaining on the screen and while both you and the other participant + have a positive number of tokens collected during the round. <b>Each time</b> + you press the numeric key corresponding to another participant your token + amount is reduced by <b>one</b>, and their token amount is reduced by + <b>two</b>. + </li> + </ul> + ]]> +</entry> + +<entry key="instructions"> +<![CDATA[ +<h3>Round 6 Instructions</h3> +<hr> +<p> +Round 6 is the same as round 5.</p> +<p> +The length of this round is again four minutes. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +</properties> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/round7.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,56 @@ +<?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">4</entry> +<entry key="resource-depth">26</entry> +<entry key="resource-width">26</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='external-survey-enabled'>true</entry> +<entry key='survey-instructions'> + <![CDATA[ + <h1>Survey</h1> + <hr> + <p> + Before we continue to the next round of the token task, we would like to ask you + some quick questions. At the beginning of the survey you will need to enter: + </p> + <ul> + <li>Your participant ID: {participantId} </li> + <li>Your survey ID: {surveyId} </li> + </ul> + <p> + Please <a href='{surveyLink}'>click here</a> to begin the survey. + </p> + ]]> +</entry> + +<entry key='survey-link'> + <![CDATA[ + https://qtrial.qualtrics.com/SE/?SID=SV_3efXdNaJ6EXZ0S8 + ]]> +</entry> + + +<entry key="instructions"> +<![CDATA[ +<h3>Instructions</h3> +<hr> +<p> +From this point forward, participants will NOT have the option to reduce the earnings of another participant. The length of this round is four minutes. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +</properties> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/round8.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,33 @@ +<?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">4</entry> +<entry key="resource-depth">26</entry> +<entry key="resource-width">26</entry> +<entry key="duration">240</entry> + +<entry key='tokens-field-of-vision'>true</entry> +<entry key='subjects-field-of-vision'>true</entry> + +<entry key="initial-distribution">.25</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + + +<entry key="instructions"> +<![CDATA[ +<h3>Instructions</h3> +<hr> +<p> +The length of this round is again four minutes. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +</properties> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/round9.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,80 @@ +<?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">4</entry> +<entry key="resource-depth">26</entry> +<entry key="resource-width">26</entry> +<entry key="duration">240</entry> + +<entry key='tokens-field-of-vision'>true</entry> +<entry key='subjects-field-of-vision'>true</entry> + +<entry key="initial-distribution">.25</entry> + +<entry key='always-explicit'>true</entry> +<entry key='max-cell-occupancy'>1</entry> + + +<entry key='external-survey-enabled'>true</entry> +<entry key='survey-instructions'> + <![CDATA[ + <h1>Survey</h1> + <hr> + <p> + Before we continue to the next round of the token task, we would like to ask you + some quick questions. At the beginning of the survey you will need to enter: + </p> + <ul> + <li>Your participant ID: {participantId} </li> + <li>Your survey ID: {surveyId} </li> + </ul> + <p> + Please <a href='{surveyLink}'>click here</a> to begin the survey. + </p> + ]]> +</entry> + +<entry key='survey-link'> + <![CDATA[ + https://qtrial.qualtrics.com/SE/?SID=SV_e8rPe7yyhue5OVm + ]]> +</entry> + + +<entry key="instructions"> +<![CDATA[ +<h3>Instructions</h3> +<hr> +<p> + This is the last round of the experiment. +</p> +<p> +If you have any questions please raise your hand. <b>Do you have any +questions so far?</b> +</p> +]]> +</entry> +<entry key="last-round-debriefing"> + <![CDATA[ + <p> + This was the last round, but not the end of the experiment. We will now + determine your payments. While we are doing this, we request that you + carefully fill out a brief survey. + </p> + <p> + When we are ready we will call you one by one to the room next door. We + will + pay you there in private. Please wait until your computer number is called, + and then proceed to the room next door to turn in your computer number and + your survey. + </p> + <p> + Please answer the survey carefully and thank you for participating. + </p> + ]]> +</entry> + + +</properties> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/resources/configuration/indiana-experiments/2011/pretest/server.xml Sun Oct 16 02:30:43 2011 -0700 @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties> +<comment>Foraging experiment server 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="round7">round7.xml</entry> +<entry key="round8">round8.xml</entry> +<entry key="round9">round9.xml</entry> +<entry key="wait-for-participants">true</entry> +<entry key="number-of-rounds">7</entry> +<entry key='external-survey-enabled'>true</entry> +<entry key='survey-id-enabled'>true</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> +<p> + <b>Welcome</b>. You have already earned 5 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 as well as 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"></img> +</td> +<td align="center"> + <img src="@CODEBASE_URL@/images/5neighbors.jpg" alt="image 2"></img> +</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"></img> +</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> +We are monitoring the chat traffic while you chat. If we detect any violation of the +rules we will have to stop the the experiment and remove the group where the offense +occurred from the room. +</p> +<p> +You will see other participants labeled as "1", "2","3", "4", or "5" in the chat +box. You can send a chat message by typing into the textfield and pressing the +enter key. +</p> +]]> +</entry> + +</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round0.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -<?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> -You will now have four minutes 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 half of the cells are occupied with green tokens. The -environment is a 13 x 13 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 resource to its initial distribution, -randomly filling half of the cells. -</p> -<p>If you have any questions please raise your hand. <b>Do you have any questions so far?</b></p> -]]> -</entry> - -<entry key="quiz-instructions"> -<![CDATA[ -<h2>Quiz</h2> -<hr> -<p> -Before we begin the practice round please answer the following questions. You will earn $0.50 for each correct answer. -</p> -<br><br> -<form> -<span class='q1'>Q1. Which one of the following statements is incorrect?</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. In order 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='q1-explanation'> - <![CDATA[ - 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. - ]]> -</entry> -<entry key='q2-explanation'> - <![CDATA[ - Tokens cannot regenerate on an empty screen as shown in sequence B. - ]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round1.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -<?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">4</entry> -<entry key="duration">240</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 1 Instructions</h3> -<hr> -<p> -This is the first round of the experiment. The length of the round is 4 -minutes. As in the practice round you can collect green tokens but now -you will earn <b>two cents</b> for each token collected. You <b>cannot</b> -reset the distribution of green tokens. -</p> -<p> -In this round the renewable resource will become five times bigger. You will share this -larger environment with four other players in this room that have been randomly -selected. Each group's resource environment is distinct from the other groups. -</p> -<p> -Each of you has been assigned a number from 1 to 5. These numbers will remain the -same throughout the experiment but you will <b>not</b> be able to identify which -person in the room has been assigned which number, so your anonymity is guaranteed. -</p> - -<p> -The other four players will appear on the screen as blue dots -<img src="@CODEBASE_URL@/images/gem-other.gif"> with a white -number embedded in the dot. On the top right corner of the screen you can see -how many tokens each player has collected. On the top left corner of the screen you can see -a clock that displays the remaining time in the round.</p> -<p>Since you can only see the resource within your vision you may neither see all -the other participants nor all the resource units. The figure below indicates the -vision range compared to the whole environment</p> -<img src="@CODEBASE_URL@/images/vision-range.jpg"> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round2.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -<?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">4</entry> -<entry key="duration">240</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> - - -<!-- enable field of vision for tokens and subjects --> -<entry key='initial-distribution'>.25</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 2 Instructions</h3> -<hr> -<p> -Round 2 is the same as round 1. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round3.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -<?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">4</entry> -<entry key="duration">240</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<!-- resource regrowth parameters --> -<entry key="initial-distribution">.25</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Round 3 Instructions</h3> -<hr> -<p>This round is the same as the previous round.</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round4.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> -<entry key="duration">240</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key="initial-distribution">.25</entry> -<entry key='voting-enabled'>true</entry> -<entry key='initial-voting-instructions'> - <![CDATA[ -<h1>Notice</h1> -<hr> -<p> -In a moment, you will see a screen on your computer called Rule Options. It -will list 6 different rules that you can consider as options for managing how -each of your groups collect green tokens today. -</p> -<p> -You can nominate one rule from the list to help decide whether or not to have a -rule and what that rule will be. The rule that has the most nominations will be -considered chosen and established as the rule. If there is a tie, then each -tied nominated rule will receive an equal chance of getting selected at random. -</p> - ]]> -</entry> - - -<entry key='voting-instructions'> -<![CDATA[ -<h1>Instructions</h1> -<hr> -<p> -To nominate a rule, click the radio button to the left of the one you choose, and -then click "submit." The computer will tally the nominations and then report -the results on the next screen. The results will be presented to each -participant in your group and the experimenter. -</p> - -<p> -The identity of people who nominated a particular rule will NOT be revealed. -Therefore, neither you nor the experimenter will know who nominated a -particular rule. -</p> - -</p> -]]> -</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 4 Instructions</h3> -<hr> -<p> - Round 4 is about to begin. -</p> - -<p> -The length of this round is four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> - -<entry key='external-survey-enabled'>true</entry> -<entry key='survey-instructions'> - <![CDATA[ - <h1>Survey</h1> - <hr> - <p> - Before we continue to the next round of the token task, we would like to ask you - some quick questions. At the beginning of the survey you will need to enter: - </p> - <ul> - <li><b>Your participant ID</b>: {participantId} </li> - <li><b>Your survey ID</b>: {surveyId} </li> - </ul> - <p> - Please <a href='{surveyLink}'>click here</a> to begin the survey. - </p> - ]]> -</entry> - -<entry key='survey-link'> - <![CDATA[ - https://qtrial.qualtrics.com/SE/?SID=SV_cLX7jnYikmD9eSM - ]]> -</entry> - - -<entry key='sanction-type'>real-time</entry> -<entry key="sanction-cost">1</entry> -<entry key="sanction-multiplier">2</entry> -<entry key='sanction-instructions'> - <![CDATA[ - <h1>Instructions</h1> - <hr> -<p> -During this upcoming round you will have the option to reduce the earnings of -another participant at a cost to your own earnings. -</p> -<h2>How it works</h2> -<hr> - <ul> - <li>If you press the numeric key 1-5 corresponding to another participant, you - will reduce the number of tokens they have collected in this round by two - tokens. This will also reduce your own token amount by one token. The decision - whether or when to use this option is up to you. - </li> - <li>When you reduce the number of tokens of another participant, they will - receive a message stating that you have reduced their tokens. Likewise, if - another participant reduces your number of tokens, you will also receive a - message. These messages will be displayed on the bottom of your screen. - </li> - <li>If your tokens are being reduced or you are reducing another participant's - tokens, you will receive some visual cues. When your tokens are being reduced - your yellow dot will turn red briefly with a blue background. The participant - currently reducing your tokens will turn purple with a white background. - </li> - <li>You may reduce the earnings of other participants as long as there are - tokens remaining on the screen and while both you and the other participant - have a positive number of tokens collected during the round. <b>Each time</b> - you press the numeric key corresponding to another participant your token - amount is reduced by <b>one</b>, and their token amount is reduced by - <b>two</b>. - </li> - </ul> - ]]> -</entry> - -</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round5.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</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="instructions"> -<![CDATA[ -<h3>Round 5 Instructions</h3> -<hr> -<p> -Round 5 is the same as round 4.</p> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> - -<entry key='sanction-type'>real-time</entry> -<entry key="sanction-cost">1</entry> -<entry key="sanction-multiplier">2</entry> -<entry key='sanction-instructions'> - <![CDATA[ - <h1>Instructions</h1> - <hr> -<p> -During this upcoming round you will have the option to reduce the earnings of -another participant at a cost to your own earnings. -</p> -<h2>How it works</h2> -<hr> - <ul> - <li>If you press the numeric key 1-5 corresponding to another participant, you - will reduce the number of tokens they have collected in this round by two - tokens. This will also reduce your own token amount by one token. The decision - whether or when to use this option is up to you. - </li> - <li>When you reduce the number of tokens of another participant, they will - receive a message stating that you have reduced their tokens. Likewise, if - another participant reduces your number of tokens, you will also receive a - message. These messages will be displayed on the bottom of your screen. - </li> - <li>If your tokens are being reduced or you are reducing another participant's - tokens, you will receive some visual cues. When your tokens are being reduced - your yellow dot will turn red briefly with a blue background. The participant - currently reducing your tokens will turn purple with a white background. - </li> - <li>You may reduce the earnings of other participants as long as there are - tokens remaining on the screen and while both you and the other participant - have a positive number of tokens collected during the round. <b>Each time</b> - you press the numeric key corresponding to another participant your token - amount is reduced by <b>one</b>, and their token amount is reduced by - <b>two</b>. - </li> - </ul> - ]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round6.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</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='sanction-type'>real-time</entry> -<entry key="sanction-cost">1</entry> -<entry key="sanction-multiplier">2</entry> -<entry key='sanction-instructions'> - <![CDATA[ - <h1>Instructions</h1> - <hr> -<p> -During this upcoming round you will have the option to reduce the earnings of -another participant at a cost to your own earnings. -</p> -<h2>How it works</h2> -<hr> - <ul> - <li>If you press the numeric key 1-5 corresponding to another participant, you - will reduce the number of tokens they have collected in this round by two - tokens. This will also reduce your own token amount by one token. The decision - whether or when to use this option is up to you. - </li> - <li>When you reduce the number of tokens of another participant, they will - receive a message stating that you have reduced their tokens. Likewise, if - another participant reduces your number of tokens, you will also receive a - message. These messages will be displayed on the bottom of your screen. - </li> - <li>If your tokens are being reduced or you are reducing another participant's - tokens, you will receive some visual cues. When your tokens are being reduced - your yellow dot will turn red briefly with a blue background. The participant - currently reducing your tokens will turn purple with a white background. - </li> - <li>You may reduce the earnings of other participants as long as there are - tokens remaining on the screen and while both you and the other participant - have a positive number of tokens collected during the round. <b>Each time</b> - you press the numeric key corresponding to another participant your token - amount is reduced by <b>one</b>, and their token amount is reduced by - <b>two</b>. - </li> - </ul> - ]]> -</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 6 Instructions</h3> -<hr> -<p> -Round 6 is the same as round 5.</p> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round7.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</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='external-survey-enabled'>true</entry> -<entry key='survey-instructions'> - <![CDATA[ - <h1>Survey</h1> - <hr> - <p> - Before we continue to the next round of the token task, we would like to ask you - some quick questions. At the beginning of the survey you will need to enter: - </p> - <ul> - <li>Your participant ID: {participantId} </li> - <li>Your survey ID: {surveyId} </li> - </ul> - <p> - Please <a href='{surveyLink}'>click here</a> to begin the survey. - </p> - ]]> -</entry> - -<entry key='survey-link'> - <![CDATA[ - https://qtrial.qualtrics.com/SE/?SID=SV_3efXdNaJ6EXZ0S8 - ]]> -</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Instructions</h3> -<hr> -<p> -From this point forward, participants will NOT have the option to reduce the earnings of another participant. The length of this round is four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round8.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> -<entry key="duration">240</entry> - -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="initial-distribution">.25</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Instructions</h3> -<hr> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round9.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -<?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">4</entry> -<entry key="resource-depth">26</entry> -<entry key="resource-width">26</entry> -<entry key="duration">240</entry> - -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="initial-distribution">.25</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - - -<entry key='external-survey-enabled'>true</entry> -<entry key='survey-instructions'> - <![CDATA[ - <h1>Survey</h1> - <hr> - <p> - Before we continue to the next round of the token task, we would like to ask you - some quick questions. At the beginning of the survey you will need to enter: - </p> - <ul> - <li>Your participant ID: {participantId} </li> - <li>Your survey ID: {surveyId} </li> - </ul> - <p> - Please <a href='{surveyLink}'>click here</a> to begin the survey. - </p> - ]]> -</entry> - -<entry key='survey-link'> - <![CDATA[ - https://qtrial.qualtrics.com/SE/?SID=SV_e8rPe7yyhue5OVm - ]]> -</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Instructions</h3> -<hr> -<p> - This is the last round of the experiment. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -<entry key="last-round-debriefing"> - <![CDATA[ - <p> - This was the last round, but not the end of the experiment. We will now - determine your payments. While we are doing this, we request that you - carefully fill out a brief survey. - </p> - <p> - When we are ready we will call you one by one to the room next door. We - will - pay you there in private. Please wait until your computer number is called, - and then proceed to the room next door to turn in your computer number and - your survey. - </p> - <p> - Please answer the survey carefully and thank you for participating. - </p> - ]]> -</entry> - - -</properties> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/server.xml Fri Oct 14 11:11:46 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,186 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> -<properties> -<comment>Foraging experiment server 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="round7">round7.xml</entry> -<entry key="round8">round8.xml</entry> -<entry key="round9">round9.xml</entry> -<entry key="wait-for-participants">true</entry> -<entry key="number-of-rounds">7</entry> -<entry key='external-survey-enabled'>true</entry> -<entry key='survey-id-enabled'>true</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> -<p> - <b>Welcome</b>. You have already earned 5 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 as well as 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"></img> -</td> -<td align="center"> - <img src="@CODEBASE_URL@/images/5neighbors.jpg" alt="image 2"></img> -</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"></img> -</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... [truncated message content] |
From: Bitbucket <com...@bi...> - 2011-10-14 18:11:47
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/f6896d1a86f5/ changeset: f6896d1a86f5 user: alllee date: 2011-10-14 20:11:46 summary: full vision, in round chat for final 3 rounds, trust game before round 1, before round 4, and after round 6. affected #: 8 files (-1 bytes) 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. |
From: Bitbucket <iss...@bi...> - 2011-10-14 06:08:14
|
--- you can reply above this line --- New issue 33: migrate spool participant database to django / vcweb https://bitbucket.org/virtualcommons/vcweb/issue/33/migrate-spool-participant-database-to A Lee / alllee on Fri, 14 Oct 2011 08:08:08 +0200: Description: It wouldn't be too difficult (I imagine) to migrate / re-implement the existing participant database in Django. Should consider doing it by next year, it will be important to have recruiting capabilities in vcweb anyways, see if we can package it modularly as a Django app. Responsible: alllee -- This is an issue notification from bitbucket.org. You are receiving this either because you are the owner of the issue, or you are following the issue. |
From: Bitbucket <iss...@bi...> - 2011-10-11 23:39:10
|
--- you can reply above this line --- New issue 32: bug in participant set https://bitbucket.org/virtualcommons/vcweb/issue/32/bug-in-participant-set Kushal Bandi / kushal179 on Wed, 12 Oct 2011 01:39:03 +0200: Description: Somehow, participants in the lighter footprints aren't part of a group... when it's first created / initialized. Had to stop the experiment and start it again to get it working properly. Needs to be investigated. Responsible: alllee -- This is an issue notification from bitbucket.org. You are receiving this either because you are the owner of the issue, or you are following the issue. |
From: Bitbucket <com...@bi...> - 2011-10-08 00:29:10
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/c8e2c8dfcbf1/ changeset: c8e2c8dfcbf1 user: alllee date: 2011-10-08 02:29:01 summary: fixes issue 20 : removing chat from practice round, adding trust game to final round properly (was still using old configuration file key) affected #: 48 files (-1 bytes) --- a/src/main/resources/configuration/asu-experiments/fall-2011/bratislava-pretest/round0.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -<?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='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> -<entry key='in-round-chat-enabled'>true</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> -You will now have four minutes 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 half of the cells are occupied with green tokens. The -environment is a 13 x 13 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 resource to its initial distribution, -randomly filling half of the cells. -</p> -<p>If you have any questions please raise your hand. <b>Do you have any questions so far?</b></p> -]]> -</entry> - -<entry key="quiz-instructions"> -<![CDATA[ -<h2>Quiz</h2> -<hr> -<p> -Before we begin the practice round please answer the following questions. You will earn $0.50 for each correct answer. -</p> -<br><br> -<form> -<span class='q1'>Q1. Which one of the following statements is incorrect?</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. In order 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='q1-explanation'> - <![CDATA[ - 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. - ]]> -</entry> -<entry key='q2-explanation'> - <![CDATA[ - Tokens cannot regenerate on an empty screen as shown in sequence B. - ]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/bratislava-pretest/round1.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -<?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='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 1 Instructions</h3> -<hr> -<p> -This is the first round of the experiment. The length of the round is 4 -minutes. As in the practice round you can collect green tokens but now -you will earn <b>two cents</b> for each token collected. You <b>cannot</b> -reset the distribution of green tokens. -</p> -<p> -In this round the renewable resource will become five times bigger. You will share this -larger environment with four other players in this room that have been randomly -selected. Each group's resource environment is distinct from the other groups. -</p> -<p> -Each of you has been assigned a number from 1 to 5. These numbers will remain the -same throughout the experiment but you will <b>not</b> be able to identify which -person in the room has been assigned which number, so your anonymity is guaranteed. -</p> - -<p> -The other four players will appear on the screen as blue dots -<img src="@CODEBASE_URL@/images/gem-other.gif"> with a white -number embedded in the dot. On the top right corner of the screen you can see -how many tokens each player has collected. On the top left corner of the screen you can see -a clock that displays the remaining time in the round.</p> -<p>Since you can only see the resource within your vision you may neither see all -the other participants nor all the resource units. The figure below indicates the -vision range compared to the whole environment</p> -<img src="@CODEBASE_URL@/images/vision-range.jpg"> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -<entry key="chat-instructions"> -<![CDATA[ -<p> -You can chat with the other participants in your group during this round. -You may communicate about any aspect of the experiment that you would like to -discuss with other participants with whom you have been matched. You may not promise -them side-payments after the experiment is completed or threaten them with any -consequence after the experiment is finished. We are monitoring the chat traffic -while you chat. If we see that somebody reveals his or her identity, we have to stop -the experiment and remove the whole group from which this person is a member out of -this room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -window. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/bratislava-pretest/round2.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -<?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> - - -<!-- enable field of vision for tokens and subjects --> -<entry key='initial-distribution'>.25</entry> - -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 2 Instructions</h3> -<hr> -<p> -Round 2 is the same as round 1. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/bratislava-pretest/round3.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -<?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> - -<!-- enable field of vision for tokens and subjects --> -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<!-- resource regrowth parameters --> -<entry key="initial-distribution">.25</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Round 3 Instructions</h3> -<hr> -<p> -Round 3 is the same as round 2. Except now the resources move. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/bratislava-pretest/round4.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -<?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='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key='in-round-chat-enabled'>true</entry> -<entry key="initial-distribution">.25</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 4 Instructions</h3> -<hr> -<p> - Round 4 is the same as the previous rounds with one exception. 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 uour 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> - -<p> -The length of this round is four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> - -<entry key="chat-instructions"> -<![CDATA[ -<p> -You can chat with the other participants in your group during this round. -You may communicate about any aspect of the experiment that you would like to -discuss with other participants with whom you have been matched. You may not promise -them side-payments after the experiment is completed or threaten them with any -consequence after the experiment is finished. We are monitoring the chat traffic -while you chat. If we see that somebody reveals his or her identity, we have to stop -the experiment and remove the whole group from which this person is a member out of -this room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/bratislava-pretest/round5.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -<?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> - -<!-- enable field of vision for tokens and subjects --> -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="initial-distribution">.25</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> -<entry key="in-round-chat-enabled">true</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 5 Instructions</h3> -<hr> -<p> -Round 5 is the same as round 4.</p> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -<entry key="chat-instructions"> -<![CDATA[ -<p> -You can chat with the other participants in your group during this round. -You may communicate about any aspect of the experiment that you would like to -discuss with other participants with whom you have been matched. You may not promise -them side-payments after the experiment is completed or threaten them with any -consequence after the experiment is finished. We are monitoring the chat traffic -while you chat. If we see that somebody reveals his or her identity, we have to stop -the experiment and remove the whole group from which this person is a member out of -this room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/bratislava-pretest/round6.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -<?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='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="initial-distribution">.25</entry> -<!-- in round chat enabled --> -<entry key="in-round-chat-enabled">true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> -<entry key='post-round-trust-game'>true</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Round 6 Instructions</h3> -<hr> -<p> -Round 6 is the same as round 5.</p> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> - -<entry key="last-round-debriefing"> -<![CDATA[ -<p> -This was the last round, but not the end of the experiment. We will now -determine your payments. While we are doing this, we request that you -carefully fill out a brief survey. -</p> -<p> -When we are ready we will call you one by one to the room next door. We will -pay you there in private. Please wait until your computer number is called, -and then proceed to the room next door to turn in your computer number and -your survey. -</p> -<p> -Please answer the survey carefully and thank you for participating. -</p> -]]> -</entry> -<entry key="chat-instructions"> -<![CDATA[ -<p> -You can chat with the other participants in your group during this round. -You may communicate about any aspect of the experiment that you would like to -discuss with other participants with whom you have been matched. You may not promise -them side-payments after the experiment is completed or threaten them with any -consequence after the experiment is finished. We are monitoring the chat traffic -while you chat. If we see that somebody reveals his or her identity, we have to stop -the experiment and remove the whole group from which this person is a member out of -this room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> - -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/bratislava-pretest/server.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,180 +0,0 @@ -<?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[ -<h2>Facilitator Instructions</h2> -<hr> -<p> - This facilitator interface allows you to control the experiment. In general you - will be invoking this sequence: - - <ol> - <li>Show instructions</li> - <li>Start round</li> - <li>Show trust game as necessary</li> - <li>Start standalone chat round, as necessary</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> -<p> - <b>Welcome</b>. You have already earned 5 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"></img> -</td> -<td align="center"> - <img src="@CODEBASE_URL@/images/5neighbors.jpg" alt="image 2"></img> -</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"></img> -</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> -We are monitoring the chat traffic while you chat. If we detect any violation of the -rules we will have to stop the the experiment and remove the group where the offense -occurred from the room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> - -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/pretest/round0.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -<?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='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> -<entry key='in-round-chat-enabled'>true</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> -You will now have four minutes 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 half of the cells are occupied with green tokens. The -environment is a 13 x 13 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 resource to its initial distribution, -randomly filling half of the cells. -</p> -<p>If you have any questions please raise your hand. <b>Do you have any questions so far?</b></p> -]]> -</entry> - -<entry key="quiz-instructions"> -<![CDATA[ -<h2>Quiz</h2> -<hr> -<p> -Before we begin the practice round please answer the following questions. You will earn $0.50 for each correct answer. -</p> -<br><br> -<form> -<span class='q1'>Q1. Which one of the following statements is incorrect?</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. In order 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='q1-explanation'> - <![CDATA[ - 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. - ]]> -</entry> -<entry key='q2-explanation'> - <![CDATA[ - Tokens cannot regenerate on an empty screen as shown in sequence B. - ]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/pretest/round1.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -<?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='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 1 Instructions</h3> -<hr> -<p> -This is the first round of the experiment. The length of the round is 4 -minutes. As in the practice round you can collect green tokens but now -you will earn <b>two cents</b> for each token collected. You <b>cannot</b> -reset the distribution of green tokens. -</p> -<p> -In this round the renewable resource will become five times bigger. You will share this -larger environment with four other players in this room that have been randomly -selected. Each group's resource environment is distinct from the other groups. -</p> -<p> -Each of you has been assigned a number from 1 to 5. These numbers will remain the -same throughout the experiment but you will <b>not</b> be able to identify which -person in the room has been assigned which number, so your anonymity is guaranteed. -</p> - -<p> -The other four players will appear on the screen as blue dots -<img src="@CODEBASE_URL@/images/gem-other.gif"> with a white -number embedded in the dot. On the top right corner of the screen you can see -how many tokens each player has collected. On the top left corner of the screen you can see -a clock that displays the remaining time in the round.</p> -<p>Since you can only see the resource within your vision you may neither see all -the other participants nor all the resource units. The figure below indicates the -vision range compared to the whole environment</p> -<img src="@CODEBASE_URL@/images/vision-range.jpg"> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -<entry key="chat-instructions"> -<![CDATA[ -<p> -You can chat with the other participants in your group during this round. -You may communicate about any aspect of the experiment that you would like to -discuss with other participants with whom you have been matched. You may not promise -them side-payments after the experiment is completed or threaten them with any -consequence after the experiment is finished. We are monitoring the chat traffic -while you chat. If we see that somebody reveals his or her identity, we have to stop -the experiment and remove the whole group from which this person is a member out of -this room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -window. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/pretest/round2.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -<?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> - - -<!-- enable field of vision for tokens and subjects --> -<entry key='initial-distribution'>.25</entry> - -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 2 Instructions</h3> -<hr> -<p> -Round 2 is the same as round 1. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/pretest/round3.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -<?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> - -<!-- enable field of vision for tokens and subjects --> -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<!-- resource regrowth parameters --> -<entry key="initial-distribution">.25</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Round 3 Instructions</h3> -<hr> -<p> -Round 3 is the same as round 2. Except now the resources move. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/pretest/round4.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -<?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='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> - -<entry key='in-round-chat-enabled'>true</entry> -<entry key="initial-distribution">.25</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 4 Instructions</h3> -<hr> -<p> - Round 4 is the same as the previous rounds with one exception. 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 uour 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> - -<p> -The length of this round is four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> - -<entry key="chat-instructions"> -<![CDATA[ -<p> -You can chat with the other participants in your group during this round. -You may communicate about any aspect of the experiment that you would like to -discuss with other participants with whom you have been matched. You may not promise -them side-payments after the experiment is completed or threaten them with any -consequence after the experiment is finished. We are monitoring the chat traffic -while you chat. If we see that somebody reveals his or her identity, we have to stop -the experiment and remove the whole group from which this person is a member out of -this room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/pretest/round5.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -<?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> - -<!-- enable field of vision for tokens and subjects --> -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="initial-distribution">.25</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> -<entry key="in-round-chat-enabled">true</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 5 Instructions</h3> -<hr> -<p> -Round 5 is the same as round 4.</p> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -<entry key="chat-instructions"> -<![CDATA[ -<p> -You can chat with the other participants in your group during this round. -You may communicate about any aspect of the experiment that you would like to -discuss with other participants with whom you have been matched. You may not promise -them side-payments after the experiment is completed or threaten them with any -consequence after the experiment is finished. We are monitoring the chat traffic -while you chat. If we see that somebody reveals his or her identity, we have to stop -the experiment and remove the whole group from which this person is a member out of -this room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/pretest/round6.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -<?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='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="initial-distribution">.25</entry> -<!-- in round chat enabled --> -<entry key="in-round-chat-enabled">true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> -<entry key='post-round-trust-game'>true</entry> - - -<entry key="instructions"> -<![CDATA[ -<h3>Round 6 Instructions</h3> -<hr> -<p> -Round 6 is the same as round 5.</p> -<p> -The length of this round is again four minutes. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> - -<entry key="last-round-debriefing"> -<![CDATA[ -<p> -This was the last round, but not the end of the experiment. We will now -determine your payments. While we are doing this, we request that you -carefully fill out a brief survey. -</p> -<p> -When we are ready we will call you one by one to the room next door. We will -pay you there in private. Please wait until your computer number is called, -and then proceed to the room next door to turn in your computer number and -your survey. -</p> -<p> -Please answer the survey carefully and thank you for participating. -</p> -]]> -</entry> -<entry key="chat-instructions"> -<![CDATA[ -<p> -You can chat with the other participants in your group during this round. -You may communicate about any aspect of the experiment that you would like to -discuss with other participants with whom you have been matched. You may not promise -them side-payments after the experiment is completed or threaten them with any -consequence after the experiment is finished. We are monitoring the chat traffic -while you chat. If we see that somebody reveals his or her identity, we have to stop -the experiment and remove the whole group from which this person is a member out of -this room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> - -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/pretest/server.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,181 +0,0 @@ -<?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> -<p> - <b>Welcome</b>. You have already earned 5 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"></img> -</td> -<td align="center"> - <img src="@CODEBASE_URL@/images/5neighbors.jpg" alt="image 2"></img> -</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"></img> -</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> -We are monitoring the chat traffic while you chat. If we detect any violation of the -rules we will have to stop the the experiment and remove the group where the offense -occurred from the room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> - -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/stationary-limitedvision/round0.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -<?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='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key="quiz">true</entry> -<entry key="q1">C</entry> -<entry key="q2">B</entry> - -<entry key='instructions'> -<![CDATA[ -<h3>Practice Round Instructions</h3> -<hr> -<p> -You will now have four minutes to practice with the experimental environment. -The decisions you make in this round will NOT influence your earnings. At the -At the beginning of the practice round half of the cells are occupied -with green tokens. The environment is a 13 x 13 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 resource to its initial distribution, -randomly filling half of the cells. -</p> -<p><b> Please do not communicate with any other participant.</b></p> -<p>If you have any questions please raise your hand. <b>Do you have any -questions so far?</b></p> -]]> -</entry> - -<entry key="quiz-instructions"> -<![CDATA[ -<p> -Before we begin the practice round please answer the following questions. -</p> -<br> -<form> -<span class='q1'>Q1. Which of the statements is <b><u>incorrect</u></b>?</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. In order to collect a token you need -to press the space bar while your yellow dot <img src="@CODEBASE_URL@/images/gem-self.gif"> is on a cell with a token.<br> -<br><br> - -<span class='q2'>Q2. Which sequence of situations is <b><u>not possible</u></b>?</span><br> -<img src="@CODEBASE_URL@/images/question2.jpg"><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> -<br> -<input type="submit" name="submit" value="Submit"> -</form> -]]> -</entry> - -<entry key='trust-game-instructions'> -<![CDATA[ -<h3>Task</h3> -<p> -You will be matched with another person in your group, but you will not know who -that person is. And that person will not know who you are. You make decisions for -the case you are drawn to be player 1 and the case you will be player 2. The -results of the decisions are given to you at the end of the whole experiment. -</p> - -<p> -The person drawn to be player 1 has the following decision to make. You will receive -an endowment of one dollar and decide how much to keep and how much to send to -another person in your group. -</p> - -<p> -The amount you send to the other person will be tripled and then given to the person -in your group with whom you have been matched. That person will decide how much to -keep and how much to send back to you. For example, if you send 0 extra credit -points to the other person, 0 extra credit points will be sent to the other person. -However, if you write 3 extra credit points on the form, 9 extra credit points will -be sent to the person. The other person would then decide how much to return to -you. -</p> - -<p> -Player 2 has the following decision to make. You have to choose for each of the 4 -possible cases how much to receive from player 1 how much to keep and how much to -send back to player 1. We ask you to fill in the tables for player 1 as well as for -player 2, and we will drawn whether you are player 1 or 2 after you have made the -decisions. -</p> - -<p> -Are there any questions? If you have a question, raise your hand and I will try to -answer it. -</p> -]]> -</entry> - -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/stationary-limitedvision/round1.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -<?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='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> -<entry key='in-round-chat-enabled'>true</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 1 Instructions</h3> -<hr> -<p> -This is the first round of the experiment. The length of the round is 4 -minutes. As in the practice round you can collect green tokens but now -you will earn <b>two cents</b> for each token collected. You <b>cannot</b> -reset the distribution of green tokens. -</p> -<p> -In this round the renewable resource will become five times bigger. You will share this -larger environment with four other players in this room that have been randomly -selected. Each group's resource environment is distinct from the other groups. -</p> -<p> -Each of you has been assigned a number from 1 to 5. These numbers will remain the -same throughout the experiment but you will <b>not</b> be able to identify which -person in the room has been assigned which number, so your anonymity is guaranteed. -</p> - -<p> -The other four players will appear on the screen as blue dots -<img src="@CODEBASE_URL@/images/gem-other.gif"> with a white -number embedded in the dot. On the top right corner of the screen you can see -how many tokens each player has collected. On the top left corner of the screen you can see -a clock that displays the remaining time in the round.</p> -<p>Since you can only see the resource within your vision you may neither see all -the other participants nor all the resource units. The figure below indicates the -vision range compared to the whole environment</p> -<img src="@CODEBASE_URL@/images/vision-range.jpg"> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -<entry key="chat-instructions"> -<![CDATA[ -<p> -You can chat with the other participants in your group during this round. -You may communicate about any aspect of the experiment that you would like to -discuss with other participants with whom you have been matched. You may not promise -them side-payments after the experiment is completed or threaten them with any -consequence after the experiment is finished. We are monitoring the chat traffic -while you chat. If we see that somebody reveals his or her identity, we have to stop -the experiment and remove the whole group from which this person is a member out of -this room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> -<entry key='trust-game-instructions'> -<![CDATA[ -<h3>Task</h3> -<p> -You will be matched with another person in your group, but you will not know who -that person is. And that person will not know who you are. You make decisions for -the case you are drawn to be player 1 and the case you will be player 2. The -results of the decisions are given to you at the end of the whole experiment. -</p> - -<p> -The person drawn to be player 1 has the following decision to make. You will receive -an endowment of one dollar and decide how much to keep and how much to send to -another person in your group. -</p> - -<p> -The amount you send to the other person will be tripled and then given to the person -in your group with whom you have been matched. That person will decide how much to -keep and how much to send back to you. For example, if you send 0 extra credit -points to the other person, 0 extra credit points will be sent to the other person. -However, if you write 3 extra credit points on the form, 9 extra credit points will -be sent to the person. The other person would then decide how much to return to -you. -</p> - -<p> -Player 2 has the following decision to make. You have to chose for each of the 4 -possible cases how much to receive from player 1 how much to keep and how much to -send back to player 1. -We ask you to fill in the tables for player 1 as well as for player 2, and we will -drawn whether you are player 1 or 2 after you have made the decisions. -</p> - -<p> -Are there any questions? If you have a question, raise your hand and I will try to -answer it. -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/stationary-limitedvision/round2.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -<?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> - - -<!-- enable field of vision for tokens and subjects --> -<entry key='initial-distribution'>.25</entry> - -<entry key='tokens-field-of-vision'>true</entry> -<entry key='subjects-field-of-vision'>true</entry> - -<entry key='always-explicit'>true</entry> -<entry key='max-cell-occupancy'>1</entry> -<entry key='in-round-chat-enabled'>true</entry> - -<entry key="instructions"> -<![CDATA[ -<h3>Round 2 Instructions</h3> -<hr> -<p> -Round 2 is the same as round 1. -</p> -<p> -If you have any questions please raise your hand. <b>Do you have any -questions so far?</b> -</p> -]]> -</entry> -<entry key="chat-instructions"> -<![CDATA[ -<p> -You can chat with the other participants in your group during this round. -You may communicate about any aspect of the experiment that you would like to -discuss with other participants with whom you have been matched. You may not promise -them side-payments after the experiment is completed or threaten them with any -consequence after the experiment is finished. We are monitoring the chat traffic -while you chat. If we see that somebody reveals his or her identity, we have to stop -the experiment and remove the whole group from which this person is a member out of -this room. -</p> -<p> -You will see other participants labeled as "1", "2","3", "4", or "5" in the chat -box. You can send a chat message by typing into the textfield and pressing the -enter key. -</p> -]]> -</entry> -<entry key='trust-game-instructions'> -<![CDATA[ -<h3>Task</h3> -<p> -You will be matched with another person in your group, but you will not know who -that person is. And that person will not know who you are. You make decisions for -the case you are drawn to be player 1 and the case you will be player 2. The -results of the decisions are given to you at the end of the whole experiment. -</p> - -<p> -The person drawn to be player 1 has the following decision to make. You will receive -an endowment of one dollar and decide how much to keep and how much to send to -another person in your group. -</p> - -<p> -The amount you send to the other person will be tripled and then given to the person -in your group with whom you have been matched. That person will decide how much to -keep and how much to send back to you. For example, if you send 0 extra credit -points to the other person, 0 extra credit points will be sent to the other person. -However, if you write 3 extra credit points on the form, 9 extra credit points will -be sent to the person. The other person would then decide how much to return to -you. -</p> - -<p> -Player 2 has the following decision to make. You have to chose for each of the 4 -possible cases how much to receive from player 1 how much to keep and how much to -send back to player 1. -We ask you to fill in the tables for player 1 as well as for player 2, and we will -drawn whether you are player 1 or 2 after you have made the decisions. -</p> - -<p> -Are there any questions? If you have a question, raise your hand and I will try to -answer it. -</p> -]]> -</entry> -</properties> --- a/src/main/resources/configuration/asu-experiments/fall-2011/stationary-limitedvision/round3.xml Tue Oct 04 10:57:55 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ -<?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<... [truncated message content] |
From: Allen L. <All...@as...> - 2011-10-07 14:56:54
|
Sorry, hit send prematurely - the full steps to a fix are: 1. Change the entry in src/main/resources/web/client.jnlp 2. Rerun ant deploy On Fri, Oct 7, 2011 at 7:54 AM, Allen Lee <All...@as...> wrote: > Hi Micael, > > Yes, I've noticed this as well.. !#!$ oracle. We've fixed it in our > development trunk (http://bitbucket.org/virtualcommons/foraging) but > that's undergoing heavy changes right now that you may not want to run > just yet. > > The easiest thing to do is to simply remove the jogl entry from the > client.jnlp file. You can comment it out entirely and the app should > still run fine since you're not running the 3D version. > > <!-- > <property name="sun.java2d.noddraw" value="true"/> > <extension name="jogl" > href="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp"/> > --> > > > On Fri, Oct 7, 2011 at 7:13 AM, Micael Ehn <mic...@gm...> wrote: >> Hi Allen, >> sorry to take this much time again. We were planning to run the experiments >> very soon and were going to run a test round today. However, it turns out >> that the system no longer works. I receive an error message saying that the >> jogl resource is unsigned. Searching the web for this error message reveals >> that oracle has removed the signature from the jogl jar-file, so that any >> system using it will refuse to start. >> The workarounds I found when searching includes compiling jogl and signing >> it, together with all other code locally and then updating the system to use >> the local copy instead, something I don't know how to do. Any ideas on how >> to solve this? >> >> Regards >> Micael Ehn >> >> 2010/11/23 Allen Lee <All...@as...> >>> >>> Ok, this was an easy patch and should be fixed now. >>> >>> Micael, there's two ways you can get the changes: >>> >>> 1. (easier/faster if it works) run an "svn update" from the >>> command-line wherever you installed the foraging software to get the >>> new code and then re-run "ant deploy" >>> 2. I've also updated the source package at >>> http://dev.commons.asu.edu/src/foraging-with-censorship.zip if you >>> want to just download the whole thing again and re-install and >>> re-deploy it. This should be a last resort if the first option >>> doesn't work. >>> >>> Allen >>> >>> On Mon, Nov 22, 2010 at 2:35 PM, Allen Lee <All...@as...> wrote: >>> > Hi Kimmo, >>> > >>> > Sorry for the confusion! Making the lines wrap shouldn't be too >>> > difficult (hopefully!) - I'll let you know when this is done. >>> > >>> > On Mon, Nov 1, 2010 at 6:58 AM, Kimmo Eriksson <ki...@gm...> wrote: >>> >> Hi Allen! >>> >> >>> >> We are very pleased to tell that we have at long last understood your >>> >> email. All of us here read it as saying "I won't have time to finish >>> >> this until next year at the earliest; if you wish to test what it >>> >> looks like now, be my guest." For some reason I and Pontus re-read it >>> >> now and realize what you are actually saying is "This is a complete >>> >> version, please test it and give feedback if something needs >>> >> changing." Sorry for the delay. >>> >> >>> >> We now eagerly tested to play the game and it is really good! The only >>> >> thing we noticed needed improvement is a hopefully small thing with >>> >> the censoring: When someone writes a long chat message, it will come >>> >> out as a very long line on the facilitator's screen, making it >>> >> difficult to get to the censoring buttons. We'd like line breaks to be >>> >> inserted in long messages. Can this be arranged? >>> >> >>> >> We are enthusiastic about the prospect to run a study with censoring >>> >> here in Sweden! >>> >> >>> >> best regards, >>> >> Kimmo >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> 2010/9/21 Allen Lee <All...@as...>: >>> >>> Ah ok, glad it's at least installed/running ok. >>> >>> >>> >>> Realistically, I won't have time to make significant modifications to >>> >>> the code until next year at the earliest; my programming efforts are >>> >>> now focused on other projects. That said, I would be happy to make >>> >>> small changes / tweaks to the software as time permits. The censoring >>> >>> feature is enabled and functional (albeit crude and in need of UI/UX >>> >>> interface improvement) so if you'd like to pretest it, try it out. >>> >>> Even though I won't have much time to work on it, your feedback is >>> >>> appreciated so if you have ideas on how to improve the gui (or any >>> >>> other aspect of the software), do let us know. >>> >>> >>> >>> If you do end up running experiments or pretests and would like to >>> >>> analyze the data afterwards, let me know and I'll work on some more >>> >>> docs dealing with extracting data from the experiment. >>> >>> >>> >>> Allen >>> >>> >>> >>> On Tue, Sep 21, 2010 at 1:07 AM, Micael Ehn <mic...@gm...> >>> >>> wrote: >>> >>>> Hi, I'm not stuck at all, the game is running just fine. I was just >>> >>>> wondering what the next step in this entire process is. Were you >>> >>>> going to do >>> >>>> some modifications to the game before we actually run it here? >>> >>>> >>> >>>> //Micke >>> >>>> >>> >>>> >>> >>>> 2010/9/21 Allen Lee <All...@as...> >>> >>>>> >>> >>>>> Hi Micael, >>> >>>>> >>> >>>>> I've added some more detail on actually running the experiment >>> >>>>> software here: >>> >>>>> >>> >>>>> http://commons.asu.edu/software/foraging/documentation#running-the-software >>> >>>>> - is that where you're stuck? >>> >>>>> >>> >>>>> On Thu, Sep 9, 2010 at 3:13 AM, Micael Ehn <mic...@gm...> >>> >>>>> wrote: >>> >>>>> > Hi everyone >>> >>>>> > >>> >>>>> > I have now managed to get the game running in our lab. What is the >>> >>>>> > next >>> >>>>> > step? >>> >>>>> > // Micke >>> >>>>> > 2010/5/27 Allen Lee <All...@as...> >>> >>>>> >> >>> >>>>> >> Sounds good. We run our experiments on a Linux server as well so >>> >>>>> >> that's not a problem at all. If you'd like to get started first >>> >>>>> >> you >>> >>>>> >> can follow the steps listed here: >>> >>>>> >> >>> >>>>> >> http://opensource.asu.edu/display/COMMONS/Foraging >>> >>>>> >> >>> >>>>> >> The main things that you'll need on your Linux server is to make >>> >>>>> >> sure >>> >>>>> >> you have a Java 1.6 JDK and Ant installed. Maven is an optional >>> >>>>> >> dependency if you don't already have a webserver running on your >>> >>>>> >> Linux >>> >>>>> >> server and want to use Maven's Jetty plugin webserver. >>> >>>>> >> >>> >>>>> >> >>> >>>>> >> Micael, I'll prepare a zipfile for you in the next few days that >>> >>>>> >> has >>> >>>>> >> the configuration parameters and so on set for the censoring >>> >>>>> >> experiment. In the meantime however if you'd like to just try >>> >>>>> >> out the >>> >>>>> >> software first feel free to download it and install it via the >>> >>>>> >> instructions above and please let me know if you have any >>> >>>>> >> questions. >>> >>>>> >> >>> >>>>> >> On Wed, May 26, 2010 at 5:05 PM, Pontus Strimling >>> >>>>> >> <pon...@gm...> wrote: >>> >>>>> >> > Sounds great Allen. The man in contrll of our lab is a PhD >>> >>>>> >> > student by >>> >>>>> >> > the name of Micael. His email is "Micael Ehn" >>> >>>>> >> > <mic...@gm...>. >>> >>>>> >> > Our lab runs on Linux is that a problem? >>> >>>>> >> > >>> >>>>> >> > Pontus >>> >>>>> >> > >>> >>>>> >> > On Wed, May 26, 2010 at 4:58 PM, Allen Lee <All...@as...> >>> >>>>> >> > wrote: >>> >>>>> >> >> Hi Kimmo, Pontus: >>> >>>>> >> >> >>> >>>>> >> >> I've got an initial version of censored chat implemented and >>> >>>>> >> >> would >>> >>>>> >> >> like to take the next steps to deploy our software over on >>> >>>>> >> >> your end >>> >>>>> >> >> so >>> >>>>> >> >> you can play with it, provide feedback, etc. Is there a tech >>> >>>>> >> >> person >>> >>>>> >> >> that I should coordinate with directly? >>> >>>>> >> >> >>> >>>>> >> >> Thanks! >>> >>>>> >> >> Allen >>> >>>>> >> >> >>> >>>>> >> >> On Mon, Apr 26, 2010 at 8:37 AM, Marco Janssen >>> >>>>> >> >> <Mar...@as...> >>> >>>>> >> >> wrote: >>> >>>>> >> >>> >>> >>>>> >> >>> Hi Kimmo, >>> >>>>> >> >>> >>> >>>>> >> >>> Yes, it is probably best if we make here changes to the code. >>> >>>>> >> >>> It >>> >>>>> >> >>> should not be too hard. We need to restrict the number of >>> >>>>> >> >>> messsages >>> >>>>> >> >>> people >>> >>>>> >> >>> can send in a timeslot so that an experimenter can approve >>> >>>>> >> >>> those >>> >>>>> >> >>> messages in >>> >>>>> >> >>> time. >>> >>>>> >> >>> >>> >>>>> >> >>> It would be very helpful if experiments can be run in >>> >>>>> >> >>> Stockholm. It >>> >>>>> >> >>> will be interesting to see whether the same behavior is >>> >>>>> >> >>> observed >>> >>>>> >> >>> with >>> >>>>> >> >>> Swedish students (I expect so). >>> >>>>> >> >>> >>> >>>>> >> >>> Marco >>> >>>>> >> >>> >>> >>>>> >> >>> -----Original Message----- >>> >>>>> >> >>> From: Kimmo Eriksson [mailto:ki...@gm...] >>> >>>>> >> >>> Sent: Monday, April 26, 2010 6:27 AM >>> >>>>> >> >>> To: Marco Janssen >>> >>>>> >> >>> Cc: Pontus Strimling; Allen Lee >>> >>>>> >> >>> Subject: Re: A possible collaberation >>> >>>>> >> >>> >>> >>>>> >> >>> Hello! It is interesting to hear that you are already >>> >>>>> >> >>> thinking >>> >>>>> >> >>> along >>> >>>>> >> >>> these lines. >>> >>>>> >> >>> (And sorry it took us two weeks to reply.) >>> >>>>> >> >>> >>> >>>>> >> >>> I and Pontus are convinced such a study would be very >>> >>>>> >> >>> important, >>> >>>>> >> >>> and >>> >>>>> >> >>> would >>> >>>>> >> >>> like to make it happen. I think the development is best done >>> >>>>> >> >>> at >>> >>>>> >> >>> your >>> >>>>> >> >>> end. We >>> >>>>> >> >>> can contribute with ideas and with development money from our >>> >>>>> >> >>> grants, >>> >>>>> >> >>> and we >>> >>>>> >> >>> can run the study in Stockholm. >>> >>>>> >> >>> >>> >>>>> >> >>> How does that sound to you? >>> >>>>> >> >>> >>> >>>>> >> >>> Kimmo >>> >>>>> >> >>> >>> >>>>> >> >>> 2010/4/14 Marco Janssen <Mar...@as...>: >>> >>>>> >> >>>> Hi Kimmo, >>> >>>>> >> >>>> >>> >>>>> >> >>>> I have considered this option too, and I have seen other >>> >>>>> >> >>>> doing >>> >>>>> >> >>>> this >>> >>>>> >> >>>> in >>> >>>>> >> >>>> more regular experimental economics games. We notice that >>> >>>>> >> >>>> the >>> >>>>> >> >>>> participant type a lot of messages, so we need to check >>> >>>>> >> >>>> whether >>> >>>>> >> >>>> such >>> >>>>> >> >>>> a >>> >>>>> >> >>>> set up will reduce the amount of chat traffic, otherwise it >>> >>>>> >> >>>> will >>> >>>>> >> >>>> be >>> >>>>> >> >>>> difficult for the monitor to approve messages (we have >>> >>>>> >> >>>> typically >>> >>>>> >> >>>> 10 >>> >>>>> >> >>>> to >>> >>>>> >> >>>> 15 people at the same time). >>> >>>>> >> >>>> >>> >>>>> >> >>>> Related to CT3 I have considered the possibility to have >>> >>>>> >> >>>> them >>> >>>>> >> >>>> talking >>> >>>>> >> >>>> about a) something they all agree on unrelated to the game >>> >>>>> >> >>>> b) >>> >>>>> >> >>>> something >>> >>>>> >> >>>> there might be disagreement about (whether a particular >>> >>>>> >> >>>> sports >>> >>>>> >> >>>> team >>> >>>>> >> >>>> is >>> >>>>> >> >>>> the best) unrelated to the game. I can imagine even this >>> >>>>> >> >>>> might >>> >>>>> >> >>>> have >>> >>>>> >> >>>> an >>> >>>>> >> >>>> effect. >>> >>>>> >> >>>> >>> >>>>> >> >>>> Marco >>> >>>>> >> >>>> >>> >>>>> >> >>>> >>> >>>>> >> >>>> -----Original Message----- >>> >>>>> >> >>>> From: Kimmo Eriksson [mailto:ki...@gm...] >>> >>>>> >> >>>> Sent: Tuesday, April 13, 2010 11:58 PM >>> >>>>> >> >>>> To: Marco Janssen >>> >>>>> >> >>>> Cc: Pontus Strimling; Allen Lee >>> >>>>> >> >>>> Subject: Re: A possible collaberation >>> >>>>> >> >>>> >>> >>>>> >> >>>> Hello Marco, hi Allen! >>> >>>>> >> >>>> >>> >>>>> >> >>>> Those are good ideas, Marco. For T3, I would argue that we >>> >>>>> >> >>>> for >>> >>>>> >> >>>> each >>> >>>>> >> >>>> round randomize the order of the players and let them each >>> >>>>> >> >>>> in turn >>> >>>>> >> >>>> have their say about rules. >>> >>>>> >> >>>> >>> >>>>> >> >>>> I'll just present what I and Pontus had in mind instead, and >>> >>>>> >> >>>> then >>> >>>>> >> >>>> try >>> >>>>> >> >>>> to figure out which approach is preferable. >>> >>>>> >> >>>> >>> >>>>> >> >>>> We were thinking of having a research assistant "censoring" >>> >>>>> >> >>>> communication differently in various treatments: >>> >>>>> >> >>>> - CT1: Participants are told that they are free to chat, but >>> >>>>> >> >>>> that >>> >>>>> >> >>>> to >>> >>>>> >> >>>> "avoid abuse" all messages are routed via a "censor" who >>> >>>>> >> >>>> must >>> >>>>> >> >>>> approve >>> >>>>> >> >>>> of the message before it is relayed to other players. >>> >>>>> >> >>>> - CT2: Participants are told that they can chat only about >>> >>>>> >> >>>> how to >>> >>>>> >> >>>> play >>> >>>>> >> >>>> the game, and that to avoid abuse.... >>> >>>>> >> >>>> - CT3: Participants are told that they can chat only about >>> >>>>> >> >>>> things >>> >>>>> >> >>>> not >>> >>>>> >> >>>> related to how to play the game, and that to avoid abuse ... >>> >>>>> >> >>>> - CT4: Participants are told that they can chat only after >>> >>>>> >> >>>> the >>> >>>>> >> >>>> game >>> >>>>> >> >>>> is finished, and that to avoid abuse ... >>> >>>>> >> >>>> >>> >>>>> >> >>>> The advantage of this setup, I think, is the overall >>> >>>>> >> >>>> similarity >>> >>>>> >> >>>> between manipulations. Our hypothesis, then, is that there >>> >>>>> >> >>>> will be >>> >>>>> >> >>>> no >>> >>>>> >> >>>> difference in outcome between the high control CT1 and CT2 >>> >>>>> >> >>>> but a >>> >>>>> >> >>>> worse >>> >>>>> >> >>>> outcome of CT3. It is also interesting whether CT3 gives a >>> >>>>> >> >>>> better >>> >>>>> >> >>>> outcome than the low control CT4. >>> >>>>> >> >>>> >>> >>>>> >> >>>> The disadvantages with this setup seem to be of a practical >>> >>>>> >> >>>> nature: >>> >>>>> >> >>>> (1) It may be difficult to implement the censoring feature >>> >>>>> >> >>>> in the >>> >>>>> >> >>>> software. I guess Allen would be able to answer that. >>> >>>>> >> >>>> (2) It may be difficult for the censor to make quick >>> >>>>> >> >>>> decisions on >>> >>>>> >> >>>> whether to approve messages. (My guess is this is not a >>> >>>>> >> >>>> problem; I >>> >>>>> >> >>>> think it would be pretty easy given a little training. Also, >>> >>>>> >> >>>> given >>> >>>>> >> >>>> that a rule is declared most participants will probably >>> >>>>> >> >>>> follow it >>> >>>>> >> >>>> directly without trying the patience of the censor.) >>> >>>>> >> >>>> >>> >>>>> >> >>>> Kimmo >>> >>>>> >> >>>> >>> >>>>> >> >>>> 2010/4/13 Marco Janssen <Mar...@as...>: >>> >>>>> >> >>>>> Hi Pontus, >>> >>>>> >> >>>>> >>> >>>>> >> >>>>> There are indeed a number of variations we can do with the >>> >>>>> >> >>>>> pacman >>> >>>>> >> >>>>> environment to test the effect of communication. I think >>> >>>>> >> >>>>> that the >>> >>>>> >> >>>>> participants know that they are in the same group, even if >>> >>>>> >> >>>>> they >>> >>>>> >> >>>>> are >>> >>>>> >> >>>>> overharvesting a resource. But once they communicate the >>> >>>>> >> >>>>> framing >>> >>>>> >> >>>>> of >>> >>>>> >> >>>> the >>> >>>>> >> >>>>> problem is changed from competition to collaboration. An >>> >>>>> >> >>>>> initial >>> >>>>> >> >>>>> idea >>> >>>>> >> >>>> to >>> >>>>> >> >>>>> test this is the following: >>> >>>>> >> >>>>> - T1: before the participants know what the experiment is >>> >>>>> >> >>>>> about >>> >>>>> >> >>>>> the >>> >>>>> >> >>>> get >>> >>>>> >> >>>>> time to chat with eachother for a number of minutes. They >>> >>>>> >> >>>>> are >>> >>>>> >> >>>>> informed >>> >>>>> >> >>>>> that they will be in the same group during the experiment >>> >>>>> >> >>>>> but do >>> >>>>> >> >>>>> not >>> >>>>> >> >>>> get >>> >>>>> >> >>>>> info what it is about. >>> >>>>> >> >>>>> - T2: instead of communication, the participants can write >>> >>>>> >> >>>>> how >>> >>>>> >> >>>>> they >>> >>>>> >> >>>> like >>> >>>>> >> >>>>> to coordinate the round. They can only write one message >>> >>>>> >> >>>>> and see >>> >>>>> >> >>>>> the >>> >>>>> >> >>>>> messages of others after they have submitted theirs. >>> >>>>> >> >>>>> Although one >>> >>>>> >> >>>>> way >>> >>>>> >> >>>>> communication does not lead to very good coordination, this >>> >>>>> >> >>>>> treatment >>> >>>>> >> >>>> is >>> >>>>> >> >>>>> focused on setting rules. An alternative might be that one >>> >>>>> >> >>>>> randomly >>> >>>>> >> >>>>> defined person is asked to define the rules for the next >>> >>>>> >> >>>>> round >>> >>>>> >> >>>>> (to >>> >>>>> >> >>>> avoid >>> >>>>> >> >>>>> confusion). >>> >>>>> >> >>>>> - T3: Participants receive a message that the best way to >>> >>>>> >> >>>>> improve >>> >>>>> >> >>>>> earnings is to follow a number of rules. This is a message >>> >>>>> >> >>>>> provided >>> >>>>> >> >>>>> by >>> >>>>> >> >>>>> us. >>> >>>>> >> >>>>> - control treatments are no communication, and traditional >>> >>>>> >> >>>>> chat. >>> >>>>> >> >>>>> >>> >>>>> >> >>>>> I expect that T1 will lead to significant higher earnings >>> >>>>> >> >>>>> than no >>> >>>>> >> >>>>> communication, just because they now see this as a group >>> >>>>> >> >>>>> task. >>> >>>>> >> >>>>> >>> >>>>> >> >>>>> Just my 2 cents >>> >>>>> >> >>>>> >>> >>>>> >> >>>>> Marco >>> >>>>> >> >>>>> I cc Allen Lee, the computer wizkid who implements the >>> >>>>> >> >>>>> software. >>> >>>>> >> >>>>> -----Original Message----- >>> >>>>> >> >>>>> From: Pontus Strimling [mailto:pon...@gm...] >>> >>>>> >> >>>>> Sent: Tuesday, April 13, 2010 4:58 AM >>> >>>>> >> >>>>> To: Marco Janssen; Kimmo Eriksson >>> >>>>> >> >>>>> Subject: A possible collaberation >>> >>>>> >> >>>>> >>> >>>>> >> >>>>> Hi Marco! >>> >>>>> >> >>>>> >>> >>>>> >> >>>>> Me and Kimmo where discussing the effects of communication >>> >>>>> >> >>>>> on >>> >>>>> >> >>>>> collaboration in social dilemmas. Basically we see two >>> >>>>> >> >>>>> possible >>> >>>>> >> >>>>> effects: one is that people bond through communicating and >>> >>>>> >> >>>>> become >>> >>>>> >> >>>>> more >>> >>>>> >> >>>>> collaborative in general through recognising that the >>> >>>>> >> >>>>> others are >>> >>>>> >> >>>>> humans in a similar situation. The other possibility is >>> >>>>> >> >>>>> that they >>> >>>>> >> >>>>> use >>> >>>>> >> >>>>> the communication to set rules (like instance this corner >>> >>>>> >> >>>>> is mine >>> >>>>> >> >>>>> this >>> >>>>> >> >>>>> is yours and so on). We believe that the later one is the >>> >>>>> >> >>>>> more >>> >>>>> >> >>>>> important one but can't find any experiment that has showed >>> >>>>> >> >>>>> this. >>> >>>>> >> >>>>> So >>> >>>>> >> >>>>> we thought we'd ask you if you have any thought on the >>> >>>>> >> >>>>> subject >>> >>>>> >> >>>>> and >>> >>>>> >> >>>>> if >>> >>>>> >> >>>>> you'd be interested in working with us on testing this in >>> >>>>> >> >>>>> your >>> >>>>> >> >>>>> pac >>> >>>>> >> >>>>> man >>> >>>>> >> >>>>> game? Our idea is that we would manipulate what kind of >>> >>>>> >> >>>>> communication >>> >>>>> >> >>>>> we allow them before they play and them let them play the >>> >>>>> >> >>>>> game as >>> >>>>> >> >>>>> is. >>> >>>>> >> >>>>> >>> >>>>> >> >>>>> Best regards >>> >>>>> >> >>>>> Pontus >>> >>>>> >> >>>>> >>> >>>>> >> >>>> >>> >>>>> >> >>> >>> >>>>> >> >> >>> >>>>> >> >> >>> >>>>> >> >> >>> >>>>> >> >> -- >>> >>>>> >> >> Allen Lee >>> >>>>> >> >> Center for the Study of Institutional Diversity >>> >>>>> >> >> [http://csid.asu.edu] >>> >>>>> >> >> Arizona State University | P.O. Box 872402 | Tempe, Arizona >>> >>>>> >> >> 85287-2402 >>> >>>>> >> >> Office: 480.727.0401 | Fax: 480.965.7671 >>> >>>>> >> >> >>> >>>>> >> > >>> >>>>> >> >>> >>>>> >> >>> >>>>> >> >>> >>>>> >> -- >>> >>>>> >> Allen Lee >>> >>>>> >> Center for the Study of Institutional Diversity >>> >>>>> >> [http://csid.asu.edu] >>> >>>>> >> Arizona State University | P.O. Box 872402 | Tempe, Arizona >>> >>>>> >> 85287-2402 >>> >>>>> >> Office: 480.727.0401 | Fax: 480.965.7671 >>> >>>>> > >>> >>>>> > >>> >>>>> >>> >>>>> >>> >>>>> >>> >>>>> -- >>> >>>>> Allen Lee >>> >>>>> Center for the Study of Institutional Diversity >>> >>>>> [http://csid.asu.edu] >>> >>>>> Arizona State University | P.O. Box 872402 | Tempe, Arizona >>> >>>>> 85287-2402 >>> >>>>> Office: 480.727.0401 | Fax: 480.965.7671 >>> >>>> >>> >>>> >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> Allen Lee >>> >>> Center for the Study of Institutional Diversity [http://csid.asu.edu] >>> >>> Arizona State University | P.O. Box 872402 | Tempe, Arizona 85287-2402 >>> >>> Office: 480.727.0401 | Fax: 480.965.7671 >>> >>> >>> >> >>> > >>> > >>> > >>> > -- >>> > Allen Lee >>> > Center for the Study of Institutional Diversity [http://csid.asu.edu] >>> > Arizona State University | P.O. Box 872402 | Tempe, Arizona 85287-2402 >>> > Office: 480.727.0401 | Fax: 480.965.7671 >>> > >>> >>> >>> >>> -- >>> Allen Lee >>> Center for the Study of Institutional Diversity [http://csid.asu.edu] >>> Arizona State University | P.O. Box 872402 | Tempe, Arizona 85287-2402 >>> Office: 480.727.0401 | Fax: 480.965.7671 >> >> > > > > -- > Allen Lee > Center for the Study of Institutional Diversity [http://csid.asu.edu] > School of Human Evolution and Social Change [http://shesc.asu.edu] > College of Liberal Arts and Sciences > Arizona State University | P.O. Box 872402 | Tempe, Arizona 85287-2402 > 480.727.0401 | Fax: 480.965.7671 | e-mail: all...@as... > -- Allen Lee Center for the Study of Institutional Diversity [http://csid.asu.edu] School of Human Evolution and Social Change [http://shesc.asu.edu] College of Liberal Arts and Sciences Arizona State University | P.O. Box 872402 | Tempe, Arizona 85287-2402 480.727.0401 | Fax: 480.965.7671 | e-mail: all...@as... |
From: Allen L. <All...@as...> - 2011-10-07 14:55:08
|
Hi Micael, Yes, I've noticed this as well.. !#!$ oracle. We've fixed it in our development trunk (http://bitbucket.org/virtualcommons/foraging) but that's undergoing heavy changes right now that you may not want to run just yet. The easiest thing to do is to simply remove the jogl entry from the client.jnlp file. You can comment it out entirely and the app should still run fine since you're not running the 3D version. <!-- <property name="sun.java2d.noddraw" value="true"/> <extension name="jogl" href="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp"/> --> On Fri, Oct 7, 2011 at 7:13 AM, Micael Ehn <mic...@gm...> wrote: > Hi Allen, > sorry to take this much time again. We were planning to run the experiments > very soon and were going to run a test round today. However, it turns out > that the system no longer works. I receive an error message saying that the > jogl resource is unsigned. Searching the web for this error message reveals > that oracle has removed the signature from the jogl jar-file, so that any > system using it will refuse to start. > The workarounds I found when searching includes compiling jogl and signing > it, together with all other code locally and then updating the system to use > the local copy instead, something I don't know how to do. Any ideas on how > to solve this? > > Regards > Micael Ehn > > 2010/11/23 Allen Lee <All...@as...> >> >> Ok, this was an easy patch and should be fixed now. >> >> Micael, there's two ways you can get the changes: >> >> 1. (easier/faster if it works) run an "svn update" from the >> command-line wherever you installed the foraging software to get the >> new code and then re-run "ant deploy" >> 2. I've also updated the source package at >> http://dev.commons.asu.edu/src/foraging-with-censorship.zip if you >> want to just download the whole thing again and re-install and >> re-deploy it. This should be a last resort if the first option >> doesn't work. >> >> Allen >> >> On Mon, Nov 22, 2010 at 2:35 PM, Allen Lee <All...@as...> wrote: >> > Hi Kimmo, >> > >> > Sorry for the confusion! Making the lines wrap shouldn't be too >> > difficult (hopefully!) - I'll let you know when this is done. >> > >> > On Mon, Nov 1, 2010 at 6:58 AM, Kimmo Eriksson <ki...@gm...> wrote: >> >> Hi Allen! >> >> >> >> We are very pleased to tell that we have at long last understood your >> >> email. All of us here read it as saying "I won't have time to finish >> >> this until next year at the earliest; if you wish to test what it >> >> looks like now, be my guest." For some reason I and Pontus re-read it >> >> now and realize what you are actually saying is "This is a complete >> >> version, please test it and give feedback if something needs >> >> changing." Sorry for the delay. >> >> >> >> We now eagerly tested to play the game and it is really good! The only >> >> thing we noticed needed improvement is a hopefully small thing with >> >> the censoring: When someone writes a long chat message, it will come >> >> out as a very long line on the facilitator's screen, making it >> >> difficult to get to the censoring buttons. We'd like line breaks to be >> >> inserted in long messages. Can this be arranged? >> >> >> >> We are enthusiastic about the prospect to run a study with censoring >> >> here in Sweden! >> >> >> >> best regards, >> >> Kimmo >> >> >> >> >> >> >> >> >> >> >> >> 2010/9/21 Allen Lee <All...@as...>: >> >>> Ah ok, glad it's at least installed/running ok. >> >>> >> >>> Realistically, I won't have time to make significant modifications to >> >>> the code until next year at the earliest; my programming efforts are >> >>> now focused on other projects. That said, I would be happy to make >> >>> small changes / tweaks to the software as time permits. The censoring >> >>> feature is enabled and functional (albeit crude and in need of UI/UX >> >>> interface improvement) so if you'd like to pretest it, try it out. >> >>> Even though I won't have much time to work on it, your feedback is >> >>> appreciated so if you have ideas on how to improve the gui (or any >> >>> other aspect of the software), do let us know. >> >>> >> >>> If you do end up running experiments or pretests and would like to >> >>> analyze the data afterwards, let me know and I'll work on some more >> >>> docs dealing with extracting data from the experiment. >> >>> >> >>> Allen >> >>> >> >>> On Tue, Sep 21, 2010 at 1:07 AM, Micael Ehn <mic...@gm...> >> >>> wrote: >> >>>> Hi, I'm not stuck at all, the game is running just fine. I was just >> >>>> wondering what the next step in this entire process is. Were you >> >>>> going to do >> >>>> some modifications to the game before we actually run it here? >> >>>> >> >>>> //Micke >> >>>> >> >>>> >> >>>> 2010/9/21 Allen Lee <All...@as...> >> >>>>> >> >>>>> Hi Micael, >> >>>>> >> >>>>> I've added some more detail on actually running the experiment >> >>>>> software here: >> >>>>> >> >>>>> http://commons.asu.edu/software/foraging/documentation#running-the-software >> >>>>> - is that where you're stuck? >> >>>>> >> >>>>> On Thu, Sep 9, 2010 at 3:13 AM, Micael Ehn <mic...@gm...> >> >>>>> wrote: >> >>>>> > Hi everyone >> >>>>> > >> >>>>> > I have now managed to get the game running in our lab. What is the >> >>>>> > next >> >>>>> > step? >> >>>>> > // Micke >> >>>>> > 2010/5/27 Allen Lee <All...@as...> >> >>>>> >> >> >>>>> >> Sounds good. We run our experiments on a Linux server as well so >> >>>>> >> that's not a problem at all. If you'd like to get started first >> >>>>> >> you >> >>>>> >> can follow the steps listed here: >> >>>>> >> >> >>>>> >> http://opensource.asu.edu/display/COMMONS/Foraging >> >>>>> >> >> >>>>> >> The main things that you'll need on your Linux server is to make >> >>>>> >> sure >> >>>>> >> you have a Java 1.6 JDK and Ant installed. Maven is an optional >> >>>>> >> dependency if you don't already have a webserver running on your >> >>>>> >> Linux >> >>>>> >> server and want to use Maven's Jetty plugin webserver. >> >>>>> >> >> >>>>> >> >> >>>>> >> Micael, I'll prepare a zipfile for you in the next few days that >> >>>>> >> has >> >>>>> >> the configuration parameters and so on set for the censoring >> >>>>> >> experiment. In the meantime however if you'd like to just try >> >>>>> >> out the >> >>>>> >> software first feel free to download it and install it via the >> >>>>> >> instructions above and please let me know if you have any >> >>>>> >> questions. >> >>>>> >> >> >>>>> >> On Wed, May 26, 2010 at 5:05 PM, Pontus Strimling >> >>>>> >> <pon...@gm...> wrote: >> >>>>> >> > Sounds great Allen. The man in contrll of our lab is a PhD >> >>>>> >> > student by >> >>>>> >> > the name of Micael. His email is "Micael Ehn" >> >>>>> >> > <mic...@gm...>. >> >>>>> >> > Our lab runs on Linux is that a problem? >> >>>>> >> > >> >>>>> >> > Pontus >> >>>>> >> > >> >>>>> >> > On Wed, May 26, 2010 at 4:58 PM, Allen Lee <All...@as...> >> >>>>> >> > wrote: >> >>>>> >> >> Hi Kimmo, Pontus: >> >>>>> >> >> >> >>>>> >> >> I've got an initial version of censored chat implemented and >> >>>>> >> >> would >> >>>>> >> >> like to take the next steps to deploy our software over on >> >>>>> >> >> your end >> >>>>> >> >> so >> >>>>> >> >> you can play with it, provide feedback, etc. Is there a tech >> >>>>> >> >> person >> >>>>> >> >> that I should coordinate with directly? >> >>>>> >> >> >> >>>>> >> >> Thanks! >> >>>>> >> >> Allen >> >>>>> >> >> >> >>>>> >> >> On Mon, Apr 26, 2010 at 8:37 AM, Marco Janssen >> >>>>> >> >> <Mar...@as...> >> >>>>> >> >> wrote: >> >>>>> >> >>> >> >>>>> >> >>> Hi Kimmo, >> >>>>> >> >>> >> >>>>> >> >>> Yes, it is probably best if we make here changes to the code. >> >>>>> >> >>> It >> >>>>> >> >>> should not be too hard. We need to restrict the number of >> >>>>> >> >>> messsages >> >>>>> >> >>> people >> >>>>> >> >>> can send in a timeslot so that an experimenter can approve >> >>>>> >> >>> those >> >>>>> >> >>> messages in >> >>>>> >> >>> time. >> >>>>> >> >>> >> >>>>> >> >>> It would be very helpful if experiments can be run in >> >>>>> >> >>> Stockholm. It >> >>>>> >> >>> will be interesting to see whether the same behavior is >> >>>>> >> >>> observed >> >>>>> >> >>> with >> >>>>> >> >>> Swedish students (I expect so). >> >>>>> >> >>> >> >>>>> >> >>> Marco >> >>>>> >> >>> >> >>>>> >> >>> -----Original Message----- >> >>>>> >> >>> From: Kimmo Eriksson [mailto:ki...@gm...] >> >>>>> >> >>> Sent: Monday, April 26, 2010 6:27 AM >> >>>>> >> >>> To: Marco Janssen >> >>>>> >> >>> Cc: Pontus Strimling; Allen Lee >> >>>>> >> >>> Subject: Re: A possible collaberation >> >>>>> >> >>> >> >>>>> >> >>> Hello! It is interesting to hear that you are already >> >>>>> >> >>> thinking >> >>>>> >> >>> along >> >>>>> >> >>> these lines. >> >>>>> >> >>> (And sorry it took us two weeks to reply.) >> >>>>> >> >>> >> >>>>> >> >>> I and Pontus are convinced such a study would be very >> >>>>> >> >>> important, >> >>>>> >> >>> and >> >>>>> >> >>> would >> >>>>> >> >>> like to make it happen. I think the development is best done >> >>>>> >> >>> at >> >>>>> >> >>> your >> >>>>> >> >>> end. We >> >>>>> >> >>> can contribute with ideas and with development money from our >> >>>>> >> >>> grants, >> >>>>> >> >>> and we >> >>>>> >> >>> can run the study in Stockholm. >> >>>>> >> >>> >> >>>>> >> >>> How does that sound to you? >> >>>>> >> >>> >> >>>>> >> >>> Kimmo >> >>>>> >> >>> >> >>>>> >> >>> 2010/4/14 Marco Janssen <Mar...@as...>: >> >>>>> >> >>>> Hi Kimmo, >> >>>>> >> >>>> >> >>>>> >> >>>> I have considered this option too, and I have seen other >> >>>>> >> >>>> doing >> >>>>> >> >>>> this >> >>>>> >> >>>> in >> >>>>> >> >>>> more regular experimental economics games. We notice that >> >>>>> >> >>>> the >> >>>>> >> >>>> participant type a lot of messages, so we need to check >> >>>>> >> >>>> whether >> >>>>> >> >>>> such >> >>>>> >> >>>> a >> >>>>> >> >>>> set up will reduce the amount of chat traffic, otherwise it >> >>>>> >> >>>> will >> >>>>> >> >>>> be >> >>>>> >> >>>> difficult for the monitor to approve messages (we have >> >>>>> >> >>>> typically >> >>>>> >> >>>> 10 >> >>>>> >> >>>> to >> >>>>> >> >>>> 15 people at the same time). >> >>>>> >> >>>> >> >>>>> >> >>>> Related to CT3 I have considered the possibility to have >> >>>>> >> >>>> them >> >>>>> >> >>>> talking >> >>>>> >> >>>> about a) something they all agree on unrelated to the game >> >>>>> >> >>>> b) >> >>>>> >> >>>> something >> >>>>> >> >>>> there might be disagreement about (whether a particular >> >>>>> >> >>>> sports >> >>>>> >> >>>> team >> >>>>> >> >>>> is >> >>>>> >> >>>> the best) unrelated to the game. I can imagine even this >> >>>>> >> >>>> might >> >>>>> >> >>>> have >> >>>>> >> >>>> an >> >>>>> >> >>>> effect. >> >>>>> >> >>>> >> >>>>> >> >>>> Marco >> >>>>> >> >>>> >> >>>>> >> >>>> >> >>>>> >> >>>> -----Original Message----- >> >>>>> >> >>>> From: Kimmo Eriksson [mailto:ki...@gm...] >> >>>>> >> >>>> Sent: Tuesday, April 13, 2010 11:58 PM >> >>>>> >> >>>> To: Marco Janssen >> >>>>> >> >>>> Cc: Pontus Strimling; Allen Lee >> >>>>> >> >>>> Subject: Re: A possible collaberation >> >>>>> >> >>>> >> >>>>> >> >>>> Hello Marco, hi Allen! >> >>>>> >> >>>> >> >>>>> >> >>>> Those are good ideas, Marco. For T3, I would argue that we >> >>>>> >> >>>> for >> >>>>> >> >>>> each >> >>>>> >> >>>> round randomize the order of the players and let them each >> >>>>> >> >>>> in turn >> >>>>> >> >>>> have their say about rules. >> >>>>> >> >>>> >> >>>>> >> >>>> I'll just present what I and Pontus had in mind instead, and >> >>>>> >> >>>> then >> >>>>> >> >>>> try >> >>>>> >> >>>> to figure out which approach is preferable. >> >>>>> >> >>>> >> >>>>> >> >>>> We were thinking of having a research assistant "censoring" >> >>>>> >> >>>> communication differently in various treatments: >> >>>>> >> >>>> - CT1: Participants are told that they are free to chat, but >> >>>>> >> >>>> that >> >>>>> >> >>>> to >> >>>>> >> >>>> "avoid abuse" all messages are routed via a "censor" who >> >>>>> >> >>>> must >> >>>>> >> >>>> approve >> >>>>> >> >>>> of the message before it is relayed to other players. >> >>>>> >> >>>> - CT2: Participants are told that they can chat only about >> >>>>> >> >>>> how to >> >>>>> >> >>>> play >> >>>>> >> >>>> the game, and that to avoid abuse.... >> >>>>> >> >>>> - CT3: Participants are told that they can chat only about >> >>>>> >> >>>> things >> >>>>> >> >>>> not >> >>>>> >> >>>> related to how to play the game, and that to avoid abuse ... >> >>>>> >> >>>> - CT4: Participants are told that they can chat only after >> >>>>> >> >>>> the >> >>>>> >> >>>> game >> >>>>> >> >>>> is finished, and that to avoid abuse ... >> >>>>> >> >>>> >> >>>>> >> >>>> The advantage of this setup, I think, is the overall >> >>>>> >> >>>> similarity >> >>>>> >> >>>> between manipulations. Our hypothesis, then, is that there >> >>>>> >> >>>> will be >> >>>>> >> >>>> no >> >>>>> >> >>>> difference in outcome between the high control CT1 and CT2 >> >>>>> >> >>>> but a >> >>>>> >> >>>> worse >> >>>>> >> >>>> outcome of CT3. It is also interesting whether CT3 gives a >> >>>>> >> >>>> better >> >>>>> >> >>>> outcome than the low control CT4. >> >>>>> >> >>>> >> >>>>> >> >>>> The disadvantages with this setup seem to be of a practical >> >>>>> >> >>>> nature: >> >>>>> >> >>>> (1) It may be difficult to implement the censoring feature >> >>>>> >> >>>> in the >> >>>>> >> >>>> software. I guess Allen would be able to answer that. >> >>>>> >> >>>> (2) It may be difficult for the censor to make quick >> >>>>> >> >>>> decisions on >> >>>>> >> >>>> whether to approve messages. (My guess is this is not a >> >>>>> >> >>>> problem; I >> >>>>> >> >>>> think it would be pretty easy given a little training. Also, >> >>>>> >> >>>> given >> >>>>> >> >>>> that a rule is declared most participants will probably >> >>>>> >> >>>> follow it >> >>>>> >> >>>> directly without trying the patience of the censor.) >> >>>>> >> >>>> >> >>>>> >> >>>> Kimmo >> >>>>> >> >>>> >> >>>>> >> >>>> 2010/4/13 Marco Janssen <Mar...@as...>: >> >>>>> >> >>>>> Hi Pontus, >> >>>>> >> >>>>> >> >>>>> >> >>>>> There are indeed a number of variations we can do with the >> >>>>> >> >>>>> pacman >> >>>>> >> >>>>> environment to test the effect of communication. I think >> >>>>> >> >>>>> that the >> >>>>> >> >>>>> participants know that they are in the same group, even if >> >>>>> >> >>>>> they >> >>>>> >> >>>>> are >> >>>>> >> >>>>> overharvesting a resource. But once they communicate the >> >>>>> >> >>>>> framing >> >>>>> >> >>>>> of >> >>>>> >> >>>> the >> >>>>> >> >>>>> problem is changed from competition to collaboration. An >> >>>>> >> >>>>> initial >> >>>>> >> >>>>> idea >> >>>>> >> >>>> to >> >>>>> >> >>>>> test this is the following: >> >>>>> >> >>>>> - T1: before the participants know what the experiment is >> >>>>> >> >>>>> about >> >>>>> >> >>>>> the >> >>>>> >> >>>> get >> >>>>> >> >>>>> time to chat with eachother for a number of minutes. They >> >>>>> >> >>>>> are >> >>>>> >> >>>>> informed >> >>>>> >> >>>>> that they will be in the same group during the experiment >> >>>>> >> >>>>> but do >> >>>>> >> >>>>> not >> >>>>> >> >>>> get >> >>>>> >> >>>>> info what it is about. >> >>>>> >> >>>>> - T2: instead of communication, the participants can write >> >>>>> >> >>>>> how >> >>>>> >> >>>>> they >> >>>>> >> >>>> like >> >>>>> >> >>>>> to coordinate the round. They can only write one message >> >>>>> >> >>>>> and see >> >>>>> >> >>>>> the >> >>>>> >> >>>>> messages of others after they have submitted theirs. >> >>>>> >> >>>>> Although one >> >>>>> >> >>>>> way >> >>>>> >> >>>>> communication does not lead to very good coordination, this >> >>>>> >> >>>>> treatment >> >>>>> >> >>>> is >> >>>>> >> >>>>> focused on setting rules. An alternative might be that one >> >>>>> >> >>>>> randomly >> >>>>> >> >>>>> defined person is asked to define the rules for the next >> >>>>> >> >>>>> round >> >>>>> >> >>>>> (to >> >>>>> >> >>>> avoid >> >>>>> >> >>>>> confusion). >> >>>>> >> >>>>> - T3: Participants receive a message that the best way to >> >>>>> >> >>>>> improve >> >>>>> >> >>>>> earnings is to follow a number of rules. This is a message >> >>>>> >> >>>>> provided >> >>>>> >> >>>>> by >> >>>>> >> >>>>> us. >> >>>>> >> >>>>> - control treatments are no communication, and traditional >> >>>>> >> >>>>> chat. >> >>>>> >> >>>>> >> >>>>> >> >>>>> I expect that T1 will lead to significant higher earnings >> >>>>> >> >>>>> than no >> >>>>> >> >>>>> communication, just because they now see this as a group >> >>>>> >> >>>>> task. >> >>>>> >> >>>>> >> >>>>> >> >>>>> Just my 2 cents >> >>>>> >> >>>>> >> >>>>> >> >>>>> Marco >> >>>>> >> >>>>> I cc Allen Lee, the computer wizkid who implements the >> >>>>> >> >>>>> software. >> >>>>> >> >>>>> -----Original Message----- >> >>>>> >> >>>>> From: Pontus Strimling [mailto:pon...@gm...] >> >>>>> >> >>>>> Sent: Tuesday, April 13, 2010 4:58 AM >> >>>>> >> >>>>> To: Marco Janssen; Kimmo Eriksson >> >>>>> >> >>>>> Subject: A possible collaberation >> >>>>> >> >>>>> >> >>>>> >> >>>>> Hi Marco! >> >>>>> >> >>>>> >> >>>>> >> >>>>> Me and Kimmo where discussing the effects of communication >> >>>>> >> >>>>> on >> >>>>> >> >>>>> collaboration in social dilemmas. Basically we see two >> >>>>> >> >>>>> possible >> >>>>> >> >>>>> effects: one is that people bond through communicating and >> >>>>> >> >>>>> become >> >>>>> >> >>>>> more >> >>>>> >> >>>>> collaborative in general through recognising that the >> >>>>> >> >>>>> others are >> >>>>> >> >>>>> humans in a similar situation. The other possibility is >> >>>>> >> >>>>> that they >> >>>>> >> >>>>> use >> >>>>> >> >>>>> the communication to set rules (like instance this corner >> >>>>> >> >>>>> is mine >> >>>>> >> >>>>> this >> >>>>> >> >>>>> is yours and so on). We believe that the later one is the >> >>>>> >> >>>>> more >> >>>>> >> >>>>> important one but can't find any experiment that has showed >> >>>>> >> >>>>> this. >> >>>>> >> >>>>> So >> >>>>> >> >>>>> we thought we'd ask you if you have any thought on the >> >>>>> >> >>>>> subject >> >>>>> >> >>>>> and >> >>>>> >> >>>>> if >> >>>>> >> >>>>> you'd be interested in working with us on testing this in >> >>>>> >> >>>>> your >> >>>>> >> >>>>> pac >> >>>>> >> >>>>> man >> >>>>> >> >>>>> game? Our idea is that we would manipulate what kind of >> >>>>> >> >>>>> communication >> >>>>> >> >>>>> we allow them before they play and them let them play the >> >>>>> >> >>>>> game as >> >>>>> >> >>>>> is. >> >>>>> >> >>>>> >> >>>>> >> >>>>> Best regards >> >>>>> >> >>>>> Pontus >> >>>>> >> >>>>> >> >>>>> >> >>>> >> >>>>> >> >>> >> >>>>> >> >> >> >>>>> >> >> >> >>>>> >> >> >> >>>>> >> >> -- >> >>>>> >> >> Allen Lee >> >>>>> >> >> Center for the Study of Institutional Diversity >> >>>>> >> >> [http://csid.asu.edu] >> >>>>> >> >> Arizona State University | P.O. Box 872402 | Tempe, Arizona >> >>>>> >> >> 85287-2402 >> >>>>> >> >> Office: 480.727.0401 | Fax: 480.965.7671 >> >>>>> >> >> >> >>>>> >> > >> >>>>> >> >> >>>>> >> >> >>>>> >> >> >>>>> >> -- >> >>>>> >> Allen Lee >> >>>>> >> Center for the Study of Institutional Diversity >> >>>>> >> [http://csid.asu.edu] >> >>>>> >> Arizona State University | P.O. Box 872402 | Tempe, Arizona >> >>>>> >> 85287-2402 >> >>>>> >> Office: 480.727.0401 | Fax: 480.965.7671 >> >>>>> > >> >>>>> > >> >>>>> >> >>>>> >> >>>>> >> >>>>> -- >> >>>>> Allen Lee >> >>>>> Center for the Study of Institutional Diversity >> >>>>> [http://csid.asu.edu] >> >>>>> Arizona State University | P.O. Box 872402 | Tempe, Arizona >> >>>>> 85287-2402 >> >>>>> Office: 480.727.0401 | Fax: 480.965.7671 >> >>>> >> >>>> >> >>> >> >>> >> >>> >> >>> -- >> >>> Allen Lee >> >>> Center for the Study of Institutional Diversity [http://csid.asu.edu] >> >>> Arizona State University | P.O. Box 872402 | Tempe, Arizona 85287-2402 >> >>> Office: 480.727.0401 | Fax: 480.965.7671 >> >>> >> >> >> > >> > >> > >> > -- >> > Allen Lee >> > Center for the Study of Institutional Diversity [http://csid.asu.edu] >> > Arizona State University | P.O. Box 872402 | Tempe, Arizona 85287-2402 >> > Office: 480.727.0401 | Fax: 480.965.7671 >> > >> >> >> >> -- >> Allen Lee >> Center for the Study of Institutional Diversity [http://csid.asu.edu] >> Arizona State University | P.O. Box 872402 | Tempe, Arizona 85287-2402 >> Office: 480.727.0401 | Fax: 480.965.7671 > > -- Allen Lee Center for the Study of Institutional Diversity [http://csid.asu.edu] School of Human Evolution and Social Change [http://shesc.asu.edu] College of Liberal Arts and Sciences Arizona State University | P.O. Box 872402 | Tempe, Arizona 85287-2402 480.727.0401 | Fax: 480.965.7671 | e-mail: all...@as... |
From: Bitbucket <com...@bi...> - 2011-10-04 17:58:05
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/770a1692ae0e/ changeset: 770a1692ae0e user: alllee date: 2011-10-04 19:57:55 summary: maintaining a fixed size for the bottom message panel affected #: 1 file (-1 bytes) --- a/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java Tue Oct 04 10:41:40 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java Tue Oct 04 10:57:55 2011 -0700 @@ -406,10 +406,10 @@ messageTextPane.setBackground(Color.WHITE); addStyles(messageTextPane.getStyledDocument()); messageScrollPane = new JScrollPane(messageTextPane); - // Dimension scrollPaneSize = new Dimension(getPreferredSize().width, 50); - // messageScrollPane.setMinimumSize(scrollPaneSize); - // messageScrollPane.setPreferredSize(scrollPaneSize); - // messageScrollPane.setMaximumSize(scrollPaneSize); + Dimension scrollPaneSize = new Dimension(getPanel().getPreferredSize().width, 60); + messageScrollPane.setMinimumSize(scrollPaneSize); + messageScrollPane.setPreferredSize(scrollPaneSize); + messageScrollPane.setMaximumSize(scrollPaneSize); messagePanel.add(messageScrollPane, BorderLayout.CENTER); gamePanel.add(messagePanel, BorderLayout.SOUTH); @@ -427,7 +427,7 @@ public void componentResized(ComponentEvent event) { Component component = event.getComponent(); // offset by 35 pixels to allow for message box - Dimension screenSize = new Dimension(component.getWidth(), component.getHeight() - 50); + Dimension screenSize = new Dimension(component.getWidth(), component.getHeight() - 90); subjectView.setScreenSize(screenSize); subjectView.setImageSizes(); getPanel().revalidate(); 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. |
From: Bitbucket <com...@bi...> - 2011-10-04 17:41:46
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/102fa5599a99/ changeset: 102fa5599a99 user: alllee date: 2011-10-04 19:41:40 summary: fixes for indiana experiment, bugs with real time sanctioning configuration on the client & server side, adding display messages back affected #: 9 files (-1 bytes) --- a/src/main/java/edu/asu/commons/foraging/client/ClientDataModel.java Sun Oct 02 01:53:15 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/client/ClientDataModel.java Tue Oct 04 10:41:40 2011 -0700 @@ -71,10 +71,8 @@ return Identifier.NULL; } - // FIXME: the logic here is getting complex, refactor later public boolean isSanctioningAllowed() { - return groupDataModel.getActiveSanctionMechanism() == SanctionMechanism.EVERYBODY_CAN_SANCTION; -// && getClientData().isSanctioningAllowed() || isSanctioningEnabled(); + return getRoundConfiguration().isSanctioningEnabled(); } public boolean isHarvestingAllowed() { --- a/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java Sun Oct 02 01:53:15 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java Tue Oct 04 10:41:40 2011 -0700 @@ -509,19 +509,17 @@ ClientData targetClient = clients.get(request.getTarget()); // validate request // FIXME:Added a new test condition to check for the simplified version of sanctioning - boolean invalidSanctionRequest = sourceClient.getCurrentTokens() == 0 || targetClient.getCurrentTokens() == 0 - || sourceClient.getGroupDataModel().isResourceDistributionEmpty() - || (sourceClient.getGroupDataModel().getActiveSanctionMechanism() == SanctionMechanism.NONE); + boolean invalidSanctionRequest = sourceClient.getCurrentTokens() == 0 || targetClient.getCurrentTokens() == 0 || sourceClient.getGroupDataModel().isResourceDistributionEmpty(); if (invalidSanctionRequest) { // ignore the sanction request, send a message to the sanctioner. logger.warning("Ignoring token reduction request, sending new client error message event to : " + sourceClient.getId()); - if (sourceClient.getGroupDataModel().getActiveSanctionMechanism() == SanctionMechanism.NONE) { + if (getCurrentRoundConfiguration().isSanctioningEnabled()) { transmit(new ClientMessageEvent(sourceClient.getId(), - String.format("Ignoring token reduction request: Sanctioning not allowed in this round", targetClient.getAssignedNumber()))); + String.format("Ignoring token reduction request: # %d does not have any tokens to reduce.", targetClient.getAssignedNumber()))); } else { transmit(new ClientMessageEvent(sourceClient.getId(), - String.format("Ignoring token reduction request: # %d does not have any tokens to reduce.", targetClient.getAssignedNumber()))); + String.format("Ignoring token reduction request: Sanctioning not allowed in this round", targetClient.getAssignedNumber()))); } return; } --- a/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java Sun Oct 02 01:53:15 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java Tue Oct 04 10:41:40 2011 -0700 @@ -32,6 +32,7 @@ import javax.swing.JViewport; import javax.swing.SwingUtilities; import javax.swing.Timer; +import javax.swing.text.BadLocationException; import javax.swing.text.Style; import javax.swing.text.StyleConstants; import javax.swing.text.StyleContext; @@ -492,6 +493,7 @@ // System.out.println("Can do sanctioning"); int assignedNumber = keyChar - 48; Identifier sanctionee = dataModel.getClientId(assignedNumber); + System.err.println("Punishing : " + sanctionee); if (sanctionee == null || sanctionee.equals(dataModel.getId())) { // don't allow self-flagellation :-). return; @@ -499,10 +501,8 @@ // only allow sanctions for subjects within this subject's field of vision Point subjectPosition = dataModel.getClientDataMap().get(sanctionee).getPoint(); if (dataModel.getClientData().isSubjectInFieldOfVision(subjectPosition)) { - // System.out.println("sanctioning event sent"); event = new RealTimeSanctionRequest(dataModel.getId(), sanctionee); - // below function must be used for enforcement type4 - // dataModel.sanction(dataModel.getId(), sanctionee); + System.out.println("sending sanctioning event : " + event); } else { displayErrorMessage("The participant is out of range."); @@ -611,17 +611,16 @@ } public void displayMessage(String errorMessage, Color color) { - // String chatHandle = getChatHandle(source); - // messageTextPane.setForeground(color); - // StyledDocument document = messageTextPane.getStyledDocument(); - // try { - // document.insertString(document.getLength(), errorMessage + "\n", document.getStyle("bold")); - // messageTextPane.setCaretPosition(document.getLength()); - // } - // catch (BadLocationException e) { - // e.printStackTrace(); - // throw new RuntimeException(e); - // } + messageTextPane.setForeground(color); + StyledDocument document = messageTextPane.getStyledDocument(); + try { + document.insertString(document.getLength(), errorMessage + "\n", document.getStyle("bold")); + messageTextPane.setCaretPosition(document.getLength()); + } + catch (BadLocationException e) { + e.printStackTrace(); + throw new RuntimeException(e); + } } // FIXME: add to some common GUI package? @@ -919,7 +918,7 @@ public void ruleVoteSubmitted() { // TODO Auto-generated method stub - setInstructions("<h1>Submitted</h1><hr><p>Thank you for submitting your vote. Please wait while we tally the rest of the votes from the othe rmembers of your group.</p>"); + setInstructions("<h1>Submitted</h1><hr><p>Thank you for submitting your vote. Please wait while we tally the rest of the votes from the other members of your group.</p>"); switchInstructionsPane(); } --- a/src/main/java/edu/asu/commons/foraging/ui/VotingForm.java Sun Oct 02 01:53:15 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/ui/VotingForm.java Tue Oct 04 10:41:40 2011 -0700 @@ -91,7 +91,8 @@ verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(ruleLabel).addComponent(radioButton)); } else { - component = new JLabel(votingResults.get(rule) + " votes"); + Integer numberOfVotes = votingResults.get(rule); + component = new JLabel(String.format("%s votes", numberOfVotes == null ? "0" : numberOfVotes)); } horizontalButtonParallelGroup.addComponent(component); verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(ruleLabel).addComponent(component)); --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round4.xml Sun Oct 02 01:53:15 2011 -0700 +++ b/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round4.xml Tue Oct 04 10:41:40 2011 -0700 @@ -34,7 +34,7 @@ <entry key='voting-instructions'><![CDATA[ -<h1>Voting Instructions</h1> +<h1>Instructions</h1><hr><p> To nominate a rule, click the radio button to the left of the one you choose, and @@ -92,12 +92,12 @@ <entry key='survey-link'><![CDATA[ - https://qtrial.qualtrics.com/SE/?SID=SV_38lReBOv0Wk7wgY + https://qtrial.qualtrics.com/SE/?SID=SV_cLX7jnYikmD9eSM ]]></entry> -<entry key='sanction-type'>REAL_TIME</entry> +<entry key='sanction-type'>real-time</entry><entry key="sanction-cost">1</entry><entry key="sanction-multiplier">2</entry><entry key='sanction-instructions'> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round5.xml Sun Oct 02 01:53:15 2011 -0700 +++ b/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round5.xml Tue Oct 04 10:41:40 2011 -0700 @@ -29,7 +29,7 @@ ]]></entry> -<entry key='sanction-type'>REAL_TIME</entry> +<entry key='sanction-type'>real-time</entry><entry key="sanction-cost">1</entry><entry key="sanction-multiplier">2</entry><entry key='sanction-instructions'> --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round6.xml Sun Oct 02 01:53:15 2011 -0700 +++ b/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round6.xml Tue Oct 04 10:41:40 2011 -0700 @@ -13,7 +13,7 @@ <entry key='always-explicit'>true</entry><entry key='max-cell-occupancy'>1</entry> -<entry key='sanction-type'>REAL_TIME</entry> +<entry key='sanction-type'>real-time</entry><entry key="sanction-cost">1</entry><entry key="sanction-multiplier">2</entry><entry key='sanction-instructions'> @@ -52,31 +52,6 @@ </ul> ]]></entry> -<entry key='external-survey-enabled'>true</entry> -<entry key='survey-instructions'> - <![CDATA[ - <h1>Survey</h1> - <hr> - <p> - Before we continue to the next round of the token task, we would like to ask you - some quick questions. At the beginning of the survey you will need to enter: - </p> - <ul> - <li>Your player ID: {participantId} </li> - <li>Your survey ID: {surveyId} </li> - </ul> - <p> - Please <a href='{surveyLink}'>click here</a> to begin the survey. - </p> - ]]> -</entry> - -<entry key='survey-link'> - <![CDATA[ - https://qtrial.qualtrics.com/SE/?SID=SV_38lReBOv0Wk7wgY - ]]> -</entry> - <entry key="instructions"><![CDATA[ --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round7.xml Sun Oct 02 01:53:15 2011 -0700 +++ b/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round7.xml Tue Oct 04 10:41:40 2011 -0700 @@ -14,12 +14,38 @@ <entry key='max-cell-occupancy'>1</entry> +<entry key='external-survey-enabled'>true</entry> +<entry key='survey-instructions'> + <![CDATA[ + <h1>Survey</h1> + <hr> + <p> + Before we continue to the next round of the token task, we would like to ask you + some quick questions. At the beginning of the survey you will need to enter: + </p> + <ul> + <li>Your participant ID: {participantId} </li> + <li>Your survey ID: {surveyId} </li> + </ul> + <p> + Please <a href='{surveyLink}'>click here</a> to begin the survey. + </p> + ]]> +</entry> + +<entry key='survey-link'> + <![CDATA[ + https://qtrial.qualtrics.com/SE/?SID=SV_3efXdNaJ6EXZ0S8 + ]]> +</entry> + + <entry key="instructions"><![CDATA[ <h3>Instructions</h3><hr><p> -The length of this round is four minutes. +From this point forward, participants will NOT have the option to reduce the earnings of another participant. The length of this round is four minutes. </p><p> If you have any questions please raise your hand. <b>Do you have any --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round9.xml Sun Oct 02 01:53:15 2011 -0700 +++ b/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round9.xml Tue Oct 04 10:41:40 2011 -0700 @@ -27,7 +27,7 @@ some quick questions. At the beginning of the survey you will need to enter: </p><ul> - <li>Your player ID: {participantId} </li> + <li>Your participant ID: {participantId} </li><li>Your survey ID: {surveyId} </li></ul><p> @@ -38,7 +38,7 @@ <entry key='survey-link'><![CDATA[ - https://qtrial.qualtrics.com/SE/?SID=SV_38lReBOv0Wk7wgY + https://qtrial.qualtrics.com/SE/?SID=SV_e8rPe7yyhue5OVm ]]></entry> 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. |
From: Bitbucket <com...@bi...> - 2011-10-02 08:53:23
|
1 new changeset in foraging: http://bitbucket.org/virtualcommons/foraging/changeset/1f07945a3b60/ changeset: 1f07945a3b60 user: alllee date: 2011-10-02 10:53:15 summary: displaying rules on the client side properly now. affected #: 11 files (-1 bytes) --- a/build.xml Sat Oct 01 21:49:06 2011 -0700 +++ b/build.xml Sun Oct 02 01:53:15 2011 -0700 @@ -102,7 +102,7 @@ <include name="facilitator.jar"/></fileset><fileset dir="${lib.dir}"> - <include name="${framework.jar}"/> + <include name="*.jar"/></fileset><fileset dir="${resources.dir}/web"><include name="index.html"/> --- a/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java Sat Oct 01 21:49:06 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/client/ForagingClient.java Sun Oct 02 01:53:15 2011 -0700 @@ -31,6 +31,8 @@ import edu.asu.commons.foraging.event.RealTimeSanctionRequest; import edu.asu.commons.foraging.event.ResetTokenDistributionRequest; import edu.asu.commons.foraging.event.RoundStartedEvent; +import edu.asu.commons.foraging.event.RuleSelectedUpdateEvent; +import edu.asu.commons.foraging.event.RuleVoteRequest; import edu.asu.commons.foraging.event.ShowInstructionsRequest; import edu.asu.commons.foraging.event.ShowSurveyInstructionsRequest; import edu.asu.commons.foraging.event.ShowTrustGameRequest; @@ -39,6 +41,7 @@ import edu.asu.commons.foraging.event.SurveyIdSubmissionRequest; import edu.asu.commons.foraging.event.SynchronizeClientEvent; import edu.asu.commons.foraging.event.TrustGameSubmissionRequest; +import edu.asu.commons.foraging.rules.ForagingRule; import edu.asu.commons.foraging.ui.GameWindow; import edu.asu.commons.foraging.ui.GameWindow2D; import edu.asu.commons.foraging.ui.GameWindow3D; @@ -165,6 +168,12 @@ getGameWindow2D().showInitialVotingInstructions(); } }); + addEventProcessor(new EventTypeProcessor<RuleSelectedUpdateEvent>(RuleSelectedUpdateEvent.class) { + @Override + public void handle(RuleSelectedUpdateEvent event) { + getGameWindow2D().showVotingResults(event.getSelectedRules(), event.getVotingResults()); + } + }); addEventProcessor(new EventTypeProcessor<ShowVoteScreenRequest>(ShowVoteScreenRequest.class) { public void handle(ShowVoteScreenRequest request) { getGameWindow2D().showVoteScreen(); @@ -427,4 +436,9 @@ transmit(new SurveyIdSubmissionRequest(getId(), surveyId)); getGameWindow2D().surveyIdSubmitted(); } + + public void sendRuleVoteRequest(ForagingRule selectedRule) { + transmit(new RuleVoteRequest(getId(), selectedRule)); + getGameWindow2D().ruleVoteSubmitted(); + } } --- a/src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java Sat Oct 01 21:49:06 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/conf/RoundConfiguration.java Sun Oct 02 01:53:15 2011 -0700 @@ -607,6 +607,9 @@ if (isFieldOfVisionEnabled()) { addSpecialInstructions(builder, getFieldOfVisionInstructions()); } + if (isSanctioningEnabled()) { + addSpecialInstructions(builder, getSanctionInstructions()); + } if (isCensoredChat()) { addSpecialInstructions(builder, getCensoredChatInstructions()); } @@ -678,6 +681,24 @@ return template.render(); } + public String getVotingNominationInstructions(List<ForagingRule> selectedRules) { +// ST template = new ST(getVotingNominationInstructions(), '$', '$'); +// template.add("selectedRules", selectedRules); +// return template.render(); + StringBuilder builder = new StringBuilder("<h1>Voting Results</h1><hr>"); + if (selectedRules.size() > 1) { + // tiebreaker + builder.append("<p><b>NOTE:</b> There was a tie and the first rule listed here was randomly selected as the winner.</p><ul>"); + for (ForagingRule rule: selectedRules) { + builder.append("<li>").append(rule.toString()); + } + builder.append("</ul>"); + } + builder.append("<h1>Selected Rule</h1><hr>"); + builder.append("<p><b>").append(selectedRules.get(0)).append("</b></p>"); + return builder.toString(); + } + @Override public String toString() { List<RoundConfiguration> allParameters = getParentConfiguration().getAllParameters(); --- a/src/main/java/edu/asu/commons/foraging/event/RuleSelectedUpdateEvent.java Sat Oct 01 21:49:06 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/event/RuleSelectedUpdateEvent.java Sun Oct 02 01:53:15 2011 -0700 @@ -2,6 +2,7 @@ import java.util.List; +import java.util.Map; import edu.asu.commons.event.AbstractPersistableEvent; import edu.asu.commons.foraging.rules.ForagingRule; @@ -20,26 +21,30 @@ public class RuleSelectedUpdateEvent extends AbstractPersistableEvent { private static final long serialVersionUID = 4360213814026474451L; - private final ForagingRule selectedRule; - private final List<ForagingRule> candidates; + private final List<ForagingRule> selectedRules; + private final Map<ForagingRule, Integer> votingResults; - public RuleSelectedUpdateEvent(Identifier id, ForagingRule rule, List<ForagingRule> candidates) { - super(id, rule.toString()); - this.selectedRule = rule; - this.candidates = candidates; + public RuleSelectedUpdateEvent(Identifier id, List<ForagingRule> selectedRules, Map<ForagingRule, Integer> votingResults) { + super(id, selectedRules.toString()); + this.selectedRules = selectedRules; + this.votingResults = votingResults; } public ForagingRule getSelectedRule() { - return selectedRule; + return selectedRules.get(0); + } + + public List<ForagingRule> getSelectedRules() { + return selectedRules; } @Override public String toString() { - return selectedRule.toString(); + return String.format("Selected first rule from %s", selectedRules); } - public List<ForagingRule> getCandidates() { - return candidates; + public Map<ForagingRule, Integer> getVotingResults() { + return votingResults; } --- a/src/main/java/edu/asu/commons/foraging/model/GroupDataModel.java Sat Oct 01 21:49:06 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/model/GroupDataModel.java Sun Oct 02 01:53:15 2011 -0700 @@ -77,7 +77,7 @@ private ArrayList<RegulationData> submittedRegulations = new ArrayList<RegulationData>(); - private ForagingRule selectedRule; + private ArrayList<ForagingRule> selectedRules; public GroupDataModel(ServerDataModel serverDataModel) { this(serverDataModel, nextGroupId++); @@ -771,7 +771,7 @@ return serverDataModel.getEventChannel(); } - public List<ForagingRule> generateSelectedRule() { + public Map<ForagingRule, Integer> generateVotingResults() { Map<ForagingRule, Integer> tallyMap = new HashMap<ForagingRule, Integer>(); for (ClientData client: clients.values()) { ForagingRule rule = client.getVotedRule(); @@ -781,7 +781,7 @@ } tallyMap.put(rule, count + 1); } - ArrayList<ForagingRule> selectedRules = new ArrayList<ForagingRule>(); + selectedRules = new ArrayList<ForagingRule>(); Integer maxSeenValue = 0; for (Map.Entry<ForagingRule, Integer> entry : tallyMap.entrySet()) { Integer currentValue = entry.getValue(); @@ -802,12 +802,16 @@ // getLogger().info("tally map is: " + tallyMap); getLogger().info("picking first rule from " + selectedRules); Collections.shuffle(selectedRules); - selectedRule = selectedRules.get(0); + return tallyMap; + } + + public List<ForagingRule> getSelectedRules() { return selectedRules; } + public ForagingRule getSelectedRule() { - return selectedRule; + return selectedRules.get(0); } } --- a/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java Sat Oct 01 21:49:06 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/server/ForagingServer.java Sun Oct 02 01:53:15 2011 -0700 @@ -385,11 +385,13 @@ if (votesReceived >= clients.size()) { // calculate votes for (GroupDataModel group: serverDataModel.getGroups()) { - List<ForagingRule> candidates = group.generateSelectedRule(); - ForagingRule selectedRule = group.getSelectedRule(); + Map<ForagingRule, Integer> votingResults = group.generateVotingResults(); + List<ForagingRule> selectedRules = group.getSelectedRules(); for (Identifier id: group.getClientIdentifiers()) { - sendFacilitatorMessage("Group " + group + " selected " + selectedRule + " from candidate set: " + candidates); - transmit(new RuleSelectedUpdateEvent(id, selectedRule, candidates)); + sendFacilitatorMessage(String.format( + "%s selected [%s] from all rules (%s)", + group, selectedRules, votingResults)); + transmit(new RuleSelectedUpdateEvent(id, selectedRules, votingResults)); } } --- a/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java Sat Oct 01 21:49:06 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/ui/GameWindow2D.java Sun Oct 02 01:53:15 2011 -0700 @@ -53,6 +53,7 @@ import edu.asu.commons.foraging.event.ResetTokenDistributionRequest; import edu.asu.commons.foraging.model.ClientData; import edu.asu.commons.foraging.model.Direction; +import edu.asu.commons.foraging.rules.ForagingRule; import edu.asu.commons.net.Identifier; import edu.asu.commons.util.Duration; import edu.asu.commons.util.HtmlEditorPane; @@ -771,21 +772,40 @@ } private JPanel votingPanel; + + private VotingForm votingForm; + + private HtmlEditorPane votingInstructionsEditorPane; private JPanel getVotingPanel() { if (votingPanel == null) { votingPanel = new JPanel(); votingPanel.setLayout(new BoxLayout(votingPanel, BoxLayout.Y_AXIS)); - JEditorPane instructionsEditorPane = ForagingInterface.createInstructionsEditorPane(); - JScrollPane scrollPane = new JScrollPane(instructionsEditorPane); - instructionsEditorPane.setText(client.getCurrentRoundConfiguration().getVotingInstructions()); + votingInstructionsEditorPane = ForagingInterface.createInstructionsEditorPane(); + JScrollPane scrollPane = new JScrollPane(votingInstructionsEditorPane); + votingInstructionsEditorPane.setText(client.getCurrentRoundConfiguration().getVotingInstructions()); votingPanel.add(scrollPane); - VotingForm votingForm = new VotingForm(client); + votingForm = new VotingForm(client); votingPanel.add(votingForm); votingPanel.setName(VotingForm.NAME); } return votingPanel; } + + public void showVotingResults(final List<ForagingRule> selectedRules, final Map<ForagingRule, Integer> votingResults) { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + VotingForm resultsForm = new VotingForm(client, votingResults); + votingPanel.remove(votingForm); + votingPanel.add(resultsForm); + votingPanel.revalidate(); + votingInstructionsEditorPane.setText(client.getCurrentRoundConfiguration().getVotingNominationInstructions(selectedRules)); + showPanel(VotingForm.NAME); + } + }); + } + + public void showVoteScreen() { add(getVotingPanel()); showPanel(VotingForm.NAME); @@ -897,4 +917,11 @@ switchInstructionsPane(); } + public void ruleVoteSubmitted() { + // TODO Auto-generated method stub + setInstructions("<h1>Submitted</h1><hr><p>Thank you for submitting your vote. Please wait while we tally the rest of the votes from the othe rmembers of your group.</p>"); + switchInstructionsPane(); + } + + } --- a/src/main/java/edu/asu/commons/foraging/ui/VotingForm.java Sat Oct 01 21:49:06 2011 -0700 +++ b/src/main/java/edu/asu/commons/foraging/ui/VotingForm.java Sun Oct 02 01:53:15 2011 -0700 @@ -12,20 +12,20 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.List; +import java.util.HashMap; +import java.util.Map; import javax.swing.ButtonModel; import javax.swing.GroupLayout; import javax.swing.GroupLayout.Alignment; import javax.swing.JButton; +import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JRadioButton; import edu.asu.commons.foraging.client.ForagingClient; -import edu.asu.commons.foraging.event.RuleVoteRequest; import edu.asu.commons.foraging.rules.ForagingRule; /** @@ -39,18 +39,20 @@ public final static String NAME = "Voting form"; private ForagingClient client; - - private List<JRadioButton> radioButtons = new ArrayList<JRadioButton>(); - private List<JLabel> labels = new ArrayList<JLabel>(); public VotingForm(ForagingClient client) { + this(client, new HashMap<ForagingRule, Integer>()); + } + + public VotingForm(ForagingClient client, Map<ForagingRule, Integer> votingResults) { this.client = client; initComponents(); - initForm(ForagingRule.values()); + initForm(votingResults); setName(NAME); } - private void initForm(ForagingRule... rules) { + private void initForm(Map<ForagingRule, Integer> votingResults) { + ForagingRule[] rules = ForagingRule.values(); GroupLayout groupLayout = new GroupLayout(this); setLayout(groupLayout); groupLayout.setAutoCreateGaps(true); @@ -63,31 +65,42 @@ horizontalGroup.addGroup(horizontalButtonParallelGroup); GroupLayout.SequentialGroup verticalGroup = groupLayout.createSequentialGroup(); - JLabel buttonHeaderLabel = new JLabel("Select one"); - buttonHeaderLabel.setFont(ForagingInterface.DEFAULT_BOLD_FONT); - horizontalButtonParallelGroup.addComponent(buttonHeaderLabel); + String rightColumnHeader = votingResults.isEmpty() ? "Select one" : "Nominations"; + JLabel rightHeaderLabel = new JLabel(rightColumnHeader); + rightHeaderLabel.setFont(ForagingInterface.DEFAULT_BOLD_FONT); + horizontalButtonParallelGroup.addComponent(rightHeaderLabel); JLabel ruleHeaderLabel = new JLabel("Rule"); ruleHeaderLabel.setFont(ForagingInterface.DEFAULT_BOLD_FONT); horizontalLabelParallelGroup.addComponent(ruleHeaderLabel); - verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(ruleHeaderLabel).addGap(10).addComponent(buttonHeaderLabel)); - + verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(ruleHeaderLabel).addGap(10).addComponent(rightHeaderLabel)); + int ruleIndex = 0; for (ForagingRule rule: rules) { - JRadioButton radioButton = new JRadioButton(); - radioButton.setActionCommand(rule.name()); - radioButtons.add(radioButton); - horizontalButtonParallelGroup.addComponent(radioButton); - JLabel ruleLabel = new JLabel(String.format("%d. %s", radioButtons.size(), rule)); + ruleIndex++; + JLabel ruleLabel = new JLabel(String.format("Rule %d: %s", ruleIndex, rule)); ruleLabel.setFont(ForagingInterface.DEFAULT_PLAIN_FONT); - labels.add(ruleLabel); - buttonGroup.add(radioButton); horizontalLabelParallelGroup.addComponent(ruleLabel); - verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(ruleLabel).addComponent(radioButton)); + JComponent component = null; + if (votingResults.isEmpty()) { + JRadioButton radioButton = new JRadioButton(); + radioButton.setActionCommand(rule.name()); + buttonGroup.add(radioButton); + component = radioButton; + horizontalButtonParallelGroup.addComponent(radioButton); + verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(ruleLabel).addComponent(radioButton)); + } + else { + component = new JLabel(votingResults.get(rule) + " votes"); + } + horizontalButtonParallelGroup.addComponent(component); + verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(ruleLabel).addComponent(component)); } - JButton submitButton = getSubmitButton(); - horizontalLabelParallelGroup.addComponent(submitButton); - verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(submitButton).addGap(80)); + if (votingResults.isEmpty()) { + JButton submitButton = getSubmitButton(); + horizontalLabelParallelGroup.addComponent(submitButton); + verticalGroup.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE).addComponent(submitButton).addGap(80)); + } groupLayout.setHorizontalGroup(horizontalGroup); groupLayout.setVerticalGroup(verticalGroup); } @@ -102,7 +115,7 @@ return; } ForagingRule selectedRule = ForagingRule.valueOf(model.getActionCommand()); - client.transmit(new RuleVoteRequest(client.getId(), selectedRule)); + client.sendRuleVoteRequest(selectedRule); } }); return submitButton; --- a/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round4.xml Sat Oct 01 21:49:06 2011 -0700 +++ b/src/main/resources/configuration/indiana-experiments/fall-2011/pretest/round4.xml Sun Oct 02 01:53:15 2011 -0700 @@ -53,7 +53,6 @@ ]]></entry> - <entry key="instructions"><![CDATA[ <h3>Round 4 Instructions</h3> @@ -82,8 +81,8 @@ some quick questions. At the beginning of the survey you will need to enter: </p><ul> - <li>Your player ID: {participantId} </li> - <li>Your survey ID: {surveyId} </li> + <li><b>Your participant ID</b>: {participantId} </li> + <li><b>Your survey ID</b>: {surveyId} </li></ul><p> Please <a href='{surveyLink}'>click here</a> to begin the survey. --- a/src/main/resources/web/client.jnlp Sat Oct 01 21:49:06 2011 -0700 +++ b/src/main/resources/web/client.jnlp Sun Oct 02 01:53:15 2011 -0700 @@ -11,6 +11,8 @@ <resources><j2se version="1.6+"/><jar href="client.jar"/> + <jar href='stringtemplate.jar'/> + <jar href='antlr-runtime.jar'/><jar href='@FRAMEWORK_JAR@'/><!-- <property name="sun.java2d.noddraw" value="true"/> --- a/src/test/java/edu/asu/commons/foraging/model/GroupDataModelTest.java Sat Oct 01 21:49:06 2011 -0700 +++ b/src/test/java/edu/asu/commons/foraging/model/GroupDataModelTest.java Sun Oct 02 01:53:15 2011 -0700 @@ -39,7 +39,7 @@ data.setVotedRule(rule); } // verify that this is the rule in place. - assertEquals(rule, group.generateSelectedRule()); + assertEquals(rule, group.generateVotingResults()); } } } @@ -59,7 +59,7 @@ ForagingRule votedRule = rules.get(index); data.setVotedRule(votedRule); } - assertTrue(tieBreakerRules.contains(group.generateSelectedRule())); + assertTrue(tieBreakerRules.contains(group.generateVotingResults())); } } 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. |