A state of EcoFluxx

Update: EcoFluxx has now been repackaged as Nature Fluxx

Ecologist? Check. Enjoy card games? Check. Why not play EcoFluxx to celebrate your membership of this niche subculture?

EcoFluxx is an ecology-themed version of Fluxx: “the card game with ever-changing rules” by Looney Labs. Simply put, you draw and play cards featuring organisms and environmental features, then create winning combinations that represent ecological processes, taxonomic groupings and so on.

Cards. Lots of them.

“Darn it: I’ve dropped all the cards again.”

How to Play

  • EcoFluxx starts as a simple game: draw a starting hand of three, then draw and play one card per turn.
  • There are five card types: keepers, goals, new rules, actions and creepers.
  • The aim is to match your (and others’) keeper cards (Rabbits, Insects, Dirt, etc) to the most recently played goal card. Goals include ecological processes, such as Decay (MushroomsWorms); collections of organisms, such as Night Music (Insects + Frogs); or consumption, such as Bears eat Fish (unsurprisingly Bears + Fish).
  • The rules are modified by playing new rule cards (Draw Two, Hand Limit One, etc.)
  • Action cards have various effects: discarding new rules, stealing keepers, etc.
  • Creepers prevent all players from winning and have additional negative impacts, such as making you discard your hand (Flood).
Ecofluxx in-game layout: 1. draw pile, 2. discard pile, 3. player one’s keepers and creepers, 4. player two’s keepers, 5. current goal and 6. current rules. The goal is Bats Eat Insects, but player two can't win because there is a creeper in play.

Ecofluxx in-game layout: 1. draw pile, 2. discard pile, 3. player one’s keepers and creepers, 4. player two’s keepers, 5. current goal and 6. current rules. The goal is Bats Eat Insects, but player two can’t win because there is a creeper in play. Sucker!


Like any entertaining (or frustrating) game, chance is an important factor in EcoFluxx. You could build a winning hand that becomes worthless if the next draw is a creeper. Or maybe your collection of ten keepers comes toppling down with the Keeper Limit 3 new rule. You may even be forced to make one of your own organisms Extinct (you monster).

Players do, however, have control over their cards and choose when to play or hoard them. This allows for strategy. For example, when you are forced to discard or transfer keepers, perhaps it’s beneficial to release edible ones, like Mice (eaten by Snakes). But retaining Mice increases your chances of winning with other goals, such as Mammals. And you can prevent your Mice being dispatched by obtaining the Poison card, which makes all edible keepers immune to consumption. Multiple permutations make it difficult to decide what move to make, so what strategies should you use?

Winning the game obviously depends which goal and creepers are currently in play, and which goals and keepers have been discarded. There is clearly a context-dependent element to your decisions, but knowledge of the relative ‘strength’ of each keeper could be a useful tool for deciding their worth and setting you on your path to EcoFluxx glory (or simply to avoid embarrassing ruination against non-ecologists).


The cards form a web of connectedness that – at a stretch – resembles the interactive networks of real ecological communities. One simple way to assess the value of keeper cards is to look at how they link with each other to achieve winning combinations. Perhaps a greater number of links might indicate that a card is more useful in winning the game.

The igraph package in R statistical software (the winner’s choice) can be used to represent graphically the relationship between keepers in Ecofluxx (data and R script available at the end of this post).

Good luck with that

Combinations of keepers on goal cards. Simply memorise this network to win the game(!). (The darker the circle, the more connections to other keepers; see key below for line styles.)

Line type Colour Goal type
Solid (arrow) Black Consumers (keeper eats keeper)
Red Consumers (Insects eat one of two)
Grey Consumers (Birds eat one of three)
Dashed Black Pairs
Blue Multi-keeper relationships
Orange Flowers plus one of three
Grey Single keeper win

Some patterns emerge from the jumble:

  • Some cards have more connections than others. Insects is connected to nine keepers; Worms to seven; and Leaves to six. Meanwhile, Dirt is connected only to two. Well-connected cards are likely to form more winning relationships, but could lose you the game if these connections involve its consumption by an opponent’s keeper.
  • For example, Insects has many connections, but three of these relationships involve its consumption by other keepers.
  • Despite this, Insects is balanced by being able to consume Mushrooms and Leaves; its protection from consumption by Poison ; and its involvement in the Invertebrates goal (Insects can be linked to two other cards to win).
  • Leaves seems very powerful: it has six connections, can be eaten only by two organisms; can win the game outright if Flowers is not on the table; and can block Trees from winning the game when the Deciduous Trees in Winter goal is in play.
  • Insects and leaves are clearly the best topics for ecological research as well as being the best EcoFluxx cards. I swear I’m not biased.


Your strategic path to victory is now obvious! You have what it takes to be an EcoFluxx master!

Just joshing. There are so many variables that affect the game: ever-changing rules; the luck of the draw; so-called “friends” hiding cards up their sleeves.

It’s best just to try EcoFluxx and figure out some proper tactics. Maybe send me your winning strategies as thanks for introducing you to the game, yeah? Cheers.


For Ecofluxx:

For igraph:

R script

Download the data as a .xls file (sorry: WordPress can’t host .csv files). Re-save the .xls file as a .csv file to follow the script below.

install.packages("igraph")  # Install the igraph package
library(igraph)  # Call the igraph package

goal.path <- "~/Documents/ecofluxx_goals.csv"  # Set the file path
goal.dat <- read.csv(
    goal.path  # Read in the data from the filepath specified above
  , header = TRUE  # The first row in the file contains the variable names

goal.net <- graph.data.frame(goal.dat, directed = TRUE)  # Set up the data frame of the network

V(goal.net)  # List of vertices (keepers)
E(goal.net)  # List of edges (relationships)
degree(goal.net)  # Edges per vertex (relationships per keeper)

colfunc <- colorRampPalette(c("lightsteelblue1", "navyblue"))  # Form a colour spectrum from one colour to another
colfunc6 <- colfunc(6)  # Six gradations of colour between those specified above

goal.deg <- as.factor(degree(goal.net))  # Number of adjacent edges to each node

par(mai = c(0, 0, 0, 0))  # Reduce margin sizes to zero
keeper.plot <- plot(
    goal.net  # Plot the network data frame specified above
  , margin = c(0, 0, 0, 0)  # Reduce the margins within the plot to zero
  , layout = layout.fruchterman.reingold.grid  # Many other layouts available
  # Vertex (node) arguments
  , vertex.label.family = "sans"  # Sans-serif font
  , vertex.label.cex = 0.5  # Label size
  , vertex.size = 16  # Node size
  , vertex.color = colfunc6[goal.deg]  # Keeper colours: darker means more connections
  , vertex.frame.color = "white"  # Node border colour
  , vertex.label.color = "white"  # Label colour
  # Edges (lines) arguments
  , edge.width = 2  # Thickness of the connecting lines
  , edge.arrow.mode = goal.dat$direction  # Arrows point from keeper B to A where direction = 1 in the data file
  , edge.arrow.size = 0.75  # Size of the arrowhead
  , edge.color = c("black", "gray", "red", "orange", "purple", "black", "gray", "blue", “blue”)[goal.dat$goal.type]  # Line colours 
  , edge.lty = c(rep("solid", 3), rep("dashed", 6))[goal.dat$goal.type]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s