analysis about "Strong Against" type units and suggestions

GREE

DECAGAMES Forum - Powered by vBulletin
Results 1 to 10 of 10

Thread: analysis about "Strong Against" type units and suggestions

  1. #1
    Articulate Author digitalwalker's Avatar
    Member Since
    Jan 2012
    Location
    Uk
    Post Count
    359

    analysis about "Strong Against" type units and suggestions

    Hi, all, the motivation of this thread is based on some infomations I gained, and hence I thought it might be good to post my thought regards how one should composite theirs troops.

    For those of you not interested in the mathematical part, simply skip to the end, read the conclusion.

    Foundamental infomation:

    1): each level have parameters called pvp_attack(defence)_scale,
    which = 1+0.09*level
    So one has 2.26 in level 14, 5.05 in level 45, and I suspect this value controls the maximum number of units lost per fight
    2): "strong against type A" means 0.25 diminish when fight with type A unit
    Suppose you have a strong against sea unit has attack 80, defence 9. Once you fight with a normal sea unit
    with stats 10 attack, 100 defence. By conventional calculation, you shouldn't stand a chance when both
    attacking or defenceing, however if take "strong against" into account, you would get:
    If you attack him,the actual stats becomes:
    your unit: 80 attack (unchanged)
    his unit: 100*(1-0.25)=75 defence
    80>75 you win
    If you are attacked, then the actual stats becomes
    Your unit: 9 defence, unchanged
    His unit: 10*(1-0.25)=7.5 attack
    9>7.5 you win

    so, in words, "strong against" unit does NOT boost your unit stats when fighting, but diminish your opponents stats.

    Ok, the above example is for single unit fight which is not much the case we facing, so in order to calculate what are the impacts of "strong against" on each multi units fight, we need to understand the mechanism of multi units battle. As far as I can list, there are two possible kinds of mechanism(the other kinds can be generalised within this two):

    1) unit picking mechanism: eg. pick one unit from your troop, either random or the strongest or else, pick one from your opponents troop, then compare theirs stats( if attack, then is your attack stat vs his defence stat), by deducting the weaker stat, the stronger unit side pause unit picking on next round, and compare with the 2nd round picked unit and so on so forth, until all the units been picked, the left over units side win. Ofcourse there is a multiply of casualty rate in each unit picking action.

    This mechanism requires a big processing power which I don't think funzio runs in this way, if it does, then comes to one useful conclusion:

    Due to each unit picking, apart from calculate stats, also calculated the casualty rate, which means you don't wanna your strong unit die when it only fighted one time, so you wana Strong unit with Low Casulty, and lower Casulty rate among strong units may benifit much more than you think.

    2) Addition mechanism: which basically adds up all the units stats. And by multiply and division to add "buffs" like country 10% bounds, attack/defence points, and also the"strong against" factor. So, let's only take strong against factor into account and calculate the math:

    Your stats are unaffected by "strong against" type units when fighting.

    Eg. Your opponents defence= (sum of opponents sea units defence value)*[1 - (your"strong against sea" units number * 0.25)/( opponents sea units number )]

    A bit of analysis, we can found, the ratio of your "strong against sea" number of units and your opponents number of sea units plays the most important part. And when your "strong against sea" units number is 4 times more than your opponents number of sea units, you basically see his sea troops as 0 defence!!AMAZING! ( I suspect there is an off set here )

    Conclusion:
    1) "strong against" does NOT boost your stats, but diminish your opponents stats
    2) "strong against" units, quantity is MORE IMPORTANT than quality.

    I would suggest, buy 10%-30% very strong low Casulty rate units, not necessary be "strong against". And the rest 70%-90% troops arm with cheap "strong against" units, all types, and buy more infantry if you are Chinese ,etc.

    P.S. thanks RamShutu who pointed out the 0.25 factor of strong against actually mean, refer to my last thread.
    Last edited by digitalwalker; 01-25-2012 at 06:46 AM.

  2. #2
    Prominent Poet Ramshutu's Avatar
    Member Since
    Jan 2012
    Location
    UK
    Post Count
    1,612
    I would point out that what you said about processing power isnt quite true, you can do unit per unit sorting pretty quickly in code. It seems like it would take lots of time for all of the attacks; but can be done pretty quickly. Importantly, they Already sort units for defence/attack ordering. If they do this already, it is only a very, very marginal increase in processing to match up units.

    Secondly, the strong against is merely wild conjecture based on what is in the configuration files, and how I would implement it in terms of a) balance, b) forward compatibility, c) ease of implementation.

  3. #3
    Master of Musings Agent Orange's Avatar
    Member Since
    Nov 2011
    Location
    Toronto Canada
    Post Count
    4,023
    Perhaps the game calculates some of this ahead of time and stores this data so it doesn't need to do on the fly calculations. We used to see this with your attack and defence stats in the profile. They would not update in real time if you added a new unit though I think I noticed it was lately.

    Interesting stuff you two.
    Modern War
    IOS - Agent Orange - ID 863 440 860
    Free player
    Playing since 11/08/2011
    Level 240+

    Android - Agent Orange -ID 179 321 004
    Free Player since 7/18/12
    Level 33+

    War of Nations - Agent Orange - Quit the game
    Free Player since 5/30/13

  4. #4
    Articulate Author digitalwalker's Avatar
    Member Since
    Jan 2012
    Location
    Uk
    Post Count
    359
    Thanks for replying

    When I was thinking about unit picking mechanism, as you said if unit per unit sorting, it would not be so difficult, however, i thought in order to satisy "strong aginst sea" unit aginst sea unit, rather than some other types of units randomly picked(or based on theirs pre signed ID), then it should have some kind of mechanism on every units relating events. Processing n against m units relating will then cost n*m number of events, which is large for me, but I have no idea is this large for a computer, and based on the observation that when I have the scale of 1000units fight, the sever calculate the answer quite quickly,even by deducting the Internet lag time, the processing time is still unoticeable . I may wrong, just really as you said it is a wild conjecture.

  5. #5
    Articulate Author digitalwalker's Avatar
    Member Since
    Jan 2012
    Location
    Uk
    Post Count
    359
    Quote Originally Posted by Agent Orange View Post
    Perhaps the game calculates some of this ahead of time and stores this data so it doesn't need to do on the fly calculations. We used to see this with your attack and defence stats in the profile. They would not update in real time if you added a new unit though I think I noticed it was lately.

    Interesting stuff you two.
    Thanks Orange

    I tested before that you can buy cash unit when you cut off your Internet while playing, but not for when buying gold units. Which gave me a signal that cash units buying and of course updating profile does not synchronise with the sever. So perhaps it does not update to sever even when fighting, only does is when you re open the game? It is interesting.

    Which means, cash buying actions are stored locally and update to sever when re oppen, and some one could easily use this to hack the game....em.i hope I am wrong here.

  6. #6
    Verbose Veteran
    Member Since
    Dec 2011
    Location
    New Hampshire
    Post Count
    532
    Quote Originally Posted by digitalwalker View Post
    Which means, cash buying actions are stored locally and update to sever when re oppen, and some one could easily use this to hack the game....em.i hope I am wrong here.
    From what I have read Funzio has closed all the loop-holes in tacking on cash in both games. It use to be a problem but that was resolved along with adding valor.

  7. #7
    Articulate Author digitalwalker's Avatar
    Member Since
    Jan 2012
    Location
    Uk
    Post Count
    359
    Quote Originally Posted by Dover View Post
    From what I have read Funzio has closed all the loop-holes in tacking on cash in both games. It use to be a problem but that was resolved along with adding valor.
    Ah. Thats good news. Thanks Dover.

  8. #8
    Prominent Poet Ramshutu's Avatar
    Member Since
    Jan 2012
    Location
    UK
    Post Count
    1,612
    Quote Originally Posted by digitalwalker View Post
    Thanks for replying

    When I was thinking about unit picking mechanism, as you said if unit per unit sorting, it would not be so difficult, however, i thought in order to satisy "strong aginst sea" unit aginst sea unit, rather than some other types of units randomly picked(or based on theirs pre signed ID), then it should have some kind of mechanism on every units relating events. Processing n against m units relating will then cost n*m number of events, which is large for me, but I have no idea is this large for a computer, and based on the observation that when I have the scale of 1000units fight, the sever calculate the answer quite quickly,even by deducting the Internet lag time, the processing time is still unoticeable . I may wrong, just really as you said it is a wild conjecture.
    The unit sorting by defense and attack takes the most time. Once you have an ordered list (or have done the processing for it) extracting individual unit types, or "strong against" is a minimal number of operations. Alternatively, if you have a database with all units sorted by stats (if you have two copies)" extracting a list of desired items is both trivial and blindingly fast. Once you have two ordered lists, match up is really trivial.

    On a pretty standard desktop, I can imagine you could do a couple of hundreds of calculations like the above at the same time and still have processing power to spare for minesweeper

  9. #9
    Articulate Author digitalwalker's Avatar
    Member Since
    Jan 2012
    Location
    Uk
    Post Count
    359
    Quote Originally Posted by Ramshutu View Post
    The unit sorting by defense and attack takes the most time. Once you have an ordered list (or have done the processing for it) extracting individual unit types, or "strong against" is a minimal number of operations. Alternatively, if you have a database with all units sorted by stats (if you have two copies)" extracting a list of desired items is both trivial and blindingly fast. Once you have two ordered lists, match up is really trivial.

    On a pretty standard desktop, I can imagine you could do a couple of hundreds of calculations like the above at the same time and still have processing power to spare for minesweeper
    Haha. I love minesweeper,lol.

    Ok, now I have some ideas. Thanks alot. I m currently learning python, hopefully I can simulate the fighting mechanism later on and then test each thought.

  10. #10
    Articulate Author
    Member Since
    Dec 2011
    Location
    Northern Ireland
    Post Count
    328
    Quote Originally Posted by Agent Orange View Post
    Perhaps the game calculates some of this ahead of time and stores this data so it doesn't need to do on the fly calculations. We used to see this with your attack and defence stats in the profile. They would not update in real time if you added a new unit though I think I noticed it was lately.

    Interesting stuff you two.
    What if no calculations are made on your device, if when you launch an attack or raid all that happens is sends the two players ID to to Funzio's servers and they use the stored statistics for the players from the database to calculate the result. All the strong versus etc for the players would be stored in advance as part of this in the server database, so it's a straightforward calculation for the server to give the result and update the stored statistics for both players. No matter how involved you make the calculation it's no challenge for the bank of modern servers and workstations that probably run the game. Any other way also involves a lot more network traffic.

    So I think iPad etc. makes request for fight, passes it to Funsio server, server passes info to a workstation in a farm which passes back result back to server and updates the database for the players involved, server passes result back to active player and adds it to the news feed for the other player. Think about it, there was no game update at the time the losses changed all the action was at the server end. Simply changing the rules the workstations and servers apply to the data changes the game balance. The other reason I think it has to be this way is if I launch an attack or raid and the game crashes, my statistics when I restart the game always reflect the result of the attack which means the data displayed in your device is just a snapshot of what's on the server it's not the real data.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •