
An Introduction to Fluxx
December 6, 2009Seeing as one of my projects this year is based on it (even though the actual assessment criteria ain’t been released yet…), I thought I’d do a quick overview of the card game in question. It’s a fun game I was introduced to earlier in the year, and I usually end up carrying a deck with me in my bag all the time, so feel free to ask me for a game.
Fluxx (created by Looney Labs) is, put simply, a card game with changing rules. The basic rules, turn structure and even winning conditions are all determined by the cards currently in play at the time, which makes for a very interesting programming project. It uses a specially-designed deck, and contains several types of cards:
- Keepers are cards that can be played in front of you, in order to meet goal requirements.
- Creepers are cards which stop the player from winning, therefore most be passed onto others or discarded to win.
- Goals define the win conditions of a game, and can be changed at any point. Usually there can only be one active at a time, and requires a pair of specific keepers to win.
- Action cards can be played in order to change the playing field by re-arranging cards, swapping hands, and all manner of different things.
- New Rule cards change the base rules themselves, mostly saying how many cards can be drawn and played each turn, but can get more complicated (see below).
It really is an interesting game to design and program, especially with the mutable rules. For example, there’s a New Rule card called ‘Inflation’, which adds +1 to each numerical value on ANY card, which means storing all numbers on cards as variables instead of hard-coding. Constantly checking and modifying rule states and turn structures should be a challenge as well, but it’s not really graphically-intensive. I think it’s a game that would work very well on the GP2X handheld, and that Keith or Richard might appreciate it a little more than the standard broken platformer demos that seem to be on the handhelds in the lab. I’m hoping to get the graphical side of the engine up and running before Christmas (it’s coming along pretty well so far), and allow plenty of time for testing (although that’s probably not gonna happen, hurr).
