aboutsummaryrefslogtreecommitdiff
path: root/docs/balance.md
diff options
context:
space:
mode:
authorjacopograndi <jacopo.grandi@outlook.it>2022-01-18 20:30:43 +0100
committerjacopograndi <jacopo.grandi@outlook.it>2022-01-18 20:30:43 +0100
commit3bce7a9befdc2fc42ceb62fad34a1cd6a4358442 (patch)
tree7f77e45472b0a96ddc42eb7d0ccec1bbe1c6ff86 /docs/balance.md
parentea7b845bdee6d22a8644b9085455e5489a2d0be9 (diff)
balance considerations
Diffstat (limited to 'docs/balance.md')
-rw-r--r--docs/balance.md64
1 files 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. <br>
+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