NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


NetLogo User Community Models

(back to the NetLogo User Community Models)

Shapefactory Model

by Erik Johnston, Ning Nan, and Nathan Bos (Submitted: 04/01/2005)

[screen shot]

Download Shapefactory Model
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".(The run link is disabled because this model uses external files.)


This is a computer simulation of a lab experiment, Shape Factory. Shape Factory is a game for studying the collaboration patterns among distributed teams. In this game there are ten 'players', each with a different color, and each capable of producing one of five specialty shapes. ╩The shapes represent work that agents can do for each other, and the five different shapes represents different 'skills'. In the default versions of the game (as run with human subjects) there are ten players and five shapes, so each shape is produced by two players.Players request shapes from each other to fulfill the shape orders they receive at the beginning of a round. Each tries to collect as many shapes as they can to fulfill its orders.

Each player also receives requests and decides how its shapes will be distributed. Players can only produce a limited number of shapes (6) every round of the game, which mimics the realistic situation that people have limited time and attention, and must choose how to allocate it.The players can be placed in different configurations of being together (collocated) or separated (remote). This flexible arrangement allows us to study what happens to collaborating teams when they are in different geographic configurations. Findings from real subjects show that location is a strong determiner of collaboration patterns, and that remote people are sometimes, but not always at a disadvantage in these collaborations.This model was built to first replicate findings made with real subjects, and then extend the human subject data by A) allowing us to break down the causal mechanisms that may explain findings and ╩B) allowing us to run new configurations that have never been run with real subjects.


Understanding the Model:

Location is defined by a shaded box on the screen. ╩Players within the same box are viewed as being in the same location. ╩Players not inside any box are remote to everyone including each other (also sometimes called 'telecommuters').

The three setup buttons create configurations that mimic the three Shape Factory experimental conditions run to date. Location boxes can also be drawn manually with the Add Environment tool, by selecting the tool and then dragging a box. ╩The players (nodes) and Links between players (links) can also be manipulated manually if the interaction button is selected (remember to unselect the interaction buttons before running the model).

Sequence of events each round:

First, a random player who is not delayed this round looks to see if they can produce any more shapes in this round, or if the production limit of 6 has been reached. If they still have shapes to send, the player will check to see if it has received requests from other players. If they have, they will fill one and only one request. If 'favoritism' is turned on, the collocated players will first try to fill the request of another player who is collocated with them; otherwise requests are filled in the order received. The transfer of a shape from one player to another is animated on the screen (sometimes the overall animation speed of the simulation must be reduced to see the shapes being delivered).

In a given round, if there are no pending requests for shapes, the selected player will send out one request of their own. It will first decide on one shape to try to acquire that round. If Favoritism is turned on, the player will first try to request the shape from the collocated producers of that shape. Otherwise, the player will randomly choose from all producers of that shape and send them a request.

Action repeats until all players have filled their production limits. ╩When a player has reached its limit, this is indicated on the screen by enlarging the player icon. When all players have given away six shapes, one round of the game is complete. ╩A Shape Factory game usually consists of multiple rounds. ╩The number of rounds can be set by the "rounds" slider in the model interface. Each round, players receive new orders to try and fulfill and players are again able to sell an amount of objects equal to the production limit.

Understanding delay in the model:

When people are remote from each other in the real world, they must use Computer-mediated communications rather than informal verbal interactions. Computer-Mediate Communications are usually slower. Electronic mail messages, for example, take longer to write and usually take longer to get a response than do verbal messages. Even faster media, such as phone or Instant Messaging, still slow down communications when compared to face-to-face collaboration. ╩

To simulate this, a delay factor is included in this model, and is set by the cost_of_telecommuting slider. ╩When delay is turned on, all requests to and from remote players take longer to arrive at their destination. Players cannot take any other actions while their messages are in transit. Only players collocated with each other can send requests that will arrive in the next time period. For all other transactions-- collocated to remote, ╩remote to collocated, and remote to remote-- requests are ╩delayed by the specified number of periods.

Understanding distraction in the model:

Collocated players can communicate with each other verbally, but sometimes this hurts as much as it helps! Real-world 'telecommuters' often report that they can work more efficiently without the distraction of the office. In experiments with real subjects we found that collocated groups sometimes engaged in distractive conversations that decreased their performance in comparison to other groups.
Distraction can be added into the Shape Factory model. A distraction takes players out of the action, and causes them to miss turns. (Note that 'Turns' are smaller units than 'Rounds'- one Round usually includes multiple Turns.) ╩Sliders can be used to set the number of Collocated players who will be distracted on any given turn, and to set the amount of time they will be distracted.

Game Outcomes:

Success in this game is measured for each playerby how many parts they were able to acquire. Game statistics track how many parts each agent acquired, and from whom. These statistics are gathered in the monitors of the model, and each rounds data can be examined in the rounds "data turtle" if the on-screen-statistics switch is turned on.


Set up the experiment that you wish to see and then select go. The standard experiment is five rounds. At the end of each five round set, a series of statistical tests are run to show if there have been significant results at that point.

Preset configurations:

There are three preset experimental configurations in this model: standard, travelers, and doubles. These three correspond to experimental conditions run previously with human subjects. Other configurations can be created manually.

Standard - ten players are created with ten different colors and two each of five shapes. ╩One area box is drawn to include five players, one of every shape. These are simulated collocators. The other five players are outside the box, and so are simulated telecommuters.

Travel- in this configuration, players simulate travel by changing places after three rounds of the game. Actually the collocated box is moved rather than moving the players but the effect is the same. ╩(Note: location will always change after round 3, even if experiment is longer than 5 rounds.)

Doubles- in this configuration, the collocators and remote groups are unbalanced. ╩Both circle players are in the collocated group, and both triangles are remotes. The groups are no longer self sufficient.

Variables:You can experiment with several experimental variables that may affect the trading patterns.

Favoritism- when favoritism is on, players who are in the same area (collocated) preferentially send requests to each other and fill each other's orders. When favoritism is in effect, collocated agents will only send requests to remote playerswhen the preferred collocator is out of parts, and will only fill requests from remote players after any requests from collocators have been filled. ╩Players who are remote have no such preference and treat all agents equally.

Cost_of_telecommuting- using this slider you can set the amount of delay whenever agents communicate between locations

#_of_distractions- sometimes some of the agents located together are distracted by each others' conversation. ╩This slider changes the number of agents that will be distracted in any given round.

time_of_distraction- this slider changes the length of time agents are distracted

Alternative setups:

Currently, it is not possible to run multi-round games with different setups besides the three presets. ╩It is possible to run single-round games with alternative setups.

Node Reposition allows the user to select and move shape nodes. Click on the hollow circle in the very center of a node to grab it, and drag it to a new position. ╩Its associated links will move along with it. (Note: sometimes it is difficult to find the center of the hollow circle. Be patient and eventually the node will be grabbed. Drag the node to the desired location and release it with a mouse click.)

Remove Links allows the user to delete green link lines between nodes. Click on the red circle in the center of a link to select it. Add Environment allows the user to create new box locations. ╩Click where the top left corner of the box should go and drag to the position of the bottom right corner. ╩Nodes count as inside the box (and thus collocated with each other) if the center of the node falls inside.


Transaction Traces

In the interface, you can view the traces of shape deliveries. Delivery traces are in blue. They show the formation of social exchange networks. The number of shapes delivered is displayed next to the delivery traces. ╩The thicker the traces, the more shapes have been sent between two agents. ╩In this sense, the thicker traces mean stronger relationships.

Data displays

These real-time displays are built into the model.

ROUND DATA ╩The 2x2 matrix below ROUND DATA shows the number of shapes exchanged in the current round between agent types. If there is an in-group bias, which there usually is, the col_col number will be higher than the col_tel, and the tel_tel number will be higher than the tel_col.

RUNNING-AVERAGE ╩To the right of the matrix is a line graph showing the average numbers of shapes exchanged between agent types across multiple rounds. A difference between the red and the green lines means that collocated agents sold unequal amounts of shapes to other collocators than to telecommuters. At the same time, distance between the blue and the pink lines means that telecommuters sold different amounts of shapes to telecommuters than to collocators.

INVENTORY ╩On the bottom left of the screen, the inventory shows how many total parts collocators and telecommuters are able to acquire in the current round as the round is in process. The number of parts acquired is the measure of success in this game (more parts = better). A difference between the red and black lines would mean that one or the other group is performing better in the round.

AVERAGE-INVENTORY ╩This graph shows final inventory average of previous rounds. A difference between the red and black lines would mean that one or the other group is performing better in the game.

Statistical Significance:

Two graphs are built in to do on-the-fly statistical tests on the two main outcome variables of this research when the statistics? switch is turned on. The following statistics are run after every five rounds. ╩

STATISTICAL TEST OF INGROUP FORMATION performs t-tests to see whether groups are preferentially selling parts to each other.

cc-ct performs a t-test to see whether there is a significant difference between the number of parts collocators sold to other collocators and the number of part they sold to telecommuters.

tc-tt performs a t-test to see whether there is a significant difference between the number of parts collocators sold to other collocators and the number of part they sold to telecommuters.

STATISTICAL SIGNIFICANCE FOR PERFORMANCE DIFFERENCE performs a t-test to see whether there is a significant difference in the performance (inventory levels) of collocators and telecommuters.

Data Turtles

When On-screen-data? is switched to on, then two type of data turtles are presented in the environment. A data turtle is a type of turtle that has no purpose other than to store information about the simulation. The purple turtle in the lower left of the environment is the summary statistics turtle that maintains information about the performance of the simulation over many rounds. The square turtles that appear above the purple turtle each represent the results of a specific round. The number on the square corresponds with the round it is representing. To examine an individual turtle, select the turtle and inspect the turtle.


Two log files will be created after each run of the model. Both are saved in the same folder as this model. The file named "logfile" captures agent specific data across all rounds. The file called "roundlog" stores round summary data. If there are ten players and ten rounds of a model simulation, one hundred records will appear in "logfile" while ten records will show in "roundlog". There are 15 fields in the "logfile." They are the date and time of the run, current round, whether favoritism on, cost_of_telecommuting, #_of_distraction, time_of_distraction, col or tel (0:col, 1:tel), agent id, number of circle bought, number of square bought, number of X'sbought, number of diamond bought, number of triangle bought, total shapes bought (inventory), and how many did I sell to other agents. ╩There are 12 fields in the "roundlog" file. ╩They are date and time of the run, current round, whether favoritism on, cost_of_telecommuting, #_of_distraction, time_of_distraction, total inventory of collocators, total inventory of telecommuters, number of shapes sold from col to col, number of shapes sold from col to tel, number of shapes sold from tel to tel and number of shapes sold from tel to col.


Turn on "favoritism" and set cost_of_telecommuting, #_of_distraction and time_of_distraction to zero, see whether in-groups are formed within collocated and remote agents. Then, turn off "favoritism" and set cost_of_telecommuting to one, see whether the pattern of in-group formation changes. In this way, you can isolate the ╩effect of favoritism or cost of telecommuting on the formation of in-group among remote agents. From the model, we find that it is the exclusion from collocated agents rather than communication delay that drives remote agents into in-groups.

Turn on "favoritism" and set cost_of_telecommuting, #_of_distraction and time_of_distraction to zero, see whether collocated or remote agents perform better in terms of inventory. Then, turn off "favoritism" and set cost_of_telecommuting to one, see whether their relative performance changes. This way, you can observe the isolated impact of favoritism or cost_of_telecommuting on performance. To us, the most interesting yet counter-intuitive result from the model is that favoritism has a harmful effect on the performance of collocated agents.

Turn on "favoritism," set cost_of_telecommuting to zero, #_of_distraction to five and time_of_distraction to one, to see whether there is a difference between the performance of collocated and remote agents. In our lab experiment, when the three variables (in-group favoritism, communication delay and distraction) were present, we often see equal performance between collocated and remote players.


For those who are interested, you can extract more details of a model run from the on screen data turtles. Later, you can export the log files to a spreadsheet and do various statistical tests.


Johnston, E., Ning, N., Bos, N., Olson, J.

For more information on Shapefactory Research, please visit


Arrow, H., Berdahl, J.L., Bouas, K.S., Craig, K.M., Cummings, A., Lebie, L., McGrath, J.E., O'Connor, K.M., Rhoades, J.A. and Ann Time, S. Technology and groups: An integration. Computer Supported Cooperative Work, 4, 1996, 253-261.2

BeLanger, F. Communication patterns in distributed work groups: A network analysis. IEEE Transactions on Professional Communication, 42, 4 (1999), 261-275.3.

Bos, N., Sadat Shami, N., Olson, J.S., Cheshin, A. and Nan, N. In-group/out-group effects in distributed teams: An experimental simulation. In Proc. CSCW 2004, ACM Press (2004), 429-436.4.

Dobbs, M., and Crano, W. D. ╩Outgroup accountability in the minimal group paradigm: ╩Implications for aversive discrimination and social identity theory. Personality and Social Psychology Bulletin, 27, 3 (2001), 355-364.5.

Epstein, J.M. and Axtell, R. Growing Artificial Societies: Social Science from the Bottom up. Brookings Institution Press, Washington, D. C., 1996.6. Finn, K.E., Sellen, A.J., and Wilbur, S.B. Video-Mediated Communication. Lawrence Erlbaum Associates, Mahway, NJ, 1997.7.

Hinds, P.J. and Bailey, D.E. Out of sight, out of sync: Understanding conflict in distributed teams. Organization Science, 14, 6 (2003), 615-632.8.

Mas-Colell, A, Whinston, M.D. and Green, J.R. Microeconomic Theory, Oxford University Press, Oxford, New York, 2002.9.

NetLogo website.

Ning, N., Johnston, E., Olson, J., and Bos, N., Beyond Being in the Lab: Using Agent Based Simulations to Isolate Competing Hypotheses. Conference Proceedings CHI 2005.

Rosenthal, E. Social networks and team performance. Team Performance Management, 3, 4 (1997). 288.

(back to the NetLogo User Community Models)