| 05-12-2008, 06:12 PM | #1 |
I was wondering, does anyone know of a unit costs formula that might have been used by Blizzard to calculate gold, lumber and food values of units, if there is even one? Currently for my mod, I have devised my own formula which works nicely, but does not match the costs of Blizzard in the slightest. If there is a known formula for it, it would help greatly. If not, I shall stick to my own. |
| 05-12-2008, 06:17 PM | #2 |
Trial and error based on good subjective judgement is the only accurate way. |
| 05-12-2008, 06:35 PM | #3 |
I concurrrrr |
| 05-12-2008, 07:14 PM | #4 |
I am currently working on a similar mission (just for gold though), but all of it is entirely sketchy. I dont believe testing such things out will work particularly well since I already understand that units wont neccesarily kill each other at the same time. Basically though, I think you simply have to combine numbers from various situatons. For example, put your stats in a situation where the unit has greater range, where the unit has lesser range, and where the ranges are equal. I "derived" this equation so far: R*D+H*D+S*H/10=K where R stands for Range, D for Damage, H for Health, and S for Speed. Dissecting the formula, my reason is this: R*D represents when the unit has greater range. H*D represents when the unit has equal range. S*H/10 represents when the unit has lesser range. In any case where a unit cannot possibly be in such a situation, the situation is disregarded. For example, units with minimum range return a value of 0 for H*D (assuming the attacking unit rushes into the minimum range). The formula here needs to be tested further and then, assuming it is right, improved with more situations. Mind sharing what you have though? |
| 05-12-2008, 08:49 PM | #5 |
My own works for my mod in that every single unit is new, and that I have units such as air units taking on new roles. The formula is below, as is the list of things which affect the total. Speed and food have no bearing on mine, since 99% of units cost 1 food, and most units have equal movement values. (HealthTotal*HealthRegeneration) + (50-(Attack1Cooldown*25) + ((Attack1Range/20)*(Attack1DamageBase + Attack1DamageDice + Attack1DamageSides)*Attack1No.OfTargets) + (DefenceValue*10) + (No.OfAbilities*10) + (No.OfUpgrades*15) = Gold Cost Cost editors: If Undead = -10% from total If Worker = -20% from total If Air = +10% to total If 0 Defence = -15% from total If 0 Abilities = -15% from total Had lumber costs as cut off from the total gold cost. An exchange rate of: 1 Gold = 2 Lumber |
| 05-12-2008, 09:14 PM | #6 |
You're not going to be able to model unit stats in any reasonable way. They interact in very complex ways. Here are some examples: Air units have a greater advantage the harder it is for ground units to move around. They do better on island or twisted maps. Also, they give visibility over trees, so the first one is worth more. When you have multiple units, micro becomes a huge factor. 5 ranged units might lose to 3 melee units if they stand still, but they will win if they are faster and run around. One air unit can kill as many melee units as you want. There are also obvious problems with your formula: Many of the values can be manipulated to give really good units that cost nothing, or even give you gold. I would like to nominate "bubba", who has 2^1024 health, and -1 health regeneration. Every one you buy should give you enough gold to last a couple years. Listen to what Griffen said: the best way to do this is to start from reasonable values and tweak based on experiment. |
| 05-12-2008, 10:34 PM | #7 |
Well, so far the formula has worked rather fine. But so far I have only worked on Tier 1 units. It is possible I will have different ones for different Tiers, denoting strength. Also, air units in my mod feature extremely differently to normal ones. All ghostly units have the air classification, to allow them to pass through objects. However, all units can attack them. Which is why there is a smaller increase in unit cost than per normal. |
| 05-12-2008, 10:50 PM | #8 |
There's no golden formula that would be able to give you an absolute answer. If you mod is played long enough and if you're willing to stick to specific maps for a long period of time, 'standard builds' may develop that highlight highs and lows in your unit designs. This is most easily observed in the development of 'strategies' for ladder games, as Blizzard does not rotate the map pool very often. Actually most competitive circles tend to congregate to specific map styles, so this pattern isn't necessarily Blizzard specific. But otherwise there can be a lot of factors independent of the unit itself that may determine the unit's 'worth', which may be improperly represented by static values. Be careful about adhering to a 'formula' for determining balance, because the formula is only going to work best for one map style. |
| 05-13-2008, 04:00 AM | #9 |
I guarantee there's no closed form solution, so finding the 'perfect' equation is impossible. Consider this: Unit X has a billion range, a billion speed, 1 health, and 1 dps. Unit Y is melee and has 1 speed. No matter how much health or damage you give unit Y, it will still lose to Unit X. |
| 05-13-2008, 04:37 AM | #10 |
Unless you put Y right next to X. :) |
| 05-13-2008, 07:10 AM | #11 |
In this thread someone has explained his approach to an "unit cost formula". |
| 05-13-2008, 03:38 PM | #12 | ||
Quote:
Well yeah, I assumed they didn't start next to each other. I also assumed that Y didn't have any abilities like hide, windwalk, teleport, defend (reflect damage), ... Quote:
The idea that the values relate linearly is wrong (range and speed relate non-linearly to health and damage). The idea that you can take the warcraft 3 units and build a comprehensive model is wrong (they all have upgrades, abilities, and interdependencies that will throw your numbers off). The model will probably give you a 'reasonable' value, but you still need to tweak it by experiment. |
| 05-13-2008, 10:10 PM | #13 |
Getting a be-all end-all formula for calculating balanced unit stats just doesn't work. You can use some simple formulas for preliminary balancing, but nothing as complicated as what you're currently trying to use. After that, it's all up to good judgment and lots of balance testing. I was going to give some examples of cases where your formula fails but I won't because there's just too many of them. You don't take into account the context at all, what role the unit fills in your army, how big an investment is required to get to that unit, what counters do various races have available at different points in the game to this unit, etc. |
| 05-15-2008, 01:55 AM | #14 | |
Quote:
Please, please, please stop using that example. Please. We all know as you said it already (and multiple times already when speaking with myself). :P To the main topic, I think there certainly is a formula (though probably quite difficult to determine). I think my work is probably the best way one could go about balancing (other than playtesting), adding additional situations there to account for other units. I shall give some examples of units that might be created from my formula. These units do not represent WarCraft melee units as I have not accounted for a lot of factors. Any factors not noted should be assumed to be constant. Footman: 100 Range, 10 DPS, 300 Movespeed, 100 HP, 50 Gold Value Rifleman: 400 Range, 10 DPS, 300 Movespeed, 100 HP, 80 Gold Value Knight: 100 Range, 20 DPS, 400 Movespeed, 300 HP, 200 Gold Value The problem of this all is that it is quite hard to determine if they are truly fair as they dont kill each other at the same time. However, I do believe those numbers look quite reasonable, do they not? @paulH I am quite certain your formula is incorrect. Those modifiers at the end seem to throw off the validity of your work considerably. |
| 05-15-2008, 12:03 PM | #15 |
The problem with your formula is that it doesn't give you any more useful information than a much more arbitrary allocation of gold costs would have: all the actual balance has to come from play experience. Your formula cannot even begin to model the particular gameplay requirements of your map, the abilities available, the upgrades available, the manner it is terrained, the different requirements the units have before they can be built etc etc. These later variables could drastically alter the final 'balanced' gold cost of each unit (how much gold does Spell Immunity and Slow Poison add to the 'fair' cost of a dryad...?), which begs the question, why even waste time with the forumla to start with? |
