mjaun / android-anuto

Another ugly tower defense for Android
GNU General Public License v2.0
213 stars 68 forks source link

Strategy / balancing discussions #142

Open mjaun opened 6 years ago

mjaun commented 6 years ago

Main issue for balancing optimizations.

thefallisnigh commented 6 years ago

Made it to wave 91... Not sure if wave 100 is possible by oneself.

Edit: I take that back, I reached wave 114 with ending score of 3,332,609. Let me know if interested in strategy/map setup

StarvingMarvin commented 6 years ago

I can consistently get to level 126 without a life lost, but 127, 128 and 129 (levels with fast pentagons) just destroy me. I have 10 maxed up "machine gun" turrets and I don't think there is a realistic way to have more of them (or to place them better). I also have a maxed-up laser. I would gladly trade stronger other peaces for weaker pentagons.

relemans commented 6 years ago

I make it past level 100 usually, but how far beyond depends solely on whether or not those flyers show up . If they do, it's usually over (if not, it brings my lives down from 20 to like 4 or so if I'm lucky) . But no other enemy type ever ends the game anymore. The flyers are way overpowered compared to the other enemy types at that point (or the other enemy types are too weak). Nothing stops those.

Maybe a type of tower that targets only those, to counter the problem of towers that ignore them (mines, glue) while also forcing the player to think about strategically placing them, as they wouldn't hit other types of enemies?

rigao1981 commented 5 years ago

This game is quite interesting and has a lot of potential, but it has some serious balance issues.

The problem revolves around this two points: (1) The glue gun is incredibly effective against almost anything. This, paired with teleporters at the end of the level makes it almost impossible to die to anything other than flyers. (2) Flyers are the strongest enemy by far as they are not affected by glue gun.

The question then is, how do you stop flyers (the pentagons)? They are weak to laser and bullets according to the code. If the balance sheet here is accurate (which it seems it is, even if the numbers for the laser in the code and in the excel are not the same) the laser has to hit 10 targets to have the same efficiency as the cannon. However pentagons rarely (if ever) will accumulate enough in a straight line to make this a viable strategy, so the laser is not an option. The same argument discards the rocket launcher, but they are not even weak to that.

So the only way to stop the flyers is machine guns. As the glue gun is so insanely effective, it turns out that machine guns can destroy everything even if the enemy is strong against them. It does not matter, as the enemies will crawl so slowly (and may return to the beginning with the teleporter) that the machine guns will have time to kill them (even if it takes 30 minutes for waves in the 130s.

How do you improve the state of things? I propose the laser to 'stun' the flyers, or 'blind' them, or however you want to call it, and that makes them go slower. And let that be accumulative, so the more lasers you have the slower they move. This way you can position lasers so that they trap flyers in a death trap.

I would also propose to decrease the slow down of glue guns. This way you will be forced to use rockets as massive damage dealers (possibly paired with lasers, too).

And I would appreciate a x8 and x16 velocity. x4 is really slow at the endgame levels.

mmm4m5m commented 5 years ago

Map "the original", I started wave 142 with 13 lives. I have x20 Bullet Hose projectile towers: x7 at level 20, x9 at level 14, x4 at level 13. Unfortunately nothing can stop the Fliers (pentagonal enemies) from wave 142. Nothing!

Before wave 120-125 it is relatively better - I have only 3 Rockets launch towers and only one Flash laser tower. But after waves 120-125, all the credits I spent for Bullet Hose projectile towers. It did not help. I lost. I even could not fully upgrade Rockets launch towers and the Flash laser tower, no credits for that, they are at levels 12-14.

All damaged Fliers (pentagonal enemies) are teleported, but that did not help. I set towers to "target first enemy" but after teleport, both Fliers are mixed together - the new Fliers and the damaged teleported Fliers. I lost. And "target closer enemy" also is not helpful in this case.

The best fun is around waves 70-80. First positions around the roads belong to Splat glue towers. Splat glue towers everywhere. I have one Rockets launch tower and one Flash laser tower. Both placed behind Splat glue towers. Around waves 70-80 all the enemies are weak, I press "next wave" few times until I get 450-500 enemies on the screen... I can prove it! I have screenshots. :)

Bottom line. If this is the only way to get to wave 142, if there is no better strategy, then it probably shows some disbalance. Check the number of towers I had: x40-50 Splat glue towers (level 5), x20 Bullet Hose projectile towers (levels 13, 14, 15), x3 Rockets launch towers (levels 12, 13, 14), x1 Flash laser tower (level 14), x3 Teleporter glue towers (level 5).

LienRag commented 5 years ago

https://github.com/reloZid/android-anuto/issues/139 On this issue you wrote that "The total health of a wave is calculated in function of the total amount of credits you have already earned" which seems an incredibly bad design decision to me, as it basically punishes the player for playing well. What is the rationale behind using credit earned rather than wave number?

mjaun commented 5 years ago

I forgot to mention that credits earned by bonus are not taken into account in this calculation. If a player plays well (earning bonus credits) this doesn't have an impact on the wave health.

The reason I used this metric instead of the wave number was because it felt easier to do the whole balancing. The idea is that the amount of credit available to the player should somehow correlate with the wave health he is able to defend.

mjaun commented 5 years ago

How do you improve the state of things? I propose the laser to 'stun' the flyers, or 'blind' them, or however you want to call it, and that makes them go slower. And let that be accumulative, so the more lasers you have the slower they move. This way you can position lasers so that they trap flyers in a death trap.

I would also propose to decrease the slow down of glue guns. This way you will be forced to use rockets as massive damage dealers (possibly paired with lasers, too).

I like the suggestion about stunning the fliers and nerfing the glue guns. I'll give it a shot. You guys are right that the game should not be determined by one single type of enemies.

LienRag commented 5 years ago

Indeed, if the boni are not taken into account, this metric isn't such a problem.

In another issue I can't find (the one about earning new lines at some times) you wrote that losing is in your experience not a matter of one enemy taking your last life but of a wave of enemy killing you in one massive blow. This is my experience so far, and it indicates imho a balancing problem. It's not really fun to die this way, a prolonged agony (where one gets to kill nearly all of a wave save for one or two teleport-resistant enemy) makes for a much better game experience. Part of my deaths by submersion are my fault, since I kept pushing the "new wave" button and in a way it's right to be punished for such a reckless behavior, but another way to see it is that pushing the "new wave" button is the encouraged way to earn credits, and that me pushing it recklessly to my own doom comes mainly because it's impossible to see what are the enemies in the crowded choke point when there are so many of them. Maybe in the "menu" menu have an option for "statistics" showing the number of enemies in the field, their type and hit points? It's all information that are graphically provided to the player, so it's not cheating, but it would be displayed in a readable manner while graphically it's not possible to decipher them when there are too many enemies.

Nerfing the glue guns (all of them or the second level only?) would have huge consequences to the balance of the game for all non-flying enemies (basically, choke points would work in a much less efficient way) so it would need to be carefully tested. Yesterday I died under a wave of fliers but that's actually rare in the way I play, so I'm not sure that's the better way to solve the problem.

Stunning the flyers with lasers seems a good idea, but wouldn't it basically destroy the challenge they pose? Having a third-level laser at the entry choke point is usually a very effective strategy, the only enemy towards which it is less effective being the flyers.

LienRag commented 5 years ago

What you wrote on the "new map" issue about non-basic blocks is interesting... Even with just Scrabble-like "double" blocks (double damage of the tower put on it), which I believe is not difficult to implement in code, the strategy would be quite different and it would be easy to create very different maps. Of course with many "double" blocks it would become quite overpowered, but a map with a single "double" would give a good challenge, as the player would need to choose which tower he will then double.

Continuing with the Scrabble analogy, it is even possible to have both "double words" and "double letters", the first multiplying the damage, the second giving a fixed bonus: very useful at the beginning of the game, much less so later. Which means that a map with one "double word" block and many "double letter" blocks would still be challenging.

gloryroad1 commented 5 years ago

Is there a chart of the cost, range, reload and hit of each weapon type's incremental upgrades and enhancements ? If not, could you publish one, updated if the weapon code is revised ?

It's a time-consuming ordeal for a player to get those specs from the game while it's played and if they change, the task has to be repeated. I mention cost, range, reload and hit because those are the only weapon attributes I'm aware of that change with purchased improvements. If there are other variable weapon attributes that would be relevant, then perhaps they could be charted also ?

I use the weapon data to study the balance of weapon cost and effect, such as the cost-per-hit and the range extension, for the incremental purchases. I had collected that data from the game back when the weapons were weaker and less expensive and analyzed it in a spreadsheet to sift apparent good deals from the bad and guide my purchases.

The old weapons had some very bad deals. And without a spreadsheet for the revised weapons I wonder at spending a whopping 20,000+ credits for a rocket upgrade to buy just 2000+ more hit. Having the data to analyze without having to cherry pick it out of the game as it is played would help a lot.

m4rkusxxl commented 5 years ago
  1. Glue guns shoot at fliers but do not affect them?
  2. Fliers are the strongest enemy. (With glue all other enemy come to a crawl and are killed by time.) 2.1. Some way to slow down fliers would be great.
  3. Starting waves earlier will be "weaker" and with less reward. Previous waves were not cleared so earned credits is lower. Right? 3.1. Why is it scaled this way at all? You scale the health on the earned credits. Starting at the first wave, the health of every wave should be predefined. (Ignoring the 20 enemies that could pass and will not increased earned credits.)
  4. Bonus should not depend on the number of left enemies on the field. It should just be the time. If you kill the wave very fast you should get a bonus, right? (Not: it took me 30 minutes for all but a few enemies of a wave, lets get a bonus for that?)
  5. Maybe allow towers to be moved for some fee. (Maybe some percentage of the "sell value"?)
  6. Maybe more advanced maps. 6.1. Multiple "heights", higher means increased range. 6.2. We can build our own "heights" blocks. Still leaving a path for the enemies. But the enemies can be forced to got different routes. (Or allow building on the lowground, as long as a path is kept for the enemies to go.)
  7. Insert some kind of "boss" waves. (A stronger, maybe slightly bigger enemy of the known types.)
m4rkusxxl commented 5 years ago
  1. Pay out some interest on not spend credits.
  2. Dont limit the upgrades. (5/10/15 stages. Maybe use a different formular after some stages. especially reload could make problems when negative.) 9.1. Higher levels can be impossible, you cannot spend the credits, because there is no space left where you could build/upgrade towers.
  3. Make the towers gain experience. (Improving them directly or allow them to be improved further, see 9.)
gloryroad1 commented 5 years ago

At the start of each level, is the wave constant from game play to game play. . .same enemies and their sequence, speeds, health, credits, etc... ? --That is, ignoring the difference from starting the next wave early and effects of glue and teleportation.

m4rkusxxl commented 5 years ago

To 3.1, difficulty calculation: Currently the "total wave health" is taken and scaled to fit a predefined shape/function. But the health is not the difficulty of an enemy. The value that already tries to respects the strengths, health, speed and special abilities is (roughly) the reward.

What is also not intentional: One type of enemy can be strong in one wave and weak in another, depended of its combatants. e.g. the health correction factor for the first ten waves: 0.89, 1.42, 1.92, 3.22, 4.55, 10.24, 6.71, 5.64, 8.14, 19.85 (the values are jumping up and down)

To 3., calling waves early: The same ten waves, when pushing next fast: 0.56, 0.74, 0.9, 1.35, 1.84, 4.33, 3.06, 2.57, 3.57, 8.33

LienRag commented 5 years ago

I really like the idea of paying interest on unspent credits...

I don't understand the thing about "making higher levels of upgrades": Maybe it's because I'm not the best player in the world but I was never able to upgrade more than 2 towers to their maximum level?

m4rkusxxl commented 5 years ago

See #156. More than 20 maxed out towers (not counting the "cheap" glue/teleporters.) The efficiency of damage per credits cannot improve anymore, there are only suboptimal places left to put new towers... but the enemies become stronger...

spanezz commented 5 years ago

At higher levels (I currently die at around 101) the bonus seems disproportionately small compared to the risk of starting a new wave early. That is, I see bonuses in the range of 4k, while a single bullet tower upgrade would be in the range of 65k. I would enjoy havnig higher bonuses, so that if I bring down hell upon my scheme, at least I can have a bit of a budget to have a glimmer of a hope to do something about it.

gloryroad1 commented 5 years ago

I've been thinking the same thing spanezz just posted. In the early levels, the early bonus can be enough to buy a new tower or improvement that makes a differene at that level but as the cost of improvements skyrockets in the later levels, the benefit of taking the next level early seems peanuts.

spanezz commented 5 years ago

Bonus calculation proposal: add up the value of all enemies left in the game, reduced by how much they have been damaged and how much they are being slowed down. That way, hitting "next wave" twice in a row gives a lot of bonus, but a lot of risk. Hitting next wave when only one enemy is left, or when enemies are all almost dead, or when all the enemies are bogged down by glue guns, is very safe but gives very little.

LienRag commented 5 years ago

See #156. More than 20 maxed out towers (not counting the "cheap" glue/teleporters.) The efficiency of damage per credits cannot improve anymore, there are only suboptimal places left to put new towers... but the enemies become stronger...

I guess I'm playing very badly then... Are multiple glue dispensers that useful? Do the "slow" effect add up?

spanezz commented 5 years ago

@LienRag the slow effect adds up, and therefore glue towers increase drastically the damage that the other towers can deal, except for fliers. It's also possible to arrange glue guns to separate early all the other units from fliers, so that the rest of the turrets along the path can focus solely on the fliers.

In my experience, in the hundred-something levels, one ends up with all enemies glued in a pile getting very slowly (and boringly, I'd like to have 8x speed, or 16x!) but surely ground down by turrets, and at some point, fliers get strong enough that they get through no matter what and the game ends.

LienRag commented 5 years ago

So I guess the fix is easy then? Remove stacking of "glue" effect and allow "bonus tiles" to compensate for the augmented difficulty? It'll be quite a change but probably for the best...

gloryroad1 commented 5 years ago

The major changes 2 or 3 years ago that reduced "infinite" enemy teleport to one trip and weakened the stars left the flyers top dog. One way to counter the flyer's strength might be to enable an option or enhancement (Or levels of enhancement) to buy a second (Or 2, 3, 4...) enemy teleport trip(s) for the teleporters. The flyer imbalance (if that is what it is) still would be there but players might be able to get some levels higher before the overwhelming. I've gone from 20 lives to big-time negative in one level, like everyone has, while still having 100,000+ credits in the bank. . .Credits that wouldn't have helped a bit even if I had spent them on something. When I see that's going to happen, I would gladly pay anything to buy one more teleport trip for everyone thru my gauntlet and hope for the best.

LienRag commented 5 years ago

One teleport per enemy for each teleporter is fine, but only one per enemy is indeed a problem...

KillerBug commented 5 years ago

The biggest issue imo is that the glue guns target pentagons. This lets other enemy types slip by, mixing with pentagons, wasting shots that are needed to stop the pentagons. That, and pentagons are just too strong late game. Even with an absurd number of glue traps to prevent wasted shots and a board full of level 15 machine guns, I can't avoid losing lives to pentagons in waves 142-145. Fixing the glue guns and making the pentagons less powerful would probably let the game continue until all the tower sqaures were maxed out, and after that balance doesn't really matter because the game can't go anywhere from there anyway.

As far as balancing the flow of the game, the 4x button should become 6x at a certain level, then 8x, then 10x, etc...and it should turn off at the start of a wave in case there are pentagons.

hyiltiz commented 4 years ago

Fliers exponential factor is too high. Fliers can go fast as they do now, but their hp should incrase much slower than it is, so they are fast but squishy.

StarvingMarvin commented 4 years ago

I've tried recent update, and I found balance much better. This is the first time I got to end game with a full board, and to lose life to something other than fliers (speciffically healers and sprinters). Great job!

gforg78 commented 4 years ago

At ver0.6-2, I find the healers overpowered, especially on levels over ~125. On a well equipped 1st map, waves 140, 141, 143, 144, 145 are "easily" handled (blobs don't even get close to the teleporters at the end of the route), but in the next wave, 146 come 60 healers, and as they are slowed down by glue guns, they get crowded, and in the end, ~20 - 21 of them can be killed, the others march with full health in, endig the game. The healers are very overpowered, as they can heal other healers and on this level, only 6-7 lvl15 machine guns can take down one healer if they can shoot at only one alone. Finishing wave 145 with even 7 lives and 627k credits gives no hope... having 16 MG's on lvl 15, 10 rocket launchers on lvl 10-12, and well placed lasers also on lvl 8-10. at this stage of the game, the earning of credits are way too low, making the game almost unplayable. Maybe a healing rate should be get lower with the waves, or the healers should heal only other enemies, but not other healers - as I would suggest.

pkars commented 3 years ago

I've been figuring out why the healers become so powerful in the later waves. By looking at the code and doing some ingame testing, I've found out the following:

So there is a point where healer becomes basically immune to the towers: it's when the heal amount is larger than the damage a tower can deal in five seconds! This is easily seen with rocket and laser towers, as their single-target DPS is rather low. Meaning that a single healer within a group of enemies can negate all area damage dealt by level 15 rocket and straightLaser towers after a certain point! That point is somewhere before wave 100, depending on how the health scales (early waves...). For level 15 machineGun towers, this breakpoint becomes later. Against healers it is between waves 130 and 140 due to healers being weak to bullets. After that point you'll need at least two machineGun towers shooting at the same target all the time to overcome the heal effect!

In essence, the issue is that the tower DPS is capped, but the heal amount is not, so at some point the healers simply out-heal the damage you do.

rigao1981 commented 2 years ago

Hello again.

After almost two years, I downloaded this game again to see how was it developing.

First of all, the stun on flyers is working like a charm. Now fliers are dangerous but can be combated effectively with a combination of laser and turrets.

Solved that previous problem, another one has arisen. I died in the map Civyshk 2Y at wave 146. I had almost all my lives there and ended with -17. All because the healers. My main strat to reach that wave is get max machine guns on the central strip coupled with Straight lasers, but those not upgraded to the max. That's because I think (after a brief look at the code) that the stun ability to fliers does not depend on the level of the Straight Laser, so I thought best to save credits and only upgrade them to level 6-9 (basically to get range where the upgrades are cheap).

Moreover, at the left hand side of the entrance, I get some Rocket Launchers to deal with resistant enemies. The rest of the map is filled with Glue Guns, except for two Teleporters at center right (to ensure they don't teleport enemies that just spawned).

I think the strategy is quite compelling, relies on every turret and positioning is paramount (you have to trap the fliers after all).

The problem is, as I said, Healers. Those are weak to bullets and lasers, which was, basically, my composition (I had 5 Rocket Launchers in total, as opposed to 11 Machine Guns and 18 not fully upgraded Straight Lasers), yet I died horribly.

As far as I see it, there may be two reasons this happened:

  1. Grouped healers made them almost invincible but if the healers were to be separated somehow, I could have prevailed.
  2. Individual healers heal simply too fast for my main dps to kill them.

If the right reason is number 2 then the solution is easy, just slow down the healing just a notch or two. If the right reason is number 1, then we have in our hands a very interesting problem that can give rise to interesting strategic considerations. Either we device a mechanic that can separate healers, or we create a mechanic that stops the healing.

Although both may be interesting, I think the more interesting would be to be able to separate the healers. I propose two ideas to give Explosives some love:

Does it make sense? I'm sure there may be other more compelling ways to separate healers, but those are the ones I have come up with.

EDIT: I just read the comment above mine. It is a shame the reason healers are overpowered is the shear healing they get on their own. Of course you cannot hope to stop wave 146 featuring more than 50 healers in this version of the game, just not enough dps. The easiest solution should be, of course, to reduce individual healing.

sanguinariojoe commented 2 years ago

Of course you can beat wave 146. See my comment in https://github.com/mjaun/android-anuto/issues/149

Probably many other strategies can be used to get even further than me