Jump to content

The problem with tower wars

Recommended Posts

There is a big problem in tower wars right now. Since you get an income by sending creeps only for the next income wave, whenever there are atleast 2 decent players in the game, it eds with a draw eventualy, because you are still getting the same amount of money, so you keep sending the creep of same strenght, but towers get better over time. You just cant kill each other no matter what you do.

So I dont really understand this design decision, why shouldnt you keep atleast some of the income permanently like in all other tower wars? This should solve this problem easily.

Share this post

Link to post

Well, there's a problem with "all other tower wars" and "permanent income." Whoever gets ahead the fastest wins by default, with no chance for a turn around. However, I do agree that even though this system is flawed in that respect of when it gets down to a few skilled players. The only workaround I found was spamming one of the composite units that had a good cost/income ratio, and then once I had enough, start spamming the fruit of death. Though I don't agree that there should only be one workaround for a problem such as this.

I suppose there could be a permanent income bonus applied to every player evenly, in addition to the current system. I'm not sure it would fix the problem, but it'd help.

One of the problems I'm finding with this version of tower wars is that I feel there's not as many options or strategies as the original tower defense. Sure, all of the original towers are there, but the options for killing the opponents... it just doesn't feel nearly as in depth as the original tower defense, where there was so much to explore, and even after learning every single tower, there's still more to find. I'm just not getting that same vibe from this version of tower wars. It's a different experience that I think brings a lot of new concepts and ideas to the table, but it just isn't quite there yet. That's my opinion on it.

Share this post

Link to post


I gave it some more thought, and I think the main problem, related to income, is that sometimes nobody sends a creep to a particular player, making it difficult to get income.

It gets worse, of course, when it happens to a neophite who doesn't have any minerals at all and ends up feeling frustrated/bored.

I think that RATHER THAN directly giving players a steady income, it would be better to automatically ensure that they have a fresh supply of creeps all the time which they can kill for income.

If I were writing it myself, I think I'd do something like this:

1. Set up an interval time of about 20 seconds.

2. Add up the total mineral cost spent on creeps sent

to each player during that period per player

(Hereafter "creep-dollars per player" or "CDPP")

Include the duplicate set of creeps a player sends

to themselves in this number.

So if Bob sends ten $30 creeps to Jane,

that's $300 of creeps to Bob

and $300 of creeps to Jane.

3. Decide how much money the CPU should spend on

CPU-generated-creeps compared to player-paid-for-creeps.

(I'll use "CCB" later to refer to the "CPU Creep Budget".)

I think dividing the "total creep-dollars" by three

would be a good CCB.

4. Distribute the CCB among the players according to how

many creep-dollars were sent to them, giving people who

didn't get any most of the CCB.

So basically:

        foreach_human_player() {
            # See how much of the CPU Creep Budget
            # should be spent on this player
            AvgCD = Total (CPPP);
            set hisCCB = CCB *
                ( 1 - (CD_sent_to_this_player / AvgCD) );
            # Figure out what creeps to buy with it.
            If (hisCCB <=0) continue;
            If ( CCB < (FruitPrice) {
              NumberofCreeps = Random(1,5,10,15,or 30);
              CreepColor = Random(6-elements or composite);
              CreepType = MostExpensiveCreepType(CreepColor,
                 # (sometimes round up)
            } else { # It's Fruit time
              CreepColor = Fruit;
              NumberofCreeps = hisCCB/FruitPrice;

Related idea:

In addition to the above, you might want to have the CPU start sending Extra-CPU-Fruit (ECF) to everyone if the game goes on too long.

I know you said that the fruit that players send to each other ought to break any stalemate; I haven't gotten that far before winning or losing (usually winning) so I'm not sure.

But fruit-at-the-end is just a failsafe idea, so if the players do in-fact kill each other, they'll never see the ECF anyways. And besides, it should be much easier to program:

if(gametime > toolong ) call(WhateverMakesFruitInTDMode)


- wwwIdotLA


Share this post

Link to post

  • Create New...