Empire Earth 2 - Auto-Balancer (Part 2)



Basic File Structure

The files in the "AutoBalance" folder are the ones that you see when you open the "AutoBalance" menu in the EE2 Map Editor. Each line of an Autobalance file has the following format:

Name, UnitListA, UnitListB, RunInfo

  • Name is a unique identifier. It must be different then every other entry in the current CSV file.
  • UnitListA is a unitlist.csv file (described below), and specifies the list of "A" units in the battle.
  • UnitListB is a unitlist.csv file and specifies the "B" units in the battle.
  • RunInfo is a runinfo.csv file (described below), and specifies resource costs and epochs to create the battle. Which we will refer to as the runfile.

Starting with the first unit in list A, the first unit in list B, and the first line of the runfile, the autobalancer creates a map with 12 groups of A units and 12 groups of B units. These units are then given a move-attack order to a point between them and the battle begins. Once all units from either A or B are dead, or the timeout value has passed (see RunInfo below), the map unloads, stats are wriiten to the log file, and the autobalanceer begins again, this time with the second line in the runfile.

Once all the lines in the runfile are finished, the autobalancer starts with the second unit in list B. Once the first unit in list A has fought every unit in list B the second unit in list A begins to battle. This process repeats until all units in List A has fought every unit in List B under every condition specified in the runfile. Once all units in B have fought against all units in A the autobalance run ends.

Here is a typical autobalance file:

// NAME,Unit List A,Unit List B,Run Info
// , ,,
Epoch2v3, Land_Epoch2.csv, Land_Epoch3.csv, Run_Epoch2vs3.csv


Unit List Files

The unitlist.csv files must be placed in the "unitlist" directort un the "AutoBalance" directory. Each line of the unitlist files as the following format:

Name, UnitType, ImprovementUpgrade

  • Name is a unique identifier. It must be different then every other entry in the current CSV file.
  • UnitType is an RPS family entry. This is found either in:
    1. The .ddf for the unit under properties (rps = ?????) or
    2. Column B ("UNIT") of upgrade_unittypes.csv in db/techtree
  • ImprovementUpgrade can have one of three values/states:
    • ""
    • "Veteran"
    • "Elite"
    Note that if no upgrade is chosen there must still be two empty quotation marks in the entry.

Here is what a typical unit list file looks like:

// NAME,Unit Types,Improvement Upgrade
// , ,
ut_1, HeavyInfantry2, ""
ut_2, HeavyArtillery, ""
ut_3, HeavyArtillery, "Elite"
ut_4, LightMounted1, ""
ut_5, HeavyMounted1, ""


Run Info

The runinfo.csv file must be place in the "RunInfo" directory in the "AutoBalance" directory. Each line of the runinfo file has the following format:

Name, ResAmtA, CivA, EpochA, FormA, ResAmtB, CivB, EpochB, FormB, Month, Timeout, NumTests, DamageMod, EpochMod

  • Name is a unique identifier. It must be different than every other entry in the current CSV file.
  • ResAmtA is how much to spend to create units for team A, for each group on the battle map (recall for land battles 12 group of units are create). All resources are summeed together and are figured as equilvalent when computing unit costs. The autobalancer will create as many units as possible without going over the total resources specified.
  • CivA is the civilization to use when creating the A units.
  • FormA is the formation to use when going into battle for A units.

Similarly, RestAmtB, CivB, FormB specify setting for team N (team A's opponent) when creating the battle simulations.

  • Month specifies the month of the year when creating the battle map. Typically 0 and unused during testing at Mad Doc.
  • Timeout value is how long (in seconds) to wait until the map unloads, even if all units aren't dead. Typically set to 120 seconds.
  • NumTest is how many of these tests to run. Typically set to 1.
  • DamageMod is a global increase to damage dealt. Typically set to 1 and unused during testing at Mad Doc.
  • EpochMod is a damage multiplier per epoch difference between the teams. Typically set to 1 and unused during testing at Mad Doc.

Here is what a typical runinfo.csv file looks like:

// NAME, Res AMT A,Civ A, Epoch A,Formation A,
Res AMT B,Civ B, Epoch B,Formation B,
Month,Timeout Value, Num Tests,Damage Mod, Epoch Mod

epoch2vs3_a, 500, Greek, 2, Phalanx,
500, Greek, 3, Phalanx,
0, 120, 1, 1 1,

epoch2vs3_b, 1000, Greek, 2, Phalanx,
1000, Greek, 3, Phalanx,
0, 120, 1, 1 1,

epoch2vs3_c, 2000, Greek, 2, Phalanx,
2000, Greek, 3, Phalanx,
0, 120, 1, 1 1,


Next: The Results...
Pages: 1,2,3


WARNING: Do not copy any content or graphics from this website.
Copyright © 2005-2006 HeavenGames LLC. The graphical images and content enclosed with this document are for private use only. All other rights including, but not limited to, use on other websites, distribution, duplication, and publish by any means are retained by HeavenGames LLC. Federal law provides criminal and civil penalties for those found to be in violation.

Empire Earth 2™ is developed by Mad doc® Software, LLC and published by © 2005 Sierra Entertainment, Inc. All rights reserved. Empire Earth, Sierra and the Sierra logo are registered trademarks or trademarks of Sierra Entertainment, Inc. in the U.S. and/or other countries. Vivendi Universal Games and the Vivendi Universal Games logo are trademarks of Vivendi Universal Games, Inc. Mad Doc Software, Mad Doc®, the Mad Doc flask, and the Mad Doc logo are either registered trademarks or trademarks of Mad Doc Software, LLC.

Disclaimer | Privacy Statement
This website is best viewed with a XHTML 1.0/CSS 2.0 compliant browser such as Internet Explorer 5.0, or FireFox 1.0. or higher.