Phylogeny | Alex Strinka

Current Game
Next Game
# of Children:
# of Generations:
Length of Common Ancestor:
Children may have no mutation:
Note, children may have a mutation that leaves them unchanged, for example, swapping two numbers that are the same.

Phylogeny Game

This game is a simplified representation of genetic phylogeny. A species is represented by a string of numbers. The goal of the game is to construct a phylogenetic tree, given a list of species.

In a given generation, each species has a number of child species. Each child species may have one of the following mutations:

A child species may also have no mutation.

When you start a new game, you are given a list of species. You need to figure out which species share a parent, and what that parent is. Then repeat that, until you've determined the single common ancestor of all of the species. Note that while there is guaranteed to be a solution, that solution might not be unique. Any solution that adheres to the rules above will count as correct.


The species are grouped into generations. Each generation has one colum. The initial set of species is generation 0, and is the farthest to the left. The next species to the right is generation 1, and the species in it are the parent species of the species in generation 0.

To create a new species, click on the "Add Species" button.

To delete a species, click and drag it to the "Delete Species" button. (The "Delete Species" button will replace the "Add Species" button while you're dragging.)

To move a species, click and drag to an empty spot in the same column.

To swap two species in the same column, click and drag one to the other.

To create a parent-child relationship between two species, click one and drag to a species in the column to the left or right. Species on the left are always children of species on the right. Species can only be parents or children of species in directly adjacent columns.

The species in generation 0 can be rearranged, but cannot be edited.

Show rules when you start next time

You found a valid solution!