From ea7b845bdee6d22a8644b9085455e5489a2d0be9 Mon Sep 17 00:00:00 2001 From: jacopograndi Date: Tue, 18 Jan 2022 18:59:46 +0100 Subject: balance --- docs/balance.md | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/balance.md b/docs/balance.md index ee6572b..5db5300 100644 --- a/docs/balance.md +++ b/docs/balance.md @@ -1,9 +1,39 @@ # balance -### turret stats -How strong is a turret compared to another? Are there trivial winning strategies? +### turret effectiveness +How strong is a turret compared to another? Are there trivial winning strategies? Are some turrets unuseful? + +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. + +1. damage turret +Effectiveness: damage per second + +2. path turret +Effectiveness: elongation constant (adimensional) + +3. resource turret +Effectiveness: return on investment (adimensional) ### 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) + +enemy_speed = 1 +``` + +The `path_constant` is how valuable it is to elongate the path in damage per meter. -- cgit v1.2.3-54-g00ecf