Super Pixel Island!

by Adam Parrish

Click here to play! (you'll need to have Java installed and some kind of OpenGL support). The Processing source code is available here.

If you find that the game doesn't work, or has a bug, or sucks, please let me know. Make sure to include some details about your computer, operating system, and personal taste. Keep in mind, this is just a rough draft ...

What is SUPER PIXEL ISLAND?

It's a game—part garden simulation, part generative drawing tool. The flowers in the garden are actually 32x32 pixel images. The player manipulates these images by watering flowers (thereby choosing which flowers will survive) and encouraging flowers to mate with one another (thereby creating hybrid flowers with characteristics from both parents).

The environment is partially under the player's control, partially random, and partially determined by the game's rules. The kinds of images that emerge are complex and sometimes unpredictable. Here are some flowers that were grown on SUPER PIXEL ISLAND:

flower 1 flower 2 flower 3 flower 4 flower 5 flower 6

Did you grow a flower that you really like? Send me a screenshot and I'll post it here!

How to play

Click here to open the applet in a new window. Press the 'p' key to pause the game, then come back here. Hi!

When you first start the applet, you're presented with a brand new island. An island consists of a 16x16 grid of squares, called "terrain." Each terrain square can contain one flower. You start the game with six flowers, each of a randomly determined solid color.

Here are the basic controls:

Now that you know the basics, hit 'p' again to unpause the game. Try transplanting flowers into adjacent squares. Wait a while. Water the flowers with different kinds of water. Throw out whatever flowers you don't like. Try to figure out how the terrain and type of water affect the way new flowers look. Keep reading for more information!

Flowers

Here's what you need to know about flowers. First of all, they have a life cycle, as illustrated in the figure below:

flower life cycle

The stages of the life cycle, depicted from left to right:

It's possible to keep a flower alive indefinitely; you need only keep it watered. You'll be able to tell how thirsty a flower is from its demeanor: perky means well-watered, droopy means thirsty. Right before the flower is going to die of thirst, it will start shedding pixels. Keep an eye out for this, and your watering can ready.

Breeding Flowers

Let's say you want to make a hybrid from two flowers—what to do? Don't worry; it's simple. Transplant the two flowers so that they're bordering an empty square (either on a side or on the corners). After a while, a new flower will bud in the empty square. The new flower will share characteristics with the flowers in the adjacent squares.

Terrain

There are (currently) six types of terrain on SUPER PIXEL ISLAND. The type of terrain determines what crossover algorithm is used when breeding flowers—in other words, which pixels get into the flower from the two parent flowers. There are a lot of ways to do this. Here's a list of the terrain types and their corresponding crossover algorithms:

terrain 1
Grass: Smoothly blends both parent flowers

terrain 2
Sand: Each pixel has a 50% chance of coming from one parent, and 50% of coming from the other, in random distribution

terrain 3
Loam: One half of the child flower comes from one parent, the other half from the other parent. The line is drawn roughly down the middle

terrain 4
Swamp: A circle-like splotch from one parent is drawn on the background of the second parent

terrain 5
Stone: Stripes are drawn with image data alternating between first parent and second parent

terrain 6
Water: One parent is drawn using a flower-like mask over a background of the second parent

Mix and match terrain types to create new designs!

Water

You have a variety of radioactive waters at your disposal with which to quench your flowers' thirst. These waters have the ability to "mutate" the DNA (image data) that the flower passes on to its children. These mutations take the form of simple image filtering effects. Here's a list, along with the corresponding water type:

More information

SUPER PIXEL ISLAND was a final project for Daniel Shiffman's Nature of Code class at ITP (Spring 2007). It was inspired by the following projects and products:

SUPER PIXEL ISLAND is written in Processing.