From 3bce7a9befdc2fc42ceb62fad34a1cd6a4358442 Mon Sep 17 00:00:00 2001 From: jacopograndi Date: Tue, 18 Jan 2022 20:30:43 +0100 Subject: balance considerations --- docs/balance.md | 64 +++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 20 deletions(-) diff --git a/docs/balance.md b/docs/balance.md index 5db5300..0f5f1af 100644 --- a/docs/balance.md +++ b/docs/balance.md @@ -1,39 +1,63 @@ # balance -### turret effectiveness -How strong is a turret compared to another? Are there trivial winning strategies? Are some turrets unuseful? +### lives density +A turret is effective against a group of enemies. +A turret that is dealing 1 damage per second (dps) and can shoot at 20 cells kills an enemy with 20 lives, if the enemy has a speed of 1 cell per second. +An enemy with 21 lives is not killed. However, infinite enemies with 1 life and 1 cell apart cannot get through the turret. +Therefore the turret effectiveness can be gauged against a **density of lives**: how many lives per cell can the turret take away. +A 1 dps turret can cope with a density of 1 life per cell.
+A 2 dps turret can cope with 2 lives per cell. + +A turret that applies the slowness effect (50% speed) to an enemy for 10 seconds decreases the density, thus increasing the othe turrets dps. + +There can be two cases: +- constant density for the whole path, the turrets damage only the enemies in their range so their effectiveness is lessened by range/path\_lenght. +- the density is uneven, turret effectiveness is greater. + +### height +An enemy with 100 lives and 100 enemies with 1 life (within the same cell) both have a density of 100 lives per cell. +To capture this aspect, the height of a cell is defined as the maximum number of lives in that cell. +- high cell: few enemies with a lot of life +- low cell: a lot of enemies with low life + +--- + +### turret balance Turret types: - apply damage - make the path longer - resource production -I can compare how effective a turret is w.r.t. the others in its type. +target type: +- single target + - great with high cells +- aoe + - great with low cells -1. damage turret -Effectiveness: damage per second +What are the differences between turrets in the same group? -2. path turret -Effectiveness: elongation constant (adimensional) +Special abilities (yikes, but it's an idea) -3. resource turret -Effectiveness: return on investment (adimensional) +Tradeoffs: +- short term gain / long term gain + - good stats / good upgrades or modules + - low cost, bad stats / high cost, good stats +- specialized / generalist +- reliability (misses) +- synergies with other turrets ### random wave generation: A wave is generated based on a lives budget, which is a function of the wave number. Tuning that function changes the difficulty of the game. The current function is `hp_budget = pow((x + 10), 2.7) * 1.8 - 850` -### total damage output (D) -I need an estimate of how much damage a turret configuration is capable of dealing against enemies in a path of lenght L to derive the function of the wave number. - -``` -D = sum{d:damage turrets}( dps of d ) / enemy_speed - * (1 + sum{p:path turrets}( - elongation constant of p * (p.range*2 / L) ) - * path_constant) +The lives budget also control how many resources are given to the players. -enemy_speed = 1 -``` +The density is crucial: +- high density, more difficult +- low density, easier -The `path_constant` is how valuable it is to elongate the path in damage per meter. +Height is also important: +- Generating lots of enemies with low life is beneficial towards aoe +- High enemies good for single target -- cgit v1.2.3-54-g00ecf