The Feature Matrix

“Unfortunately, no one can be told what the Matrix is…”

The Feature Matrix is based on the basic idea that you simply cross-check every single feature in your game with every other feature. Very often there will be no relevant interactions, but at least that way you can be sure that you’ve “covered all the bases”.

This is most easily done with the help of a simple 2d matrix like the one below. Simply create a column for each feature in your game and jot them down, in the top row. Then write the same features again downwards in the first column.

Below are examples of a very simple feature matrices, kept simple to get the point across.

Most modern games would most likely contain 5-10 times this amount of features! More features just means it’s even more important with an overview, though.

Example Feature Matrix setup:

player sword enemies animation effects
player
sword
enemies
animation
effects

Now a basic framework is in place. For each cell inside the matrix you have have two features interacting (the row feature vs. the column feature), so we can ask ourselves: “How does the feature x interact with feature y?”

  • If no interactions (special cases) occur we color the corresponding cell grey.
  • If some special cases exist we color it green.
  • If many special cases exist we color it red.

We now proceed to jot down a few condensed notes, about the given feature-to-feature interactions that exist in the matrix.

Example of annotated feature interactions:

player sword enemies animation effects/sound
player Player can pickup/equip/wield weapon. Enemies hunt player and position around him in attack pattern. player movement and attack animations player sounds: combat yell, hurt sounds etc.
sword Sword hurts/kills enemies unless they block. Sword can block enemies attacks. Swing/stab anim. Enemy hit anim. Blood effect if enemy hit/killed.
Spark effect if blocked.
enemies Flocking,
Positioning,  Reinforcement
enemy movement & attack anims combat yell
animation anim cueing system sound tied to animation
effects/sound

Notice that features can sometimes interact with themselves. For example enemies being aware of other enemies, attacking in formation, not standing on each others toes – and such.

Also notice that in a matrix such as this each interaction occurs twice (both “enemies-vs-sword” and “sword-vs-enemies”), so I color all the duplicate cells black, since these interactions are all covered elsewhere in the matrix.

As we begin to consider the implications of feature-to-feature interactions, we might discover that some feature has LOTS of special cases when interacting with other features. These might be such big issues that they actually need to be features in their own right. We color those red. Red means “beware” or “cut this, and save a lot of time”.

For example enemy-vs-enemy interactions might contain features such as: flocking, combat positioning, pathfinder blocking, reinforcement, morale, panic (etc.). These might be features we could even give their own row/column in the matrix.

As you start to think about it, “hidden features” seem to “pop out” of even a grossly simplified matrix such as this. The Feature Matrix is already starting to pay for itself!

Next Page »

Pages: 1 2 3 4

Tags: , , , , ,


This entry has 2 comments


  1. Hi Thomas,

    Great post, thanks for sharing. I currently considering using this tool in my upcoming production, see if it gives out some interesting information!

    Good luck with Mini Ninjas, the danish gaming industry really needs another success! ;-)

    Kind Regards,
    Anders Leicht Thomsen

  2. Olle Jonsson says:

    Ding! I like the idea of tracking changes to that matrix.

Leave a Reply