How to add races
Moderator: Moderators
- FoeOfTheBee
- Posts: 557
- Joined: 12 May 2005, 18:26
How to add races
This post is not technical, rather related to balance. I'd like to see Xect and Mynn vs. Arm and Core. Below I describe how to balance the units.
1) Make build time, hit points, speed, and attack strength functions of energy and metal cost.
2) Apply these constants to all all units in all races, either starting with metal and energy to get new hp, speed, build time and attack strenght, or starting with other statistics to get new costs while preserving unit capabilities.
Maybe have different constants for air, land, and sea? Anyway, after some practice and tweaking these constants, all units will be balanced both within and between races.
I suspect that the best balance will be achieved with somewhat complex functions. For attack strength I suggest:
K*squareroot (energy*metal) where K is some constant.
For speed, perhaps:
K*energy/metal.
The two examples show how such a system could work. With these two rules, the closer together the energy and metal cost, the more cost-effective the attack strength, but this will also decrease the speed. To get higher speed, you would have to decrease the attack strength by decreasing metal.
These formulas are, of course, only examples. But once good formiulas are determined through trial and error, perfect unit balance will be possible.
1) Make build time, hit points, speed, and attack strength functions of energy and metal cost.
2) Apply these constants to all all units in all races, either starting with metal and energy to get new hp, speed, build time and attack strenght, or starting with other statistics to get new costs while preserving unit capabilities.
Maybe have different constants for air, land, and sea? Anyway, after some practice and tweaking these constants, all units will be balanced both within and between races.
I suspect that the best balance will be achieved with somewhat complex functions. For attack strength I suggest:
K*squareroot (energy*metal) where K is some constant.
For speed, perhaps:
K*energy/metal.
The two examples show how such a system could work. With these two rules, the closer together the energy and metal cost, the more cost-effective the attack strength, but this will also decrease the speed. To get higher speed, you would have to decrease the attack strength by decreasing metal.
These formulas are, of course, only examples. But once good formiulas are determined through trial and error, perfect unit balance will be possible.
Actually, there must be one "almost perfect" formula, but it would be just wayyyyy too complicated. Speed , costs, and hit points are not enough to make a good balance with an equation, you need to ponderate accuracy, unit size, weapon velocity, damage, area of damages, buildtime, radar abilities, range...and so on.
without that equation, the best way to balance races is actual play...
Btw, talking about different races, will it be possible when most races are converted to have a mod in which you could play them all (to have like 6 or 8 different races) ?
without that equation, the best way to balance races is actual play...
Btw, talking about different races, will it be possible when most races are converted to have a mod in which you could play them all (to have like 6 or 8 different races) ?
No, there isn't. Trust me, if people who get PAID to look for patterns like these can't find patterns, then there isn't one. The only way to ever balance a 3D game is to playtest, playtest, playtest, then playtest some more...
And yes, once the multiplayer lobby supports more than two races at a time. Spring doesn't have a max number of installed units or weapons limit like OTA. The only limit one would need to look out for would be the texture limit.
And yes, once the multiplayer lobby supports more than two races at a time. Spring doesn't have a max number of installed units or weapons limit like OTA. The only limit one would need to look out for would be the texture limit.
This formula would still be based on empirical knowledge though: no doubt it will contain constants determined by playing the game, so you still have the same problem.Actually, there must be one "almost perfect" formula, but it would be just wayyyyy too complicated. Speed , costs, and hit points are not enough to make a good balance with an equation, you need to ponderate accuracy, unit size, weapon velocity, damage, area of damages, buildtime, radar abilities, range...and so on.
Yeah we would have to determine the value of everything anyway, so yeah, it would require lots of playing, but once you get a "basic balance", it should be theorically possible to add any new unit following the rules without damaging the balance. But well, that's theory and just playing is more interesting anyway 

- PauloMorfeo
- Posts: 2004
- Joined: 15 Dec 2004, 20:53
Re: How to add races
Haa, the functions. I've been thinking alot about that. Even was near of starting a thread like this myself, once.Foe OfTheBee wrote:... complex functions. ...
It probably won't be possible, in practice, to arrange a formula to make the perfect balance but it makes a very good starting point. For example, a commonly used formula, checking how much Armour a unit has per metal spent. These kinds of formulae are very usefull, if nothing else, as starting points for balancing things.Gnome wrote:The age old "balance formula"... yeah, there is no substitute for actual play testing in game between decent players. We've even had a professional statician look at TA to try to find a formula, and there isn't one. You just have to plug and chug and play until you find what works.
Imagine we trying to balance another race to XTA that as a general Armour/metal of 10~15... Ho, this unit it too cheap lets try it with 5% increases in cost until it works. Then, off to the next one. Then... That can't be workless!
A formula starting point for adjusting, for example, all units of a mod to having around 4~6,5 Armour/metal is a good balancing starting point.
I stand by the usefulness of pursuing a good balancing formula to use as starting point for balancing stuff.
Anyway, Gnome, you don't hapen to have record of formulae or statistics and stuff that you've already tried to produce? (to use as starting points

- FoeOfTheBee
- Posts: 557
- Joined: 12 May 2005, 18:26
I would bet that if we run a regression analysis on XTA treating unit characteristics (attack strenghth, accuracy, speed, armor) as dependent variables, and inputs (metal and energy cost, build time) as independent variables, we will find that XTA already approximates some balance formula.
Any volunteers? Nothing more entertaining than multiple linear regresson!
Any volunteers? Nothing more entertaining than multiple linear regresson!
well, of course it does :)
Else core (or arm) would always win....
But its deterministic chaos. A units that has less HP per metal may be much stronger because of game physics, how do you gauge speed and turnrate/climbrate, for example?
Is a kbot with less HP per metal but higher climbing rate better than a tank? How about footpring: more units per space can be an advantage.... (or a disadvantage, with AOE weapons.
How about ballisitcs? Accuracy while driving bumpy terrain? Efficiency in a multi unit combat (like bombers being uneffective in a joint attack with gunships because they hit already dead units)...
It not being more or less in balance would be very obvious, but exact modelling is not possible...
Else core (or arm) would always win....
But its deterministic chaos. A units that has less HP per metal may be much stronger because of game physics, how do you gauge speed and turnrate/climbrate, for example?
Is a kbot with less HP per metal but higher climbing rate better than a tank? How about footpring: more units per space can be an advantage.... (or a disadvantage, with AOE weapons.
How about ballisitcs? Accuracy while driving bumpy terrain? Efficiency in a multi unit combat (like bombers being uneffective in a joint attack with gunships because they hit already dead units)...
It not being more or less in balance would be very obvious, but exact modelling is not possible...
- Lindir The Green
- Posts: 815
- Joined: 04 May 2005, 15:09
It actually would be possible to find an almost perfect formula:
keep track of every single variable to a unit and map, and then have a program observe every game, and then analyze that data in a, like, 20 dimensional graph, and use fancy graphing software to fit an equation to it.
for it to be perfect you would have to observe an infinite number of games with infinitely good players and keep track of an infinite number of map variables.
you could do it to, say, xta, or Uberhack, and then find units that don't fit the curve and modify them so that they do and test it again.

keep track of every single variable to a unit and map, and then have a program observe every game, and then analyze that data in a, like, 20 dimensional graph, and use fancy graphing software to fit an equation to it.
for it to be perfect you would have to observe an infinite number of games with infinitely good players and keep track of an infinite number of map variables.
you could do it to, say, xta, or Uberhack, and then find units that don't fit the curve and modify them so that they do and test it again.

- FoeOfTheBee
- Posts: 557
- Joined: 12 May 2005, 18:26
The "stupid" Test
Build 5 of all units of both teams (including commanders) (including factories and plants and storage etc) on a plain flat map... order all units in both teams into the "base" of the other units... they will clash in the middle, or possibly get to the other base and destroy it... as long as each force loses at least 80% of their stuff in the process... averaged over repetitions where every unit is placed in a grid where each unit is placed in every possible position (let's say about 1000 reps... have to build a customer, "run really fast simulation mode" build of the software)... you can assume either team has a chance to win... in theory... right?
Build 5 of all units of both teams (including commanders) (including factories and plants and storage etc) on a plain flat map... order all units in both teams into the "base" of the other units... they will clash in the middle, or possibly get to the other base and destroy it... as long as each force loses at least 80% of their stuff in the process... averaged over repetitions where every unit is placed in a grid where each unit is placed in every possible position (let's say about 1000 reps... have to build a customer, "run really fast simulation mode" build of the software)... you can assume either team has a chance to win... in theory... right?
Esay, just make it fire the d-gun automatechly! So it fires laser, and it fires it d-gun!hat is stupid because balance MUST take into account players micromanagement! i mean a com can be killed by a bulldog even if it has the E to dgun if a player simply moves the bulldog out of the com's range and pounds him from a distance, if he retreats advance, if he advances retreat Smile
But i agree, there are many factors to take into mind. For instance, should defence strukture be placed on a good positon or just in a line? Should all units move at the same point or at spread out points (using ctrl).
+the whole massing and stuff. If i got one unit thats very cheap but kinda weak and you got 8 diffrent kinds of units that all are strong... guess whos gonna win?
Esay version!
We take the higest costing building/unit in the game, and use so much metal that you can build one of them(. Now, this the value you build your units for. So if 1 gollie cost this much and is most exspensive in all of spring, i get 1 gollie. But peewees are much cheaper, therefore, i get the amount of peewees that i would have gotten if i spent it on peewees and not a goliath. And contiue to use it on ALL units. so maybe 30 peeweees, 5 bulldogs, 10 merls ect...
hmm, messed up explenation. Well im tired, so you have no right to understand!
I understoop you Kixze... 1 commander, 1 Krogoth, 2 gollies, 100 Brawlers, 500 peewees or whatevr you get for the same resourse cost for ALL units... we would have to have some kind of intelligent placement for buildings... but duplicate this for both teams (lazers then missles then artilary then resourcers then factories then, power-plants.... radar placed so it covers the field...) it wouldn't have to be random, but it would have to be the same for both teams... same for the order in which comparable units are placed...
- PauloMorfeo
- Posts: 2004
- Joined: 15 Dec 2004, 20:53
The quality of each unit can, probably, be quantified by something like this:
AttackingValue + Resistence + Mobility + OtherThings
or
AttackingValue * Resistence * Mobility * OtherThings
or something like that. Defining this well, is more hard than it seems. As well as quantifying the several values as to them beeing consistent between them so one or several of the fractions don't become irrelevant.
To combat units, as well as defences,
1- the ability to deal damage,
2- it's ability to take on damage and survive,
3- it's ability to manuever
are the key factors that define how valuable a unit is.
In 1, the ability to hit air units, how fast the turrets target, etc, all add to it's damaging value. All cost of the weapon firing decrease it's value. Finding the units ability to deal damage would probably require guessing.
In 2, it's pretty easy to calculate. Units in XTA do not have shields nor armour nor anything that would make it complicated, so...
In 3, we would require alot of guessing, probably the hardest one to calculate. But after some testing, i bet we can, not so hardly, calculate a unit's mobility value.
After a unit's value is quantified, it must have a balanced cost. A few premisses (?premissas) must be known/calculated/guessed before that, which are how much less valuable energy is compared to metal and how much less valuable BuildTime is compared to the other 2. After these premisses are known and the unit's value has been quantified, it will be easy to make it a balanced cost.
It is not so stupid to think that a fairly good formula can be created.
AttackingValue + Resistence + Mobility + OtherThings
or
AttackingValue * Resistence * Mobility * OtherThings
or something like that. Defining this well, is more hard than it seems. As well as quantifying the several values as to them beeing consistent between them so one or several of the fractions don't become irrelevant.
To combat units, as well as defences,
1- the ability to deal damage,
2- it's ability to take on damage and survive,
3- it's ability to manuever
are the key factors that define how valuable a unit is.
In 1, the ability to hit air units, how fast the turrets target, etc, all add to it's damaging value. All cost of the weapon firing decrease it's value. Finding the units ability to deal damage would probably require guessing.
In 2, it's pretty easy to calculate. Units in XTA do not have shields nor armour nor anything that would make it complicated, so...
In 3, we would require alot of guessing, probably the hardest one to calculate. But after some testing, i bet we can, not so hardly, calculate a unit's mobility value.
After a unit's value is quantified, it must have a balanced cost. A few premisses (?premissas) must be known/calculated/guessed before that, which are how much less valuable energy is compared to metal and how much less valuable BuildTime is compared to the other 2. After these premisses are known and the unit's value has been quantified, it will be easy to make it a balanced cost.
It is not so stupid to think that a fairly good formula can be created.
You're outright ignoring far too much.
Supporting units.
Unit placement/formation.
Ground conditions.
The enemy units currently being faced, and THEIR supporting units, formation, and ground conditions.
Map conditions (gravity, wind, mobility modifiers, etc)
Aiming proficiency (turret turn speed, accuracy, accuracy while moving, etc)
Projectile speed, cost (such as E for lasers or dguns) and proficiency against different targets
Projectile damage to terrain
And so very much more... Think about it. You're never going to see 200 flashes or whatever against a single krogoth. There are going to be other units than flashes in use by then, and the krogoth damn sure won't be alone. If the krogoth has the high ground, it could probably take on a thousand flashes, but if the flashes are just a distraction for the krogoth to bog it down while two artillery trucks shell the krogoth and destroy the terrain so the krogoth can't move, the artillery could very well win because it could sit there at its leisure and pick off the krog. Then you throw in factors such as spiders that can paralyze the krog or map gravity which directly affects the trajectory of the artillery or any other number of things...
It's just impossible. Instead of trying to find this formula, which doesn't and can't exist, just go play the game constantly and decide what needs tweaked. Yes, there are general guidelines to follow when setting up a balance scheme, but there is never an exact formula.
Supporting units.
Unit placement/formation.
Ground conditions.
The enemy units currently being faced, and THEIR supporting units, formation, and ground conditions.
Map conditions (gravity, wind, mobility modifiers, etc)
Aiming proficiency (turret turn speed, accuracy, accuracy while moving, etc)
Projectile speed, cost (such as E for lasers or dguns) and proficiency against different targets
Projectile damage to terrain
And so very much more... Think about it. You're never going to see 200 flashes or whatever against a single krogoth. There are going to be other units than flashes in use by then, and the krogoth damn sure won't be alone. If the krogoth has the high ground, it could probably take on a thousand flashes, but if the flashes are just a distraction for the krogoth to bog it down while two artillery trucks shell the krogoth and destroy the terrain so the krogoth can't move, the artillery could very well win because it could sit there at its leisure and pick off the krog. Then you throw in factors such as spiders that can paralyze the krog or map gravity which directly affects the trajectory of the artillery or any other number of things...
It's just impossible. Instead of trying to find this formula, which doesn't and can't exist, just go play the game constantly and decide what needs tweaked. Yes, there are general guidelines to follow when setting up a balance scheme, but there is never an exact formula.
- PauloMorfeo
- Posts: 2004
- Joined: 15 Dec 2004, 20:53
Gnome wrote:... Yes, there are general guidelines to follow when setting up a balance scheme, but there is never an exact formula.
And you haven't mentioned anything i haven't thought seriously about it and i still stand by the idea that a good formula to use as a starting point for balancing things can be arranged.PauloMorfeo wrote:...
It probably won't be possible, in practice, to arrange a formula to make the perfect balance but it makes a very good starting point. ...