Home
Projects
  Software
  Downloads
  Links
  Authors
  Contact Us

 

 

 

Rock, Paper, Scissors by Kaylee, age 14

The simulation that I have created is based on the common game known as “Rock, Paper, Scissors”. This simulation exemplifies a game in which agents (called Bots) arbitrarily move themselves throughout the world, fighting for their species. When they are within a certain distance of a Bot of another species, the Bot with the ability to conquer its opponent according to the rules of the game shall remain the same, while the other transforms into the species of its rival. As in the regular hand game, paper can cover rock, rock can smash scissors, and scissors can cut through paper.

At first I hypothesized that the outcome of this simulation would vary in a random, uninteresting way. I theorized that none of the rock, paper, or scissors populations would have an advantage since all of the Bots will move at the same speed, and turn at the same angles on average. I assumed that the only thing that might make a difference is the locations in which the Bots were positioned initially. But the initial positions are random too, so each Bot has the same probability of emerging victorious. Since each Bot has the same chance of survival as any other Bot, I concluded that the populations of each would remain roughly the same during the simulation.

However, the simulations behaved quite different than I expected. The species populations fluctuated in a wave pattern. Each population’s wave is out of sync with the others, making a weaving pattern (see chart). Another observation I made is that even though the different species start out randomly scattered, they tend to form groups of like species after a while. The groups fluctuate and change location frequently. For example, when a single rock finds itself in a large group of scissors, it multiplies rapidly, until nearly consuming the scissors. Because there a fewer scissors to cut paper, the paper species can now flourish and begin to consume rocks, as the rocks did to scissors. A result is that a minority species, if not trapped in a corner by its opponent, can rise to the very top of the population graph after being nearly extinct. In this way, different populations fluctuate in a repeating pattern that is shown in the graph.

I also observed that the faster I made the Bots move, the quicker were the fluctuations. This is because if they are traveling at a higher speed, the Bots have more probability of colliding with each other during each time step, therefore battling more often. If they are traveling at a lower speed, they do not battle as much, and the cycles last longer.

In creating my simulation I made three sets of Bot objects called Groups, one for each species. The individual Bot objects were allowed to wander randomly. When two Bots of different species are found to be within a specified range of each other, the program decides which species transforms, using if then statements. If they are of the same species, then using an else statement, they just keep moving along. One of the most important methods in my simulation is the Closest command which gives each Bot awareness of the nearby Bots of different species.

In composing this simulation I feel as if I learned alot. I have obtained a beginner’s level in Visual Basic, which I will be following up with a full introductions course next year at school. My VisualBots simulation allowed me to observe some unexpected things about populations. I believe that what I observed about the fluctuating populations of rock, paper scissors game, may apply to the rise and fall of some animal populations, such as different fish species in a pond.

Back to projects main page       <<prev project       next project>>

 

 
 
Home Projects Software Downloads Authors Links Contact Us
Copyright ©   This sited last updated Jan 05, 2008