Dynamic Programming for Dice probability in a Role Playing Pen & Paper game
So the problem is: how many ways can you roll with attributes 12, 13 and 12 and a talent of 7. Lets assume you know the outcome of the first dice, lets say its 11. Then the problem is reduced to how many ways can you roll with attributes 13 and 12 and with a talent of 7. Now try it with a different first roll, lets say you rolled 14 for the first time. You are over by 2, so the problem now is how many ways can you roll with attributes 13 and 12 and with a talent of 5. Now try with a first roll of 20. The question now is how many ways can you roll with attributes 13 and 12 and with a talent of -1 (in the last case its obviously 0).
The Dark Eye is a popular fantasy role-playing game, the German equivalent of Dungeons and Dragons. In this system a character has a number of attributes and talents. Each talent has several attributes associated with it, and to make a talent check the player rolls a d20 (a 20-sided die) for each associated attribute. Each time a roll result exceeds the attribute score, the difference between roll and attribute is added up. If this difference total (the excess ) is greater than the talent value, the check fails.
Your first task for this tutorial is to write a function that takes as input a list of attribute scores associated with a talent as well as the talent ranks, and returns the probability that the test succeeds. Your algorithm must work efficiently for lists of arbitrary length.
Hint: First write a function that computes the probability distribution for the excess. This can be done efficiently using dynamic programming.

What does this mean? I solved the knapsack problem without any major issues (both 0/1 and unbounded), but I have no idea what to do with this? 
The smallest problem to solve first would be rank 1 with a single attribute of say 12 (using the example above) - the probability of passing would be 12/20 right? then rank 2 would be 13/20 then rank 3 would be 14/20?
Am I on the right track? I feel like I might be misunderstanding the actual game rules.