Not signed in (Sign In)

Vanilla 1.1.4 is a product of Lussumo. More Information: Documentation, Community Support.

    • CommentAuthorBeeOnRope
    • CommentTimeMar 3rd 2009
     
    A thread to discuss game mechanics.

    Chad, a few questions/requests for you (sorry, I know it is a never-ending stream).

    Can you post an updated table covering the tower data, like you did here: http://besiegementgame.com/Towers.htm. I believe many of the values have been tweaked for version 1.2x.

    1. How is the bomb damage calculated? Is the per enemy damage related to the number of enemies in the explosion radius? Is damage related to the proximity to the explosion point?
    2. If you sell a tower and then buy an identical one, you suffer a permanent drop in score due to subtracting the effective gold bonus from the score, but not adding it back on the buy, right?
    3. Do towers always target the enemy which is "furthest along"? How is this calculated on path levels? Maze levels?
    4. Is the snowflake duration proportional to the strength of the enemies? Water duration? Ice duration?
    5. How does water slow stack? That is, if an enemy is hit by an L6 tower with a 5 sec slow, then immediately after by an L1 tower with 1 sec slow. Will the enemy be slow for 5 or 1 seconds (I'm pretty sure the answer is not 5+1=6).
    • CommentAuthorBeeOnRope
    • CommentTimeMar 3rd 2009
     
    Another one - how much is the "ignite" damage dealt by fire towers?
  1.  
    I plan on making a towers page with detailed numbers available... sometime soon. Life has been very busy after I got home from my "vacation".

    1:
    for ( i = mobs->begin(); i != mobs->end(); i++ )
    {
    Mob* m = (*i);
    int pow = (int)floor((m->m_maxhealth * .40f) + .5f);
    if (pow == 0) pow = 1;
    if (m->m_bosslevel == 1) pow = (int)(m->m_maxhealth * .33f);
    if (m->m_bosslevel == 2) pow = (int)(m->m_maxhealth * .25f);
    theGame->m_level->HitMob(m, pow, m_type);
    }
    Basically, 40% of life for normal mobs, 33% of life for captains and 25% life for bosses.

    2:
    upgrading:
    int lev = t->Level(); // before upgrade, so level 1->2 = 100 score, 5->6 = 500 score
    AddScore(100 * lev);
    selling:
    for (int i = 1; i < selected_tower->Level(); i++)
    {
    AddScore(i * -100); // level 6 tower = 100+200+300+400+500... or 1...5
    }

    From what I can tell, there is no score penalty from selling a tower. Outside of the gold lost that is.

    3:
    Each time a mob moves a square, they get a progression value incremented. Towers (currently) target the highest progression. This has its flaws, but overall I think it is the best (default) strategy. My plans include giving an option to set towers to "oldest", "newest", "strongest" and "weakest" enemies. newest and strongest could be used for poison and wind (wind might overkill a weakest enemy) for instance.

    I like geoDefense... but the towers always target the closest enemy which pisses me off to no end when mobs are slipping through after rounding a corner or such.

    4:
    if (m_shape == Mob_Zombie) return;
    if (m_bosslevel == 1) duration = (duration * 2 / 3);
    if (m_bosslevel == 2) duration = (duration / 2);

    Simple answer is no. Normal enemies are full duration, captains (66%) and bosses (50%) take a percentage.

    5:
    Simple answer is that slows will stack durations (to a point) but not amounts. It is hard to explain how it actually works without getting very technical and detailed. I will probably revisit this sometime in the future.

    bonus:
    MissleFire* m = new MissleFire(Power(m_level), AOE(m_level), (float)(3 + (m_level*2)), (float)(m_level*2), m_level*2000);
    where,
    MissleFire::MissleFire(int power, float aoe, float crit_chance, float burn_per_second, uint duration)
    e.g.,
    a level 4 tower will burn 8 damage every second for 8 seconds.

    Anything else? :)
    • CommentAuthorBeeOnRope
    • CommentTimeMar 3rd 2009
     
    Great answers, thanks! I guess your "vacation" is well and truly over, huh?

    One new question:

    7. Is the range/radius calculation precise? That is, does a mob have a center point that moves along gradually from square to square (as the animation does), and then the tower radius is calculated correctly (i.e., a real circle) based on the actual position of the mob, or does they simply jump from square to square, and the tower radii are actually blocky "closest fits" to the current range? From observation, I'm guessing the former, but I wanted to make sure.

    One clarification on 5 - I don't need the full details (of course, I wouldn't mind at all - I'm a programmer so code is fine :p), but is it at least true that having lower level water towers near higher ones is never worse than not having the lower towers at all? That is, that lower level "hits" will never shorten the duration of a slow imparted by a higher level tower?
    • CommentAuthorBeeOnRope
    • CommentTimeMar 3rd 2009
     
    About the formula in (2), it doesn't seem to be complete. When I sell an L1 arrow tower, I loose 250 points, not 0 as the formula would indicate. That is if I wait a while before selling it. Otherwise, I lose less.
    • CommentAuthorBeeOnRope
    • CommentTimeMar 3rd 2009
     
    After a little bit more testing, the formula in (2) seems to apply if you simply add a -250 to the end. So selling an L4 tower costs you 100+200+300+250 points.

    This 250 point penalty seems quite severe, and hurts the strategy of reconfiguring your towers based on the upcoming mobs.
  2.  
    You are correct. There is a maximum of a 250 penalty when selling. If you sell the tower right away, the penalty is less.

    Here is the code:

    AddScore(tdmax(-250, 0 - ((last_game_timer.last_timer - selected_tower->build_ticks) / 120))); // 30 second grace?

    So, if 5000 ticks have passed (5 seconds), it would be 5000/120 or -41 points. 30 seconds is the maximum of -250.

    Is there really times where the player would want to totally reconfigure the defenses? I always looked at the game from the viewpoint that the decisions you make early on affect the entire outcome. If selling towers had no penalty, you could always have the best towers out for the current situation instead of balancing strategies. For instance, the swarm challenge you could build fire towers for everything, sell all the fire towers, build earths for the fire mobs, then go back to fire once they are dead. The key strategy for that level is now pointless.
  3.  
    Yes, vacation is over. But life is still busy. I've got to clean my house tonight (which hasn't been done in a month). Tomorrow is a party. Friday and Saturday my girlfriend is over. I might get to work on it Sunday... sigh.

    7.
    The only thing that is grid based is the pathing. Targeting is done by precision distances. The center of the mobs are a bit off (I think higher?) than what you expect. Also, the mobs continuously move, "sliding" if you will (as in version 1.0), but the visual coordinates are only updated when the animation frame changes. I had originally planned this as an option, but never got around to it. I thought the sliding looked awkward, but some people are now complaining about the jerkiness of the mobs.

    5.
    Let me put it this way: since looking through the slow/freeze code, I've noticed it is buggy. I can't really tell you one way or another how it is working. It appears to add on to the durations, but I know that can't be true. I'll have to test this further and let you know how it works exactly and if I am going to change it.
    • CommentAuthorBeeOnRope
    • CommentTimeMar 4th 2009
     
    Chad, thanks again for your answers.

    About tower selling ,there is already a large penalty - the fact that you only get a fraction of your money back. So the complete reconfiguration would be prohibitively expensive in any case. What I'm talking about it more replacing an arrow tower in your maze with a water tower or something. The arrow tower is very cheap, so I'd expect a small penalty of a few dollars - but the 250 is absolute (not scaled to tower price) and so is several times worse that the gold hit. On the other hand, selling expensive towers is much more severe in terms of the gold hit.

    Some more :). Feel free to stop answering at any point.

    8. I had a question about the "Gold Bonus" at the end of the level. How is it calculated? It doesn't seem to be based purely on gold remaining, as I get a substantial bonus sometimes even when near zero gold.

    9. In the Maze levels, how does the mob pathfinding work? It doesn't appear to be completely deterministic because when there are two similarly good paths, the mobs will sometimes randomly split between them.
  4.  
    8. It is based on the sell value of your towers at the end of the game. There was a strategy where you would sell towers at the end to increase your score. I eliminated that part.

    9. Yes, they will pick a random direction if faced with two identical length paths to the end. The algorithm works by creating a 2x2 array. Each square is filled in by an incrementing value. The exit is 0. Squares around the exit are 1. The next squares are 2. And so forth. The mob is always looking for the lowest value square to move to. If faced with multiple choices of the same value, it randomly picks one. Diagonal moves cost more, which is why you see the mobs move diagonally as soon as possible.

    Just be thankful I didn't implement tower avoidance like I originally planned. ;)
    • CommentAuthorMetaChimp
    • CommentTimeMar 4th 2009
     
    this might not be the right thread, but weren't you going to DECREASE the L6 upgrade price of the electric tower in this latest release?

    ...or did I mis-read something a while back?
  5.  
    I did. It used to be 400, it is now 240.

    You had me scared (and cussing) for a minute there.
    • CommentAuthorMetaChimp
    • CommentTimeMar 4th 2009
     
    LOL, I forgot it used to be that high, sorry for the scare!
    • CommentAuthorBeeOnRope
    • CommentTimeMar 6th 2009
     
    With the fire tower, if the target of a shot is killed before the shot reaches the target, does the AOE damage still take effect? What is the location of the "center" of the damage radius in this case?

    Is the value of rushing a given amount of "time" constant throughout a level?
  6.  
    If the target is dead upon arrival, the next target in range will receive the damage.

    Right now, there is a bug where two targets (the primary and the next in the list) will take full damage if the primary target is killed in the blast.

    The bonus is the number of ticks (1000 ticks in a second) remaining in the current wave, divided by 10. So if you rush an entire 15 second wave, you get 15000/10 (1500) points. If you only rush the last 2 seconds of a wave, you only get 200 points.
  7.  
    I like this thread. Bumping this instead of my other one. Thanks, btw, the breakdown in the other thread actually helped significantly. Not enough for me to catch up to Bee, but definitely some help. =P

    So, just to make sure I have it in my head right, you get 10x your remaining gold, and 10x the gold you would have gotten for selling a tower, if you had sold it. Since a tower is worth... what, 70% of it's purchase value? it makes it worth it to shell out at the end for upgrades, as long as you're not spending more than... 350 per upgrade? Math is hard. There is a lot to juggle there, which makes it better, I think, since there's so many paths to scoring.

    Also, re: targeting, I saw arrow towers miss fast moving mobs. I don't know if this is a one-off, or what, but I was playing the arrow level, and watching the wave of fast mobs shoot by, I slowed it down, and saw an arrow fire, land (way behind the enemy, since the enemy moves so fast), and cause no damage. Could this be a side effect of the target switching on dead mobs? is there target switching on out of range mobs as well?

    Is time left on a wave 1:1 with space left on the bar? Like, can I judge by the fact that the next wave is 3 grid squares from the end of the bar that there is x amount of time left? Or do some waves/levels cross the bar faster than others?
  8.  
    The bar should be dead on accurate. When the first enemy crosses the left side of screen, the wave has begun. You can also watch the wave indicator. When it changes, you can rush at that moment for the highest score.

    Arrows are inaccurate and will miss enemies. It is in the description. Other towers will always hit as long as their primary target is still alive (even if the graphic doesn't appear to hit). Fire towers are unique in that they will continue to where their primary had died, and then attempt to hit the first enemy in the splash range for maximum damage.

    And the final question is a hard one. There is an upgrade threshold... you will get 100 points for upgrading from level 1 to level 2. Therefore, if you spend more then 7 gold to upgrade, you will lose points. Level 2 -> level 3 would be 200 points, so it would be 28 gold.

    1->2 = 7 gold
    2->3 = 14 gold (21 total)
    3->4 = 21 gold (42 total)
    4->5 = 28 gold (70 total)
    5->6 = 35 gold (105 total) (50 * .7)

    Arrow costs are: 5, 6, 12, 25, 55, 120
    5+6 > 7
    5+6+12 > 14
    etc

    So ignore my previous statement about wanting to upgrade towers. :( Even the cheapest tower will set you back in points.

    I guess the strategy to maximize your score would be to use the fewest and weakest towers possible. Which, in my mind, is what the game should be about.
  9.  
    Hmm... much as I love keeping a useful secret, if my math is right and the system works the way I think it does, that's not quite accurate, I think because you're not taking sell values into account.

    Example:
    I buy an fire tower for 10g. It sells for 7g. That's a net loss of 30 points, 10 for each gold piece.
    I upgrade that fire tower for 12g, spending a total of 22g. It sells for 16g. That's 60 points lost to gold, but 100 points gained from upgrading, giving me a net gain of 40 points.

    Now, assuming that's how it works, there definitely is a line past which you do not want to upgrade, since you're spending more gold worth of points than you're gaining back, but I think the first couple of upgrades on the cheap towers at least are net gains. Currently, anyway.
    • CommentAuthorBeeOnRope
    • CommentTimeMar 23rd 2009
     
    I've noticed that with arrow towers, if the enemy originally launched at is dead, the next target will be hit for damage. This is very obvious with a stream of mobs passing several arrow towers shooting slightly out of sync. Two arrow towers will shoot at the leading mob, but it is killed by the first arrow - the second mob will get hit for damage.
  10.  
    Yes, arrows will try and hit their primary target. If it is dead or out of range, a nearby target is chosen. But if nothing is in range, the arrow will miss completely.

    Wind towers will never switch targets. It is the drawback of being the highest (single target) dps tower in the game. You'll notice if the target dies when the tornado bullet stops kicking up dirt. This is (was?) a bug, but I decided to leave it in. :)

    Someday... I'll get a complete tower description page up.
    • CommentAuthorBeeOnRope
    • CommentTimeMar 30th 2009
     
    Thanks for the update!

    The wind tower behavior is particularly frustrating when their range extends to near the mob exists (which almost becomes inevitable as their range increases, because it is large), since they will constantly target mobs which they can never possibly hit since either (a) they will escape or (b) will be killed by other towers before the tornado ever reaches them.
  11.  
    Yes, they are annoying. But in the 1.2 update, I doubled their DPS. I haven't run the numbers since then, but I think that means they are 2x as powerful (against a single target) as any other tower... that doesn't even include rapid fires. The drawback is the chance of missing a target.

    I might increase the speed of the tornado a little.

    I might also add a "nearest, furthest, newest, oldest, weakest, strongest" setting for towers. That might help if you set it to nearest.
    • CommentAuthorMetaChimp
    • CommentTimeApr 2nd 2009
     
    hehe, those wind towers KICK BUTT! That's what I always dump my excess money on for fun, cause they cover almost the whole screen and do massive damage!
    • CommentAuthorBeeOnRope
    • CommentTimeJun 2nd 2009
     
    Right, I hadn't realized that wind towers had been modified. An updated grid of tower statistics would be great...
  12.  
    I've got an excel sheet (well, a Numbers sheet I can convert to excel) that has a break down of the prices and scores for each towers. I can probably put one together that models DPS on a single target as well. Accurately modeling AoE damage is pretty silly, but I can make guesses for some towers. I'll post links to both of 'em once they're done.
    • CommentAuthorBeeOnRope
    • CommentTimeJun 17th 2009
     
    Sure, but how can you calculate the DPS without official input on the underlying numbers from Chad?
    • CommentAuthorGuest
    • CommentTimeJun 18th 2009
     
    Anyone else having game issues after the 3.0 iPhone update? All of the sudden Besiegement is running SLOW and jumpy.
    • CommentAuthorAdam
    • CommentTimeJun 18th 2009
     
    Yes Cha is already aware of this and is rewriting the sound engine around apple's new code. If you play without sound (from the Main menu options in top right corner) the game runs smoothly. Chad has stated that he is working on the work-around as fast as he can and the minor update will be out ASAP.
  13.  
    Actually, I had the fix done on Sunday, but issues with OS3.0 SDK and the signing certificates (on top of everything else going on in my life), I was unable to submit it until last night. It is pending approval, and will be available in a few days if all goes well.
Add your comments