Sometimes called a dimensional component. Take each tech requirement, and it's one dimension to the matrix. Two requirements generates a "square" component, three requirements generates a "cube" component, etc. This would be useful, for example, to create missiles with separate tech levels which affect range, damage, and speed. Here's a sample 2-dimensional component with "sides" of "size" 3; the numbers represent tech levels.
code:
Damage: 1 2 3
Range:
1 1/1 | 1/2 | 1/3
2 2/1 | 2/2 | 2/3
3 3/1 | 3/2 | 3/3
Notice that instead of 3 component levels, there are nine. With a three dimensional component, there would be 27:
code:
Speed: 1 || 2 || 3
1/1/1 | 1/1/2 | 1/1/3 || 2/1/1 | 2/1/2 | 2/1/3 || 3/1/1 | 3/1/2 | 3/1/3
1/2/1 | 1/2/2 | 1/2/3 || 2/2/1 | 2/2/2 | 2/2/3 || 3/2/1 | 3/2/2 | 3/2/3
1/3/1 | 1/3/2 | 1/3/3 || 2/3/1 | 2/3/2 | 2/3/3 || 3/3/1 | 3/3/2 | 3/3/3
|| ||
As you can probably imagine, this gets very cumbersome to hand-code, as well as being very error-prone. These issues grow exponentially with every additional dimension or "size" increase.
[ January 04, 2003, 04:42: Message edited by: Krsqk ]
__________________
The Unpronounceable Krsqk
"Well, sir, at the moment my left processor doesn't know what my right is doing." -
Freefall