Adding New Features
If you consider adding a new feature to your game (in this example a “bow & arrow” feature) you can simply add a new row and column to the matrix, and then cross-check all the relevant interactions with your existing features:
Example of adding bow & arrow to The Feature Matrix:
| player | sword | bow&arrow | enemies | animation | effects/sound | |
| player | Player can pickup/equip/wield weapon. | Player can pickup/Equip bow/arrow. Aiming system | Enemies hunt player and position around him in attack pattern. | player movement and attack animations | player sounds: combat yell, hurt sounds etc. | |
| sword | Player can’t equip sword and bow at same time. | 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 |
||
| bow&arrow | Ammo. Max 20 arrows. | Arrows hurt/kill enemies. Arrows can’t be blocked. | Aiming/shooting animation | Blood effect if enemy hit/killed. Flight trails/sounds | ||
| enemies | Flocking, Positioning, Reinforcement |
enemy movement & attack anims | combat yell | |||
| animation | animation cueing system | sound tied to animation | ||||
| effects/sound |
Combined, the yellow cells, show the net effect of adding the Bow & Arrow feature to the game. Obviously there are other design issues to consider, (like designing the bow itself) but this should cover the special interactions with other entities in the game.
In my experience game development is often an iterative process; you discover what kind of game you want to create (and what features work) as you create it, and then have to rework stuff.
It’s impossible to plan every feature out ahead in minute detail, and features will often have to be added (or removed) later in the development process. In these cases it can help to “reality check” your ideas by running them through the Feature Matrix, before starting too much serious work on it.
Integration with a design document
During game development you could keep an updated version of the feature matrix as part of a design document, and then link each cell to a more specific and relevant descriptions of that specific feature-to-feature interaction.
The matrix does not describe the individual features themselves – this should be done properly in a design document – However it can be thought of as a checklist of “extra requirements” for the feature, for when it needs to be developed/programmed.
These are often “forgotten” in the planning process, and even sometimes considered “feature creep”, when they should just have been properly described from the start!
In my experience the forgotten feature-to-feature interactions are the “hidden tasks” that causes coders and other developers to grossly misjudge the amount of development time that’s required to produce the feature.
Final Thoughts
If, by using this tool, you discover that you have almost no feature-to-feature interactions, you should perhaps consider “solidifying” you design, by making features interact more with each other.
Likewise, you might consider trimming your feature list considerably, and instead spend the energy on making the greatest of your features interact in the best possible ways.
The thought of a game that contains only a few features, which all interact with each other in interesting ways, is something I really dream of creating one day!

The final feature matrix for Mini Ninjas was quite big! But really helpful to get an overview of special cases.
Using this tool, I generally try to keep the granularity as big as possible to begin with. Say, have a feature named “spells” cover that entire subject, instead of listing every single spell in the game.
If something interact with “spells” you can always describe which spells and how later on – or you can make a new, separate “sub-matrix” with a finer granularity to investigate a smaller part of the feature set, on a more detailed level.
Obviously the feature matrix for a game like Mini Ninjas contained many more rows & columns, than the examples given in this post.
Check out the picture to the right to get an idea of how “ugly” it can get. Just remember, the uglier it gets, the more you probably need it, as it becomes more and more impossible to figure out the consequences using nothing but your head!
Feel free to use this simple tool to plan out your game features, or as a way of figuring out what will happen if you add those rocket powered rollerblades to your realistic first-person shooter.
Comments about are very welcome. I’ve done a lot more development on this tool, and will be happy to share if anybody has any interest in the topic.
Thanks for reading!
Tags: change management, development, feature matrix, Features, game design, what-if-scenarios



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
Ding! I like the idea of tracking changes to that matrix.