«Brotherhood of Alchemists»
quest solver for «Tales of Maj'Eyal», «Age of Ascendancy» campaign.
Used to suggest strategy and predict chances based on player-evaluated value of each elixir.
General information.«Brotherhood of Alchemists» is the quest in
«Age of Ascendancy» campaign, in «Tales of Maj'Eyal» game.
Four alchemists around Maj'Eyal are competing to gain entry into the great Brotherhood of Alchemists,
and are offering powerful rewards to any adventurer who assists them in their quest.
To achieve this alchemist has to complete 3 unique elixirs (fixed to each alchemist).
Each elixir requires 3 unique monster parts (randomly chosen at start of the campaign) to be completed.
Player will automaticly collect monster parts and can give them to alchemists to help completing elixirs.
Every completed elixir will be awarded to the player. Elixirs can be consumed to gain permanent bonuses.
Each time player helps completing an elixir another randomly equiprobably chosen alchemist finishes
randomly equiprobably chosen elixir which is not finished yet.
When any of the alchemists finishes all of his three elixirs he earns the entry to the Brotherhood
and quest finishes. All other elixirs that are not finished yet are cancelled.
If the player helps to finish the last elixir (third elixir for an alchemist) he also receives the final reward
from the alchemist that earned the entry. Final reward is also fixed for each alchemist.
With such set of rules this quest has significant complexity: it has 129.865 different states,
10.348.992 possible routes and 5.071 different outcomes for the player.
These numbers does not consider randomized monster parts.
This makes it pretty complicated to analyze precisely without additional tools.
This solver is intended to help analyzing this quest and building strategies for it.
How to use.
The elixir/alchemists table below is the main part of this tool.
It will contain information about reward items, benefits they provide, current value for player (for you),
current status or chance to get, choice suggestion based on different strategies.
Assign value for each of 16 different reward items.
In other words decide how valueable for your character this item is, how much would you like to get it.
The higher the value, the more likely it is to get the reward.
You can use any floating point numbers as values, but it is recommended to use integer numbers from range [0; 10000].
Use zero if you do not need an item.
Observe the chances to get items, strategy recommendations and try selecting different strategies to predict chances with.
You can read more about strategies below.
You can hover over any item to see recalculated chances for the next step (that you will get after taking or skipping the item).
Every time you help an alchemist to complete an elixir use
buttons on the elixir you got
and the elixir that is randomly completed without your help.
After doing this event log, chances, results and strategies will be adjusted to current state of the quest.
At any time you can change item values for player and used strategy, all other values and chances will be recalculated.
At any time you can roll back your decisions in this tool with
button.
You can save current information in this tool for future or share it with other people by using
button. All information will be stored in the copied link.
This tool does NOT consider strategies for collecting monster parts, it will simply assume that player already has every monster part
needed or will be able get them.
Optimal strategy.
Optimal strategy will attempt to maximize expected value
that player will get throughout completing the quest. It will balance risks and rewards to maximize the value you get on average.
This is the default strategy and it is recommended to follow it in most cases.
Safest strategy.
Safest startegy will assume that player will get the worst random outcomes.
It will attempt to maximize the value that player is guaranteed to get.
It will also try to improve the result if it is possible without risks to guaranteed minimum.
In cases when multiple choices will lead to the same guaranteed minimum with the same chance this startegy will fall back to optimal startegy to break ties.
Gamble maximum strategy.
Gamble maximum startegy will take extra risks and attempt to get maximum value that is still possible to get.
It will also try to maximize the chance to get maximum value if possible.
In cases when multiple choices will lead to the same maximum with the same chance this startegy will fall back to optimal startegy to break ties.
Implementation details.
Main predicting model is dynamic programming over all possible states. Each state holds one bit of information about each of 12 elixirs (completed/not completed)
and the number of locked alchemist (or absence of one), which is the last alchemist that player decided help to,
which is also the number of final reward for finished states.
Each state stores one result object per startegy.
Total number of states computed on recalculation currently is 10.240, however not all of them are reachable.
Recalculation only runs upon changing item player values and does not upon hovering items, adding nor cancelling events.
When multiple items have the same value left-most top-most items in the table will have priority.
Visually probabilities are rounded to 10-4 precision, value numbers are rounded to 10-3 precision.
Internally floating point values are compared with 10-7 precision.
Implemented in JavaScript to be accessible within the web page.
Additional constants (states, routes, outcomes) were computed in C++ with more expensive dynamic programming that allows 3 possible states per elixir.