DiamondQuest is a *math drill* game (ha ha ha). The player must solve math problems to use tools.
Math problems are generated based on three properties, all of which are determined by gameplay.
Depth corresponds to larger and more complex numbers. For example, the shallowest level of stones would have problems like 1+4, while the deepest level would have problems like 98542+12395.
Power corresponds to more operations. Increasing a tool's power changes how many blocks it can remove at once.
Tool corresponds to the type of problem. Different tools change the pattern in which blocks are removed.
Higher power levels introduce more operations. The highest order operator or pair of operators will be selected most often, but lower order operators will still be selected occasionally. That is, power level 3 will focus mainly on multiplication, but will occasionally show subtraction and addition problems.
2; Subtraction (also emphasizes addition)
4: Division and Fractions (also emphasizes multiplication)
5: Decimals and Percentages
6: Improper Fractions (also emphasizes decimals)
8: Roots (also emphasizes exponents)
The Pickaxe removes any one block. It generates two-operand problems (23 + 15). Power Level determines how many individual blocks can be removed per single problem.
The Drill removes multiple blocks in a straight line. It generates chained problems with the same operator (9 * 7 * 6). Depth has a possibility of increasing the number of terms instead of increasing number complexity.
Power Level determines how many blocks can be removed at once.
The TNT removes multiple blocks in a blast radius. It generates simplification problems with mixed operators (9 + 5 - 4 ÷ 3). The TNT is placed after solving the problem. Power level determines blast radius.
The math problem should be displayed in both its horizontal form across the top of the window, and its long (vertical) form in the main part of the window.
The horizontal form across the top also automatically highlights the next part to be solved, which is especially important in chained and multi-operator problems. An automatic PEMDAS guide should be displayed as well, when relevant.
In the long form, the player can navigate through the problem using arrow keys, highlighting each position. Players can enter numbers in the blanks; carrying-type operations will automatically occur, but the game will never do the actual math for the player.
Both color and font differences should be used to make it clear what numbers were entered by the player, and which were already there. For example, black, printed-style numbers could be used for already-present numbers, and blue handwritten numbers for player input. (We have to be mindful of color blindness).