COMP150-04 - Spring 2009
Ian Altgilbers, Jessie Berlin, Alissa Cooper, Eric Gustavson, Greg Harris,
Matthew Knowles, Huy Ngu, Gregory Scott, Rashmi Singhal, Eric Stewart,
Daniel Thayer, Lindsay Verola, Sonny Zhao
An Ant's Life was
one of four projects presented to a panel of distinguished judges in competition for final awards
Challenge competition, during the conference, on August 4, 2009,
1:45-3:00pm, at the Ernest N. Morial Convention Center in New Orleans,
In this first person interactive game, collectively designed and prototyped by 13 students in the course Collaborative Development of Interactive Software Systems at Tufts University, the players experience the world as members of an ant colony, from hatching through successive life phases in and around the nest. The game's interface maps the ant's dominant senses, namely smell, taste and touch, to a first-person interactive audiovisual display, conveying a localized and qualitative perception of the environment. Textures and color characterize the tactile and chemical properties of world elements such as terrain, rocks, bits of food and other ants. The game takes place in a fully accessible and interactive simulation of the colony and its environment, populated by other ants and critters. In order to progress in the game, the player must ensure her immediate well-being, interact with her sister ants, and fulfill the tasks that characterize the roles she undertakes as her life develops.
The game's interface maps the ant's dominant senses, namely smell, taste and touch, to a first-person interactive audiovisual display, conveying a localized and qualitative perception of the environment. Textures and color characterize the tactile and chemical properties of world elements such as terrain, rocks, bits of food and other ants.
Game ants interpret general signals with respect to three poles: good, bad and need. The interface maps chemical properties to a triangular color gamut with corresponding vertex colors, respectively green, red and blue. For example, edible objects and friendly ants are predominantly green, while toxic surfaces and hostile ants are predominantly red. Ants communicate by producing clouds or trails of volatile chemical particles, whose color expresses state or intent. Rather than relying on detailed, human-like light-based visual depictions,playersmust rely on texture, size and rough shape to identify world elements, and on color to evaluate their state, as an ant would.
The game takes place in a fully accessible and interactive simulation of the colony and its environment, populated by other ants and critters. Ants are able to move along any surface in the world, as well as pick up or drop any item they encounter, such as food, rocks, and other ants. Separate models simulate game elements at the appropriate level of detail.
A statistical model for global colony dynamics determines the levels of each type of ant present in the colony and the quantity of food in the environment. These interrelated values fluctuate over time to respond to changing conditions in the environment. The statistical model is used to calculate ant and food densities at different locations in the world.
A swarm of virtual ants simulates the emergent dynamic process that gives rise to scent trails in and around the nest. These ants do not interact directly withplayer antsbut they provide a true representation of ant survival mechanisms. These ants wander around the world, looking for food and leaving trails of chemicals from the nest towards the food sources.
For direct interaction purposes, individual ants exist only in the vicinity of player ants. Their AI implement simple ant-ant interaction, such as the exchange of food or information about the world. These ants can interact with the player antsas well as with each other.
In order to progress through game phases, a playermust fulfill the tasks that characterize the successive roles she undertakes. Level-specific tasks involve discovering and transporting various materials - food, rocks - to specific locations inside or outside the nest. Meanwhile, in order to fully develop as an ant, the player must ensure her immediate well- being by keeping well-fed, warm and safe. She must also interact with her sister ants through scent signals, and create and reinforce social bonds through food exchanges. As an ant matures, she grows larger and stronger, her senses become more refined and their range increases.
A player begins the game as the ant begins her active life in the colony. Upon hatching, a wave of chemical scents overwhelms her. Nurse ants start feeding and nurturing her, and she begins to gain a sense of comfort and confidence. She starts associating the chemical identity of her surroundings and of others in the nest with positive feelings. She learns to express need and to interact with the nurses. Soon she becomes a nurse herself, and must learn to take care of the queen, the eggs, and the new hatchlings. She fetches food from the nearby food depot to feed the queen and newborns, and transports new eggs to the nearby nursery. Through interactions with the queen and other ants around her, her understanding of chemical signals gets refined. She is now ready to move on to the next stages. As a nest keeper, she will keep the nest clear of debris, dead sisters and other toxic elements. As a soldier, she will fight off any aggressive creatures that may pose a threat to the nest and the colony. As a forager, she will explore the nest's surroundings in search of food, or follow trails left by other ants who are signaling where they have found food.
The proof-of-concept playable prototype implements most of the major features of the game design: the ant-human interface, and the colony, trail and AI ant interaction simulations.
Use of the SAI framework for the system's architectural design and implementation helped provide all team members with a high level (graphical) representation of the system's components and their relationships. The MFSM middleware afforded the modularity and flexibility necessary to concurrently develop iterative prototypes of the different modules and progressively integrate them into a multi-threaded interactive system.