The TestBot was originally written several years ago as an example
of how to create an AI for MegaMek. As such, it's not
terribly sophisticated, but it can provide a decent fight when
commanding a handful of Introductory Tech units. It does
odd/silly things with some higher tech units. Also, when
commanding more than a half-dozen units, it slows down exponentially
when attempting to determine which unit to move next. You can
get more details about the TestBot in the ai-readme.txt
document.
The Princess Bot was written many years after in an
attempt to create an AI that would process quicker even if it were
slightly dimmer. Princess offers a few advantages over TestBot.
First, Princess is still being maintained, though not by the original
author. Princess is actually faster at determining which unit
to move next, however, she is slower at moving fast units (VTOLs &
Hovercraft especially). She is able to operate AeroSpace units
on the ground map, which TestBot cannot, but it takes a long time for
her to crunch the numbers and she still can't handle anything
on the space maps. Also, she's not very competent with
Infantry, which she seriously undervalues. One of the biggest
advantages of Princess, however, is that her behavior can be modified
in a number of ways, which you'll see throughout this
document.
|
|
The Princess Bot has a number of settings to play
with.
You can also enter a name to save your own configurations for later games or for use with the replacePlayer command. Verbosity - Used to set the level of logging Princess will use. DEBUG mode is very verbose. It is recommended you only use it when trying to debug something specific. Forced Withdrawal - Used to make the Princess follow the Forced Withdrawal rules outlined in Total Warfare. Immediate Withdrawal - Used to make Princess send her units to her home edge from the start of the game, regardless of damage level. This can be handy for Chase and Breakthrough scenarios. Auto Flee Board - (Only available when Immediate Withdrawal is in effect.) If this is checked, Princess will issue the Flee command as soon as her units reach her home edge, regardless of damage level. Home Edge - Defines which edge Princess will attempt to flee across when Forced Withdrawal is in effect. Aggression - This determines how much Princess wants to close with her enemies. Lower settings will cause her to try to keep her distance more, while higher settings will have her get right up in her enemies' faces. Bravery - This determines how much return fire Princess is willing to risk in order to do damage to the enemy. Herding - The higher this value, the more Princess will try to keep her units together. Piloting Caution - This determines how willing Princess is to fail a piloting roll and fall on her face when attempting various maneuvers. Higher settings means that Princess will risk fewer piloting rolls. Note, this also affects how willing she is to use MASC or try to move through or on buildings. Self Preservation - This determines how quickly Princess will flee once Forced Withdrawal takes effect. At lower levels, she will attempt more of a fighting withdrawal, while at higher levels she should run straight for her home edge. Strategic Targets - This allows you to provide Princess with a list of hex coordinates or unit ids to move to and attack. If a building exists in a target hex, then she will attempt to destroy that building. If a unit with the given id is on the enemy team, she will give that target a higher priority. |
Chat commands can only be given to an allied Princess player (on the same team).
Flee
princessName: flee
Causes
princess-controlled units to start fleeing the board, regardless of
damage level or Forced Withdrawal setting.
Verbose
princessName: verbose :
<error/warning/info/debug>
Sets princess's verbosity
level.
Behavior
princessName: behavior :
behaviorName
Change's
princess's behavior to the named behavior.
Caution
princessName:
caution : <+/->
Modifies
princess's Piloting Caution setting. Each '+' increases it by 1 and
each '-' decreases it by one.
Avoid
princessName:
avoid : <+/->
Modifies
princess's Self Preservation setting. Each '+' increases it by 1 and
each '-' decreases it by one.
Aggression
princessName:
aggression : <+/->
Modifies
princess's Aggression setting. Each '+' increases it by 1 and each
'-' decreases it by one.
Herding
princessName:
herd : <+/->
Modifies
princess's Herding setting. Each '+' increases it by 1 and each '-'
decreases it by one.
Bravery
princessName:
brave : <+/->
Modifies
princess's Bravery setting. Each '+' increases it by 1 and each '-'
decreases it by one.
Target
princessName:
target : hexNumber
Adds
the specified hex to princess's list of Strategic Targets.
Prioritize
princessName:
prioritize : unitId
Adds the specified unit to princess's Priority
Targets list.
If a player has become disconnected (the word "(ghost)" appears next to their name, you can replace that player with a bot. To use Princess as the replacement, issue the following command in the chat window:
/replacePlayer -b:Princess <-c:ConfigName> <-v:VerbosityLevel> <-p:>PlayerName
Princess will replace the named player.
<-b> Specifies
the use of Princess. If left out, TestBot will be used instead.
<-c>
Specifies a saved configuration to be used by Princess. If left out
DEFAULT will be used.
<-v> Specifies the verbosity level
used to log Princess (DEBUG/INFO/WARNING/ERROR). If left out, ERROR
will be used.
<-p> Specifies the player to be replaced. The
"-p:" is only required with the "-c:" or
"-v:" parameters are also used.
The following are the optional rules that should be safe to use when playing against Princess. Anything not on this list will either cause Princess to behave on nonsensical ways (always Sprinting or Leaping) or can cause crashes/lockups (mech/vehicle lance movement). So, it is not recommended you use any rules not on this list when using Princess.
If there is an optional rule you would like Princess to support,
file a Feature
Request:
https://sourceforge.net/p/megamek/feature-requests/?source=navbar
Basic
Skip ineligible during firing
Skip ineligible during physical
Teams roll initiative
The various Autosave options
Exclusive Double-Blind Deployment Zones
Deep Deployment Zones
Restrict Sensitive Commands to Non-Observers
CF for Bridges
all RNG Types
RNG Log
Smoke Drift
Year The Game Takes Place In
Use Random Basements
Victory Conditions
Any will work, but Princess isn't really aware of them. This means that she'll use the same strategy no matter the VC.
Allowed Units and Equipment
She'll try to use most anything. However, don't expect her to do well with ammo created after the FedCom Civil War or units like LAMS or Superheavy Mechs.
There is no support for using Princess in space or high altitude battles. Ground battles only.
Advanced Rules
TacOps Battlefield Wreckage
TacOps Skin of Teeth Ejection
TacOps Fatigue
TacOps PSR Fumbles
TacOps Vehicle Crews
StratOps Quirks
StratOps Partial Repairs
Woods have a chance to burn down
No igniting clear hexes
Extreme temperature survival
Armed MechWarriors
Limited Mechwarrior Visibility
Alternate "Better" MASC
Alternate "Better" MASC - Enhanced
Compute BV by Geometric Mean
Alternate Pilot Skill BV Mod
Advanced Combat
Through-armor criticals will 'float'
TacOps Advanced Determining Critical Hits
TacOps engine explosions
TacOps Starting Fires (though Pincess won't intentionally start a fire)
TacOps Extreme Range Rules
TacOps Dead Zone Rule
TacOps Diagramming Line of Sight Rules
TacOps Altered Energy Weapons Damage
TacOps Cluster Hit Penalties
TacOps Glancing Blows
TacOps Direct Blow
TacOps Partial Cover
TacOps BA Critical hits
TacOps Ammunition
TacOps Vehicle Effectiveness
TacOps Vehicle Firing Arcs
TacOps Advanced 'Mech Hit Locations
No through-armor criticals
Increased AC Damage
Increased IS ER Large Laser Range
Advanced Ground Movement
TacOps Standing Still
TacOps defensive physical PSR weight modifier
TacOps attack physical PSR weight modifier
TacOps taking damage
TacOps Leg Damage Rule
TacOps Attempting to Stand
TacOps Careful Stand
Vehicles not immobilized by crits
Vehicles can be abandoned
Ejected Pilots Flee
Auto Abandon Unit
Falling ends movement
Jumping into heavy woods PSR
No Movement penalty for night/fog
Advanced Aerospace Rules (Princess only works on ground maps)
Allow aerospace units on ground maps
Allow return flyovers
Initiative Rules
Simultaneous deployment phase
Simultaneous targeting phase
Simultaneous firing phase
Simultaneous physical phase
Front load initiative
Initiative streak compensation
RPG Related
Pilot Special Abilities (passive abilities are the only thing Princess will 'use')
Edge
Domini Options (passive abilities are the only thing Princess will 'use')
Individual Initiative
Commander Initiative
Toughness Bonus
Conditional Autoejection
Maximum Heat from External Heat Sources
CASE/CASEII reduces pilot damage on ammo explosion