The player has an animated sprite that cycles through a series of colors. There are other critters with face icons and 'worms' made up of worm segments, which are polygon-shaped critters that tag after each other as if playing follow the leader.

If the player touches a worm segment, it reduces the player's health by 1.

The player's bullets are small polypolygons.

When a player bullet hits one of the worm segments, the number of sides in the worm segment's polygon decreases, down to a minimum of three, after which the segment disappears, effectively splitting the worm in two.

The face critters shoot out 'food' bubbles at a right angle to the direction towards the player, and the food bubbles avoid the player. The player gains score points by running into the bubbles, effectively eating them. The value of the food bubble goes up with the square of its size. The bigger the bubble the better. The bigger the face, the bigger the food bubbles it shoots out.

When a player bullet hits one of the faces, the face will grow, up to a certain size upon which it pops and disappears. So you should shoot each face until it's just short of popping and then eat its bubbles.

Meanwhile, whenever a worm segment bumps a face, it makes it smaller, so you need to try and keep the faces away from the worms. This is tricky, as the faces run away from you.

You can use the Game | Large Critter Count to make longer worms.

    Part I: Software Engineering and Computer Games
    Part II: Software Engineering and Computer Games Reference