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.
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 (Mushrooms + Worms); 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).
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).
|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)|
|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.
- igraph website
- Introduction to igraph by Marta Arias & Ramon Ferrer-i-Cancho
- igraph reference manual from CRAN
- This article by Ryan Walker.
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] )