Unspeakable Words is a word game where each player tries to score 100 points without going insane. Each player begins with 5 tokens that represent their sanity. Whenever a player scores a word, they roll a d20, and if the roll is greater than or equal to the points you scored, you don't lose a sanity token. If you lose all your sanity tokens, you lose the game.

What are the odds that 2 or more players would survive to 100 points in a 4-player game?

(Note: Assume players can always score words of the point value they wish between 1-20, and will not attempt actions that leave them with a less than 50% chance of winning)

  • What is the range of wow many points can be scored per word? (Otherwise, every player scores a single 100-point word, takes a single hit to sanity, and wins. Similarly, if you can score as little as 1 point, you just score 1-point words until the end of the game.) – PotatoEngineer Dec 19 '13 at 18:34
  • The link you provided includes the chances given a point goal, so what point goal would you assume players are aiming for? Do you assume an equal probability of 1 to 10 points each turn? Or would you want to go back to the actual deck of cards to determine what cards would likely be available? – Guvante Dec 19 '13 at 19:02
  • 1
    This would be more appropriate for math.stackexchange.com, and it's an interesting question. Come to Math.SE, we have cookies! And LaTeX. – SQB Dec 19 '13 at 20:38
  • The link you provided establishes 1 as the lowest possible score, but what's the highest? – SQB Dec 19 '13 at 20:46
  • Now that I think more clearly about the question, it isn't as interesting as I thought. It might be more inteesting to figure the average turns for a game. Assuming a MAX =20 per turn, a 4p gam will have two players 21% of th0e time that didn't lose sanity for the first two tuns scoring '11' pts. (the more correct calculation uses 10 pts and is closer to 30%) – user1873 Dec 19 '13 at 22:28

This question's been unanswered for a while, so I thought I'd take a crack at it. First up, I should say that I haven't looked at the four player case, just the two player game. The main reason for this is that it makes presenting the data a lot easier. I've put some graphs later, and you can see that they're already hard enough to understand for the two player case! The methods I've used here could be applied to the four player game, the program would just take longer to finish as there are many more game states.


I've assumed a two player game, where players can choose to score between 1 and 20 points on their go. I've ignored the letter distribution, and whether it might be hard to score a large number of points in one turn. I've assumed both players start from 0 points and 5 sanity, and have to get to 100 points without losing all their sanity. I've accidentally alternated between the use of "sanity" and "lives", because this game is rather like a computer game where you start with five lives.

The script

I wrote a program to search through all possible game states for two players, and for each determined the best move. This isn't as hard as it sounds, the positions near the end of the game are easy to find the best move, and then the positions earlier in the game quickly reduce to a position we've already considered. The source code is here.

The output of the program is a lot of lines like:

2 3 3 13 [3, 0.16920657742104506]

This line means that if it's player 1's turn, and they have 2 sanity left and 3 points, and their opponent has 3 sanity and 13 points, then the best move is to make a word of length 3, which will give them a 17% chance of winning.

The results

The output of the program is 250000 lines long, which is not very accessible. I've converted this into a couple of graphs. The first looks like this:

A graph showing the best word length for player 1 for each of the 250000 game states

The graph is divided into 25 squares, representing the number of sanity tokens the two players have left. Each square is 100x100 pixels, representing possible pairs of scores. Each pixel represents a possible game state, and the colour shows the length of word player 1 should make to maximise their probability of winning. Red represents states player 1 should score one point, green represents states player 1 should make 10 points, and blue represents states player 1 should make 20 points. Colours in between represent values in between, e.g. the states where player 1 should make 3 points is shown by a reddish brown. The black areas are regions where player 2 can force a win, and so it makes no difference what player 1 does.

Another thing I looked at was the probability of player 1 winning in each state. This second graph shows that:

Probability player 1 wins given they make the best move

In this graph white represents a forced win for player 1, and black represents a forced win for player 2. The graph is not symmetric, as it's player 1's turn.


Some interesting features of the results above.


Within many of the inner squares there is a step-like pattern. This is clearest in the bottom right square. This is caused by a player being able to force a win. A player can force a win when they have more sanity left than the number of turns it will take them to get to 100. The bottom right square is where the players have the most lives, and so a forced win is more common.

Rainbow Stripes

In the first graph, at the bottom of many of the inner squares, there are 'rainbow stripes'. These represent points at which player 1 can force a win in one turn. If they are on 99 points then they can force a win with a score of 1 (red), if they are on 80 points then they need a score of 20 (blue).

Dotty Red/Blue Regions

Towards the left of the first graph are some dotty red/blue regions, e.g.:

Dotty Red/Blue Regions

I'm not completely sure about why these exist. It could be a bug in the program, although I did check it through. It might be related to the fact that when the probability of winning with different moves is the same, my program picks the largest score. The other thing I noticed was that the best moves, as shown by the link in the question, are the extreme scores.

First Player Advantage

My program gives the first player probability of winning for the starting position as 53.9%. It advises that the best move is to risk a 20 point score (if you don't lose a sanity then you have a forced win by continuing to make 20 point scores).

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.