View Single Post
  #6  
Old January 8th, 2006, 08:12 PM
Saber Cherry's Avatar

Saber Cherry Saber Cherry is offline
Major General
 
Join Date: Oct 2003
Location: Crystal Tokyo
Posts: 2,453
Thanks: 0
Thanked 0 Times in 0 Posts
Saber Cherry is on a distinguished road
Default Highly Parameterized AI

Ok, so code-modding is out, but as for "a way to influence the AI through mod settings that are easy to fiddle around with"... how about parameterizing the AI, and making all the parameters moddable?

For example, a mod file might look like this:

Code:

Abysia_Recruit_Mage_Priority==80
Abysia_Recruit_Heavy_Infantry_Priority==150
Abysia_Recruit_Assassin_Priority==40
Abysia_Build_Temple_Priority==160
Abysia_Build_Fort_Priority==220

Mictlan_Recruit_Mage_Priority==130
Mictlan_Recruit_Heavy_Infantry_Priority==20
Mictlan_Recruit_Light_Infantry_Priority==100
Mictlan_Recruit_Sacred_Priority==250
Mictlan_Blood_Hunt_Priority==1000
Mictlan_Blood_Sacrifice_Priority==400
Mictlan_Build_Temple_Priority==40
Mictlan_Build_Fort_Priority==50




The values could range from 0 (never) to 1000, with the default of 100 meaning "the usual amount". They would modify AI behaviors, such that setting "Mictlan_Recruit_Sacred_Priority==250" would make the AI try to recruit 2.5 times as many sacred units as normal. Or, at least, it would increase the number of sacreds in the unit mix. "Mictlan_Recruit_Heavy_Cavalry_Priority==0" would make them never recruit heavy cavs, even if they conquered an indy province that had them.


Things I feel might benefit from parameters. Note that each of these should be moddable per-nation! And note that the numbers generally modify behavioral probabilities, rather than setting a fixed order in which the activities occur; if research_priority is greater than blood_hunt_priority, both activities would still occur at the same time, but more mages would (generally) be devoted to research.


1) Mage Orders (only for stationary mages)
Search
Research
Blood Hunt
Summon
Craft Artifact
Cast Spells


2) Army Orders (only for stationary armies)
Defend
Patrol
Siege
Break Siege


3) Priest Orders (only for stationary priests)
Search
Preach
Sacrifice
Reanimate


4) Strategic: Research
(one per magic school)


5) Strategic: Buildings
Fort
Temple
Lab


6) Nation Design
Combat Chassis (probability a combat chassis is selected...)
Bless Chassis
Rainbow Chassis
Dominion Strength (priority of spending points here)
Order, Growth, etc. (one per scale)
(one per magic path)


7) Recruitment Priority

This is a little different. First, all Dominions II units need a "role" or "type" (that is displayed in the unit description). This could be auto-generated based on simple rules regarding their stats and equipment. They should be changable through modding, though. Then the recruitment priorities can be set for each type (for each nation).

Types:

Scout
Spy
Assassin
Commander
Priest
Mage

Militia
Skirmisher (light infantry w/ javelin)
Medium Infantry
Heavy Infantry

Horse Archer
Light Cavalry
Heavy Cavalry

Slinger
Archer
Crossbow

Melee Monster (anything with lots of HP, like Jotuns, Hydras, elephants)
Ranged Monster (Illithids, Jotun Hurlers)


Properties: these are parameterized independantly of unit types.

National
Indy
Flyer
Amphibian
Aquatic
Magical
Trampler
Sacred


8) Tactical Spellcasting
Summon
Mass Damage
Single Damage
Mass Support
Single Support
Self Support
Gemcosting Spells
Additional Gem Usage



That's a bit confusing, so here is an example of a complete null-mod for Abysia's strategic AI, that does nothing:

Code:


** Mage Orders **

Abysia_Mage_Search_Priority=100
Abysia_Mage_Research_Priority=100
Abysia_Mage_Blood_Hunt_Priority=100
Abysia_Mage_Summon_Priority=100
Abysia_Mage_Craft_Artifact_Priority=100
Abysia_Mage_Cast_Spells_Priority=100



** Army Orders **

Abysia_Army_Defend_Priority=100
Abysia_Army_Patrol_Priority=100
Abysia_Army_Siege_Priority=100
Abysia_Army_Break_Siege_Priority=100



** Priest Orders **

Abysia_Priest_Search_Priority=100
Abysia_Priest_Preach_Priority=100
Abysia_Priest_Reanimate_Priority=100
Abysia_Priest_Sacrifice_Priority=100



** Research **

Abysia_Research_Construction_Priority=100
.....
Abysia_Research_Thaumaturgy_Priority=100



** Buildings **

Abysia_Build_Fort_Priority=100
Abysia_Build_Temple_Priority=100
Abysia_Build_Lab_Priority=100



** Nation Design **

Abysia_God_Chassis_Quality_Priority=100
Abysia_God_Combat_Chassis_Priority=100
Abysia_God_Bless_Chassis_Priority=100
Abysia_God_Rainbow_Chassis_Priority=100

Abysia_God_Dominion_Strength_Priority=100
Abysia_God_Fortress_Quality_Priority=100
Abysia_God_Increasing_Magic_Paths_Priority=100

Abysia_God_Nature_Magic_Priority=100
.....
Abysia_God_Fire_Magic_Priority=100

Abysia_God_Growth_Scale_Priority=100
.....
Abysia_God_Luck_Scale_Priority=100



** Recruitment **

** Properties **
Abysia_Recruit_National_Priority=100
Abysia_Recruit_Indy_Priority=100
Abysia_Recruit_Flyer_Priority=100
Abysia_Recruit_Amphibian_Priority=100
Abysia_Recruit_Aquatic_Priority=100
Abysia_Recruit_Magical_Priority=100
Abysia_Recruit_Trampler_Priority=100
Abysia_Recruit_Sacred_Priority=100
Abysia_Recruit_Undead_Priority=100

** Types (Commander) ***
Abysia_Recruit_Scout_Priority=100
Abysia_Recruit_Spy_Priority=100
Abysia_Recruit_Assassin_Priority=100
Abysia_Recruit_Commander_Priority=100
Abysia_Recruit_Priest_Priority=100
Abysia_Recruit_Mage_Priority=100

** Types (Infantry) ***
Abysia_Recruit_Militia_Priority=100
Abysia_Recruit_Skirmisher_Priority=100
Abysia_Recruit_Medium_Infantry_Priority=100
Abysia_Recruit_Heavy_Infantry_Priority=100

** Types (Mounted) ***
Abysia_Recruit_Horse_Archer_Priority=100
Abysia_Recruit_Light_Cavalry_Priority=100
Abysia_Recruit_Heavy_Cavalry_Priority=100

** Types (Ranged) ***
Abysia_Recruit_Slinger_Priority=100
Abysia_Recruit_Archer_Priority=100
Abysia_Recruit_Crossbow_Priority=100

** Types (Large) ***
Abysia_Recruit_Melee_Monster_Priority=100
Abysia_Recruit_Ranged_Monster_Priority=100



** Tactical Spellcasting **

Abysia_Tactical_Summon_Spell_Priority=100
Abysia_Tactical_Mass_Damage_Spell_Priority=100
Abysia_Tactical_Single_Damage_Spell_Priority=100
Abysia_Tactical_Mass_Support_Spell_Priority=100
Abysia_Tactical_Single_Support_Spell_Priority=100
Abysia_Tactical_Self_Support_Spell_Priority=100
Abysia_Tactical_Gemcosting_Spell_Priority=100
Abysia_Tactical_Use_Additional_Gems_Priority=100

__________________
Cherry
Reply With Quote