When you're trying to discover new brews but haven't gotten close enough to one in order
to get precise quality information, having just the 'you failed' leads to an unengaging
experience, since you're shooting completely in the dark.
This commit aims to remove the helplessness of having no information about how close you
are to getting something that works, while not being overly revealing of the server's secrets.
This is achieved by introducing a system to figure out the set of mistakes made by players
between the set of ingredients and current brew state and the ideal recipe.
This is then thrown through several layers of uncertainty:
which recipe's mistake to display (from the set of recipes that have the least amount of mistakes, i.e. if there are 10 mistake recipes and 2 of them are tied for least mistakes, one of the 2 will be randomly selected.)
which mistake to display
how much information can be gleaned out of the lore text
The randomness is balanced so that the player will always be pointed in roughly the correct direction to a recipe,
but will never have a direct beeline to one.
When you're trying to discover new brews but haven't gotten close enough to one in order to get precise quality information, having just the 'you failed' leads to an unengaging experience, since you're shooting completely in the dark.
This commit aims to remove the helplessness of having no information about how close you are to getting something that works, while not being overly revealing of the server's secrets.
This is achieved by introducing a system to figure out the set of mistakes made by players between the set of ingredients and current brew state and the ideal recipe. This is then thrown through several layers of uncertainty:
The randomness is balanced so that the player will always be pointed in roughly the correct direction to a recipe, but will never have a direct beeline to one.