Bringing the classic
arcade game to the
Bringing the classic
arcade game to the
The PacBots competition is a new competition, designed and hosted by the Harvard Undergraduate Robotics Club. The goal of PacBot is two-fold: to avoid the pursuing “ghosts” – InkBot, PinkBot, BlinkBot, and ClydeBot – and to collect as many points as possible with the three given lives. The PacBot must autonomously navigate the arena, plot its trajectory and that of the ghosts, and strategically collect points. Our PacBot seeks to win the competition by collecting more points than the competing teams.
Drawing inspiration from Micromouse, PacBot will make improvements to the mechanical body, the electrical circuitry, and the complex code to best suit the needs of speed, compactness, and efficiency. The competition takes place in a scaled-up Pacman-inspired arena hand-crafted in parallel along with the robots. Schools around the northeastern United States will enter their PacBots into the arena, hoping to elude the hungry ghosts.
The competition takes place in a scaled-up Pacman-inspired arena hand-crafted in parallel along with the robots. Schools around the northeastern United States will enter their PacBots into the arena, hoping to elude the hungry ghosts.
Below is the preliminary ruleset that must be followed when designing your robots for the first annual 2017 PacBot Competition at Harvard University. Note that these rules are dynamic and subject to change between now and up to one month before the competition date. Any time the rules are updated, an email will be sent to each participating team alerting them of the change and its purpose. Should you have any questions about the reason for a rule provided below, please email Laura Doherty (firstname.lastname@example.org) or Shaan Erickson (email@example.com).
This competition will mimic the popular game of Pacman. It will consist of four “ghosts,” which are robots to be provided by the hosting team, and one PacBot, which is the robot each participating team will enter in the competition. Each team’s PacBot must adhere to the specifications outlined below, and the ghosts will follow the specifications provided below. They will navigate in the arena specified below. The objective, much like in the arcade game, is to collect as many “dots” as possible. These are outlined in more detail in the “Arena” section of this document. There will be 4 “special dots” that, upon collection by your PacBot, will enable the PacBot to “eat” the ghosts for extra points. These are outlined in more detail in the “Arena” section of this document. Your PacBot will be given three lives to collect as many of the dots as possible. Scoring is outlined in more detail in the “Gameplay” section of this document. The PacBot with the highest score wins the competition.
The competition will consist of an arena, with boundaries no greater than a quarter-inch thick and at least 3 inches tall. The boundaries will be set up to mimic arenas found in the Pacman game. The layout of the arena is to be set up by an outside group; no member of any teams involved in creating their robots will have any indication of the layout of the arena. An example layout of an arena will be sent to all participating teams in the near future so that you can visualize the space. Unlike the original Pacman game, PacBots will not be able to treat the map as an infinite continuum. In other words, the PacBots cannot exit the arena on the right side and re-enter on the left side; boundaries will be strict. The arena will be set up in a 10 x 10 grid, with each unit being 7”x7”, including the quarter inch boundary. This includes the width of any boundaries that might overlap with the unit. Each grid unit will be assumed to have one implicit “dot” that will be automatically collected when the PacBot enters that unit. Note that the PacBot does not have to go through the unit to collect the dot; it can enter it and turn around. There will be four “special dots” in the arena at each of the four corners of the grid. More details about these special dots are given in the “Gameplay” section of this document. The dots on the map will not respawn at any time.
The goal of your PacBot is to collect as many dots as possible; this means the goal is to cover as much of the grid as possible before losing your three lives. Each distinct grid unit that the PacBot enters will give your team one point; this is the reward for “consuming” an implicit dot of that grid unit. This includes the grid units containing the special dots. To reiterate, your PacBot will not receive an additional point for reentering a tile that has already been visited. Points are only awarded on the first visit of a tile. When the special dots are taken, a signal will be sent to the ghosts to avoid the PacBot for 30 seconds. At the end of this time, the ghosts will resume chasing the PacBot. In the event that your PacBot reaches another special dot within this time period, an additional 30 seconds is added to the remaining time. More details on the ghosts’ behavior is outlined in the “Ghosts” section of this document. During this 30 second period in which the ghosts are avoiding the PacBot, your PacBot can chase the ghosts. If your PacBot catches a ghost, your team will be awarded 30 points. To catch a ghost, your PacBot must come within one adjacent grid space of the ghost with no boundary between. Any time that a ghost catches your PacBot, your team will be deducted one life. At the end of each life, a “pause” signal will be sent out to all robots in the arena. Your PacBot must stop all autonomous movement at this time. The ghosts will also enter standby mode. The team that has the most points after losing their three lives wins the competition. The dots do not reappear when your PacBot loses a life; upon consumption, the dots vanish for the remainder of the game. The game ends when a team has lost all of their three lives or has collected all of the dots on the board. If it should be the case that the 30 second timer from a special dot still has remaining time when all the dots have been consumed, the game will end at the conclusion of those 30 seconds. Should two or more teams end the game by collecting all of the dots on the board, the winner will first be decided by the number of points, then by the number of lives left, then by the time taken to do so.
The ghosts’ physical appearance will largely resemble that of your team’s PacBot. The ghosts are entirely autonomous. The speed of the ghosts is unknown, but will be released to all participating teams once that information is acquired. For the time being, it is reasonable to assume that the ghosts will go no faster than 1 ft/sec. The ghosts will act independently of each other; they will not assist each other in locating and chasing your PacBot. They will have slight differences in their code to prevent all ghosts from following the same path. These differences will likely mimic the differences of the code in the actual game of Pacman. To catch a ghost, your PacBot must come within one adjacent grid space of the ghost with no boundary between. Likewise, for a ghost to catch your PacBot, it must come within one adjacent grid space of the ghost with no boundary between. Note that this adjacent grid space cannot be diagonal of either robot. When your PacBot catches a ghost or vice-versa, the signal to pause will be sent out to all robots in the arena. Your PacBot must enter standby mode at this time (read: stop all movement). The ghosts will be moved to the center of the arena, the PacBot will be placed at the position it was “captured” at, and then the game will be resumed. You will have 5 seconds wherein your PacBot will be free to move around the board while the ghosts remain stationary. The ghosts do not get eliminated when they are caught; it simply gives your team additional points.