Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Table of Contents
The Bubbles strategy selector requires subjects to select their actions by clicking along the x-axis. The y-axis corresponds to flow payoffs. To help visualize the relationship between the X and Y coordinates, the boolean "potential" line, or "payoff landscape" -- which is described in further detail below -- can be enabled in the .CSV file.
- X-Axis: The only part of the interface that can be affected by the subject, the black rectangle slider along the bottom of the X-axis, corresponds to the subject's chosen strategy. The lowest possible action is located at the left end of the axis, and the highest action available to subjects is located at the right end of the X-axis.
- Y-Axis: The Y-axis corresponds to the subject's current flow payoffs.
- Dots: Each dot represents a single subject, with the dot's X coordinate representing the subject's chosen strategy and the Y coordinate representing the resulting payoff for that subject. These dots are the subjects' primary concern; the goal for the subject is to push the dot to as high a vertical position as possible, though the only factor that the subject can directly change is the the horizontal position.
- Potential Curve (optional): This curved line -- which can, for each period, be enabled or disabled in the config file -- displays for the subject the potential payoff he/she could achieve for every possible strategy given what everyone else is doing. This makes the subject's job considerably easier, as the best strategy for the user to choose is at the peak of this curve. For most (if not all) payoff functions, however, one subject's payoff is affected not only the subject's own strategy, but by some or all of the other subjects' strategies as well; thus, the curve can shift during a period. A good example of this shifting can be seen with the "Sum" payoff function.
- "Seconds Left": Fairly self-explanatory.
- "Previous/Current Earnings": Earnings from the previous/current period.
When the Bubbles strategy selector is to be used for an experiment, the "selector" field should be set to "bubbles".
The Boolean value "potential" is a field for the CSV config file that is only used in the Bubbles strategy selector (i.e. setting/changing this field has no effect when any other strategy selector is being used). The field should be inserted as a column in the CSV config file directly following the "selector" column. The value can be either TRUE, T, YES, Y, FALSE, F, NO, or N; the curve appears in the interface when "potential" is enabled (TRUE, T, YES, or Y). If the column is not found in the CSV file, the value of "potential" for each period defaults to being disabled.
Below is an HTML table abstraction example of how a CSV config file might look:
|. . . .||payoffFunction||type||selector||potential||. . . . other config file columns . . . .|
|. . . .||sum||public_goods||bubbles||FALSE||. . . . other config file columns . . . .|
|. . . .||sum||public_goods||bubbles||TRUE||. . . . other config file columns . . . .|
The payoff function most strongly related to the Bubbles strategy selector is [Sum|SumPayoffFunction], also known as "Cournot" games. Since the total of all subjects' strategies play a part in determining each individual subject's payoff, the "potential" curve varies as subjects change their strategies; a subject is rarely able to stay at one strategy for an extended period of time, since the movements of all the other subjects cause the peak of the subject's own curve to shift.
For more information about selector/payoff function compatibility go here: [Selector-PayoffFunction_Compatibility]
When discrete time is used with the Bubbles strategy selector: - Progress Bar - In the discrete time setting, time left in the current subperiod is indicated by the "progress bar", located just below "Current Earnings". The bar is empty (all white) at the start of each subperiod and fills up with blue as the subperiod progresses. When the progress bar is fully blue, the subperiod ends, client action choices are logged and distributed to all players and a new subperiod begins. The progress bar in the figure below reveals that the subperiod is about half complete. How quickly the progress bar fill depends on the length of the subperiod, which is fully under the control of the experimenter via the configuration file fields "length" and "subperiods", (subperiod length is equal to the length of the period divided by the number of subperiods). - Strategy Selection - Subjects are able to freely change their strategy at any time during the subperiod, but only the strategy selected at the end of the subperiod, when the progress bar is fully blue, is used to calculate user payoffs. That is all subjects can freely move the black rectangle slider at any time during the subperiod, but none of this movement is revealed to other players. Again, only the action chosen at the end of the subperiod affects payoffs and is shown to other users. - First Subperiod - Note that in the first subperiod of a discrete time game with the Bubbles selector, subject will not see any information about counterpart action choices. Only under the first subperiod ends, and action choices for subperiod 1 are distributed will client screens displays the actions chosen by counterpart subjects. - subperiods left - With discrete time games a "subperiods left" window appears, counting down the number of subperiods left.
Figure - here we have a discrete time game with 16 subperiods left. Note that the subperiod is a little over halfway complete.
When continuous time is used the subject's movements along the X axis have a set speed; when a subject chooses a different strategy, the current strategy moves at a certain speed, starting at the old strategy, until it reaches the new strategy. - percentChangePerSecond - The speed at which a user's strategy reaches their selected target is set through the "percentChangePerSecond" field in the CSV config file used in the period. This is a decimal value either NaN or ranging from from 0 to Inf. It determines the length, relative to the total length of the X axis required to reach the selected strategy target, the strategy can move in a second. For example, say the X axis ranges from 0 to 100. If "percentChangePerSecond" is set to 0.15, the it would take one second for the strategy to move from 0 to 15, or from 100 to 85, or from 55 to 70, etc.