Not sure where to put this. But I think the HOW-TO section would have been best. But I am not really a fan of this forums format etc. To my taste, cumbersome.
Nor do I want to invest time into explaining something that I simply know of, is very hard to understand. In other words... also cumbersome. But!
It is math. And math I understand.
So, perhaps I should simply explain the steps in a more global term.
Once upon a time...I developed a method for balancing simple wargames. Based on victory chances. And one person on this forum has seen(?) the results for Age of Mythology. Now...I just want to share a bit of my knowledge.
***
You want to try this method?
You can ask me anytime. But...
This method demands several rules:
1. You need a spreadsheet like Excel. Preferably Excel.
2. You need a clear understanding of your own game mechanics.
3. The method was developed for 1 on 1 battles. But if groups can be sized up, you need to include these. So, infantry squads consisting of 1, 2 or 3 or more. All need to be included for their own situation.
4. The result CANNOT be expanded upon. Since the whole balance of a game can change when you add or remove units.
What is an unit?
1 or multiple objects that can do combat.
Having a cumulative effect of multiple objects is hard.
Having a cumulative effect of multiple objects vs multiple objects is near impossible.
***
Step 1: The Combat
Since AoM was with winchances. I wanted to develop a way to determine the "cost" for deterministic combat as well. This also includes multiple hit points. AoM provided a chance for victory on a 1 hp basis.
Either way, random or deterministic. You need to calculate this for every unit vs unit.
And for the randomness, depending on YOUR game mechanics. I advice using the average roll result.
However, if this result depends on other factors like for example a defence roll. You should first calculate the result for each of those. Then choose to calculate an average on that. And put that average in the simulator.
Do this ONE step at a time. And label them.
If you have 2 sides, side A and B, and you have a moment of health. You call this health. Or whatever. Also, label the whole simulator if you are going to end up with multiple ones for 1 situation.
So, first you set up only 1 calculator for determining the outcome between 2 units.
This calculator depends on all the combat mechanics that you have put in your game. This includes initiative, outranging towers, micromanaging, any buff in any form, other natural rps, mechanical rps etc.
It depends on, YOUR game mechanics. I can guide you in setting it up. But I cannot explain it to you without knowing YOUR game mechanics.
But the basics are: You start with setting the stats you need for calculating a victory. This can be health, damage, movement speed, attack range, buffs etc.
Then you calculate step by step what happens in the combat. You include every choice a player could and would make. You calculate the Practical choices. Not the mistakes. Thus you calculate the most optimal path both players will make with a given situation.
This can very hard. So, practise with something simple first.
You can put this in any way you like. And my advice is to have a simple calculator. Start with health and damage first for practise.
The goal?:
You need to get 2 victory weights.
The sum of these 2 victory weights is supposed to be 1.
If you get a tie, either by both sides not able to kill each other. Or both sides are able to kill each other. You are supposed to get 0.5 and 0.5.
When calculating deterministic results. You can end up with the sum being less than 1.
If you have for example 0.6 and 0. Because A lost 40% health and B lost 100% health. You have 0.4 remaining. This 0.4 is equally shared by both sides. You need to end up with 0.8 and 0.2.
If you are confused on how to calculate an impasse or turnbased combat.
The impasse is tackled with setting one or multiple "=IF"'s.
The turnbased combat is determined by initiatives. These too are with an "=IF".
Be carefull, some turnbased combat will end up with one side not being able to return fire. This too, needs to be tackled. Once more, it depends on YOUR game mechanics.
Finally. You might need multiple calculators for several different situations.
For example, I needed:
1, tower vs tower.
2, tower vs tower with one being outranged.
3, 1 and 2 on average, with if 2 isn't valid, it is just 1.
4, one or both objects are an mobile unit.
4a, tower gets outranged.
4b, unit outmicroes other unit.
4c, normal combat, but one side still needs to approach the other side
It looks overwhelming at first. But take 1 step at a time. And create a "simulator" for each situation. Create an "=IF" for each simulator for checking if it is needed. If it is not needed. Multiply the result by 0.
As you can see, 1 and 2 could both happened for MY game mechanics. And thus I decided that if both are optional. I would take the average.
In the end. You add up all the chances. And you should end up with 2 victoryweights that have a sum of 1.
***
So you play out the whole combat in Excel?
Yes...but no.
Obviously. If you need to subtract damage for a hundred time from A. But also from B. You don't do this. You actually have a step that calculates how many hits each side needs. Then you pick the lowest number of hits. And calculate the damage both sides will do in that number of hits.
You subtract this from both sides. And voila. One side is dead (or almost dead). And the other side is still alive and well.
If you are calculating a deterministic combat. You divided the end result of health by the initial health. And you get a number between 0 and 1.
***
Step 2: The Sorting
You feel confident enought that all the simulations work correctly? You tested anomalies too? You tackled all divisions by 0 as well?
Now it is time to sort these.
This step is relatively simple. And it only needs a bit of your time at first.
Copy the tab. Call it sorted or whatever.
And you make a bit of room in the top for a couple of rows.
The first few rows are needed to put in the title's of the steps you made.
Then there is 1 row, reserved for all the numbers.
Each label and number needs to be DRAGGED to their spot.
Excel will remember the calculations and the position of the variable's.
The first columns most likely get the statistics that you needed. Then you put in THE end results. And after that, all the calculations.
So, your 2D sheet in the first tab. Is going to be 1 row of labels and 1 row of numbers and calculations in the second tab.
Once done.
The exciting part happens.
You select the whole row of numbers. And you expand this down to the number of rows of your number of units to the power of 2.
Thus, if you have 25 different units, you will have 625 rows of numbers.
***
Step 3: Tab 3, my copy/paste party
This step consists of multiple parts. And it is one of these parts that make the whole ordeal non-expandable.
The first part is making a table of victories.
Either you have the names ready of the units. Or you have the statistics that are of importance, in the column AND row, for this table.
Then, you either copy/paste the results from the 2nd tab. Or you make a link of each cell to that tab. Either way. I don't see how I can drag down AND to the right in this table.
So, personally, I always copy/past 1 column at a time. Since tab 2 is also based on columns.
With 625 cells, you have 25 columns to copy. Sorry, I don't see any other way. But if you plan to change the second tab. By playing with the statistics. I strongly advice you to make a link instead.
If you wonder, what about the same A vs B and then B vs A?
Thus, A and B have the same stats and outcome. But each combination is mentioned twice in the second tab? That is ok, and intentional. It makes it easier for copy/pasting or linking in the third tab.
Another trick is having a tab between 1 and 2. Where you change the statistics per unit. And then have these linked to the 2nd tab. This is ok, as long as you use both directions.
If done right. In the third tab, you get the middle diagonal providing you with 0.5's along the way.
Now, you add 1 row and 1 column to this table on the top and left. Before any label as well.
The top row will be 1's. These are initial weights.
You can fill in any number, except 0. In the end, you will get the exact same result anyway. (yaaay)
The left column will be the sum of all the weights, multiplied by the 1 at the top row.
So, you get for example:
=C3*C1+D3*D1+E3*E1+F3*F1+G3*G1
If you want to drag down. Yes, this is possible..
Make sure you have C$1, D$1 etc.
You can do this by "replacement" of all the 1 for $1 in that cell.
Drag down the column.
But then, after the drag down. Use replacement again. This time on the entire column And reverse the proces of $1 back into 1.
If done right. You should have a list of suggested weights. This also requires an average weight. And you should end up with an empty 2x2 in the top left of that table. You can put the average weight there.
You are almost done.
Copy this entire table, and paste it beneath it.
You are going to connect the 2. But double check if the new table is making use of the new set of 1's.
If so, you are now going to put in a formula for the new set of 1's. You are going to make a new set of suggested weights in that row. With an average of 1.
From the first table, you select the suggested weight from that first column for the first unit. You divide this by the average weight. You do this for all the other units as well.
When done, you should get a row of numbers, which have an average of 1.
Now, copy this second table. And paste it as a third one. If correct. The row with average of 1, is still average of 1. But all the numbers in this table on the top row and left column AND the average, should have changed.
Keep an eye on that average.
Keep copy/pasting the table. Maybe even a dozen at the same time. And do this until the average seems to have stabalized on the last digit.
***
Results
Finally?
Not yet.
The last table has a stabalized set of numbers.
The top row of that last table has a suggested weight, dancing around the average of 1.
But each unit also has a total counter weight. Meaning, how effective can the units be countered. Higher is worse.
We simply take the sum from within that table of the chances against these units. And multiply the result with the number in the top row.
The left column has suggested weights. But these are still based on a counter weight of 1.
So, you divide these with the counter weights.
And you end up with a weight factor for the total cost for each unit.
***
Final step
You can normalize by picking the cheapest.
And set this to 1...or 2....or 3.... or whatever.
And all the other costs are then multiplied by the normalisation factor.
Cheers, X3M
Feel free to ask questions or guidance. Here or in a PM. I 100% understand that this is waaaay too much to understand in one go. And a 1 on 1 explanation works best for me when I try to explain stuff.
I can explain this stuff best when showing in Discord, how to do it in Excel. Or just send a file if requested. Just remember, it is YOUR game mechanics that determine if this method can be applied. And it is YOUR game mechanics that decide the calculations tab. It simply needs to be able to converge to the victoryweights and you are all set.


Note 1:
This method isn't able to tell you how to get a perfect balance. It is only advice for the given set of units.
Further more, it works best for 1 on 1 battle's. And the true weights for your units are always. ALWAYS on a spectrum.
The most famous one is fodder vs tanks. Where Units worth 1 take on a Tank being X times stronger.
When considering X = 8.
The cumulative or fodder effect is 36.
The squared or tank effect is 64.
You get a factor from this that can be applied to the tank in a costs factor.
It yields 14.22
The squareroot average yields 10.67
The linear average yields 11.11
By "hand", you end up with 10.82
The "hand" squareroot average yields 9.31
The "hand" linear average yields 9.41
And the method as described in the first post of this topic yields 12.48
The squareroot average yields 9.99
The linear average yields 10.24
These squareroot and linear average numbers are close to the averages of the other 2 numbers.
So, what I want to say here is that the matrix method works for me, but it isn't the best method.
After all, by "hand" yields the lower limit.
Pure math yields an upper limit.
The matrix method the average of these 2.
Note 2:
1 on 1 battles with a roll of the dice for a victory, need an adjustment of X^1.5 for the factor.
8 yields 1.56. 1.56^1.5=1.95
This is only to get on the spectrum.
Best used for board games that work with minimal (thus 1 on 1) army compositions.
Group on group battles with deterministic combat, need an adjustment of X^0.5 for the factor.
8 yields 1.56. 1.56^0.5=1.249
This is only in order to get on the spectrum.
Best used for RTS games that work with minimal army compositions.
Note 3:
RTS with numbers directed at infinite army compositions.
8 yields 1.
These notes show
There are still certain factors, depending on the game design and mechanics. That can only be applied outside of the scope. Thus, the matrix calculation is only as advice. And I strongly suggest to apply a simple weight factor and only test the extremes for your game.
Personal note:
It would be interesting to see if the increase of the army composition, shows an increase in the number of square roots on that factor. Or simply makes the power of one root higher.