a different math for ladder tables
my friend ty (@eldritchmouse) wrote up a great blog post about a new way to introduce memory states into random tables, called ladder tables (link)! i wanted to share my thoughts on how to accomplish the same thing with slightly different math, with no reason other than to fit it to my own tastes, and in case someone else would find it useful.
the original procedure for ladder tables (assuming one where both axes use d6) is as follows, where dA represents a tendency towards one extreme of the table and dB represents the other extreme:
- set initial index to dice dA + dB.
- each turn, roll dA and dB again. now dA and dB represent the opposite ends of the table.
- if dA < dB, move the index down by dA.
- if dB < dA, move the index up by dB.
- if dA = dB, do not move the index up or down.
there is also the case that if the index exceeds the maximum (or minimum), there is a more moderate index to which it resets.
the results in a move table that looks like this:
- set initial index to dA - dB (optional).
- each turn, roll dA - dB. and change the index by this amount.
which looks like this:
when comparing the two tables, you can see that the rate of change of the index is equivalent! the main difference is really that the higher die indicates the direction of change, which you can see reflected in the tables above. this means that in a way, the table is flipped (as you can see by how the results change on either half of the zero-line switch color).to me, this has the following benefits:
- the initial state is most likely to be indexed zero.
- the dice are consistent in representing positive or negative change.
- the die with the highest roll corresponds with the direction of the index change.
- the subtraction of dA - dB encompasses all the cases of the original comparative algorithm, including the zero result where dA = dB.
the main change necessary, and this is really optional, is to index the table from -5 to +5 (when using two six-sided dice). that way the two dice A and B are consistent in their meaning from the beginning of their use. this has the handy effect that the most likely initial index is 0, representing a balance of the two extremes.
an example of these new indexing is as follows, using the table ty wrote in his blog post (the original table has 8 entries indexed < 9 and 7 entries indexed > 9, and uses dA = d8 and dB = d8):