Thunderbrd
C2C War Dog

C2C Combat Mod Introduction
Step I: SubCombat Classes
Introduction and Statement of overall Combat Mod Intent
As some of you know, the first stage of design on the Combat Mod is finally pushed to the SVN now. It's in the process, still, of streamlining, cleaning up, and generally improving. But now that its there, design work can finally start getting under way in the XML.
Furthermore, I'm sure many, if not all of you, are wondering "What's in this thing? What's this all about?".
I know we have a lot of projects in mind here. Some are extremely pressing in priority such as the Nomadic Start option and Multi-Maps, addressing the exterior edges of development from Caveman era to Cosmos era.
So why did I feel combats, promotions and units needed so much immediate attention? Because we have SO many of them! To the extent that we're rapidly beginning to lose the ability to focus units on unique and necessary roles. Yet, history has prompted the development of these units we're representing here, each with their own purpose, focus, abilities and strategic applications.
We have so much additional depth in so many areas here in C2C and I strongly felt that we were, in the process, bypassing adding depth to the heart and soul of Civilization, strategic warfare. At its core, this is the most elaborate war-game ever designed.
When I first played CivIV vanilla, moving over from CivIII, I was struck by the added strategic complexity. I had a hell of a time taking back the first city Montezuma took off my hands and was thoroughly impressed with how the new combat system required so much more thought on how to arrange and build your armies to be effective.
Unfortunately, in C2C, we've come a long ways but haven't really done much to enforce new strategic layers of consideration to be an effective Commander in Chief. We're still relying on most of the basic methods of checks and balances that came with the core - one unit type clearly trumping another, bring enough collateral, specialize your units in your stacks so you can make sure to guard against all the usual threats etc...
I wanted C2C to have more strategic layers - to the point that it takes another complete revamping of your strategic considerations to account for all variables, to test the boundaries of the capacity to really be prepared for anything, even for the best strategy heads.
Civilization has also been a history lesson in the making. I wanted to more effectively represent the evolution of warfare and troop design as it constantly adjusts to overcome the latest tricks to achieve military superiority. We already do this to a degree but there were some elements of weapon and armor and strategy development I felt could use some further detail.
Additionally, I've been listening to a lot of requests, desires, goals, and complaints being thrown about on this forum for a while now and I'm making a whole-hearted attempt to address quite a few of them, as well as answer to a lot of things I'd personally like to see of course.
So now that the first half or so of the combat modifications I'd like to introduce overall are now made possible by the new coding (which has been a project throughout which I've grown a lot as a coder and am seeing a lot of growth still yet to earn...), it has become time to pull aside the curtain on the project and give it the full reveal.
I didn't want to do this all in one lump post either. This is because I only have so much time in one evening to explain things and because I want to leave a thread for further discussion on the particular issues covered that's unfettered by conversation on the other issues.
In otherwords, there's just too much to discuss for the scope of one thread.
SubCombats
Tonight, I'm going to address the heart of what makes a lot of the Combat Mod possible, the SubCombat Class.
On the surface, this seems like such a simple and minor tag, but the manipulations and game crafting abilities its going to open up for us is absolutely tremendous, beyond what I even imagined when I started working on it as a side project just after I begin working on the combat mod.
As you probably realize by now, Units all have a Combat Class definition. These are the categories units are largely sorted by, Melee, Archery, Mounted etc... While vanilla Civ didn't even deign to define every unit with a Combat Class at all, in C2C we've given every unit a Combat Class definition.
Combat Classes are not to be confused with UnitAI settings but do have some relationships between the two.
Largely, Combat Classes govern access to promotions, are handed bonuses on training by buildings in the cities they are trained in, and are subject to combat modifiers from units with promotions that may be particularly set against them (ie Shock line promotions are Anti-'Melee' promotions.)
With SubCombats in play, Units will still require their primary Combat Class definition. But they will also be able to possess multiple additional Combat Classes. This allows us a huge new realm of unit definition that can be amazingly useful. So many times I've seen comments here saying 'we can't do that' where this will unlock our ability to 'do that' with ease.
Modder Info:
Spoiler :
I believe to make this system work to its fullest, we must adopt a liberal approach to Combat Class definitions, rather than trying to keep them to a minimum.
Now, not only do Unit Infos now carry the ability to have an unlimited number of SubCombats per unit, but promotions may grant any number of additional SubCombats.
The tag for Units is expressed as follows:
Code:
<Combat>UNITCOMBAT_ANIMAL</Combat>
<SubCombatTypes>
<SubCombatType>UNITCOMBAT_MELEE</SubCombatType>
</SubCombatTypes>
In the PromotionInfo for a promotion that gives a subcombat to the receiving unit:
Code:
<bLeader>0</bLeader>
<SubCombatChangeTypes>
<SubCombatChangeType>UNITCOMBAT_MELEE</SubCombatChangeType>
</SubCombatChangeTypes>
When a Unit possesses a SubCombat it acts in all ways as if it has that Unit Combat type. There's a few display issues, the Pedia for example, was an area I couldn't sort out how to get to display SubCombats that come stock on units. But for all game effects, SubCombats act exactly like Combat Classes.
Stock SubCombats defined on unit infos will be just as effected by any building that modifies the experience, free promotions, production modifications, etc... on units built there.
Leader traits that interact with combat classes will have the same effect on a SubCombat as they do on a Primary Combat Class. Combat Modifiers against a particular combat class will have the same effect (yes, if you are somehow (which should be rare) both a Melee and an Archery combat class and you're fighting a unit with Anti-Melee and Anti-Archery bonuses, they combine into one cumulative bonus against you.) All modifiers are cumulative if you have multiple combat classes being modified along the same lines.
Now, you might be thinking that the goal here is to mix and match the definitions we have now, as the above example, Melee-Archers, Mounted-Melee etc... This isn't really the point. (Although Mounted-Archery certainly applies well to units like Horse Archers!)
Primarily, the system allows us further definitions to guide promotion access and deepen combat interactions.
Now, Combat Classes can be used to define a lot of other kinds of Unit definitions. Here's a list I wrote up of suggested new Combat Classes for use on units to deepen their layers of game definitions:
Size Categories
Small (Dogs and smaller)
Medium (Human size)
Large (Horse size)
Huge (Elephant size)
Note to Hydro: thanks for prompting me to factor size in - I've got more to say on this below...
Appetite
Predator
Herbivore
Omnivore
Animal Genus
Mammal
Avian
Reptile
Amphibian
Fish
Arthropod
Insect
etc...
Species
Hominid
Feline
Ursine
Canine
Pachyderm
Dromedary
Rodent
Equine
Bovine
Serpent
Lizard
Shelled Reptile
Swarm
Mutated forms of humanity in the future???
Combat Approach
Footman
Operated Construct
Vehicle
Mounted (stock Unit Combat)
Standard Combat Method
our usual suspects:
Melee
Archery
Gunpowder
etc but also:
Throwing
Healer
Automaton
Warship
Interceptor
Submersible
Transport
Deeper Definition
(to aid players in understanding unit roles and further guide promo access)
Civilian
Scoundrel
Law Enforcement
Mercenary
Pirate
City Attack Siege
City Defense Siege
Field Attack Siege
Field Defense Siege
etc...
Special Attack Forms
Fire Wielding
Poison Using
Weapon Categories
(critical for guiding equipment upgrades to be discussed in the next installment)
Club
Spiked Club
Mace
Flail
Small Blades
Throwing Knives
One-Handed Blade
Two-Handed Blade
Dual One-Handed Blades
Blowgun
Light Crossbow
Heavy Crossbow
Repeating Crossbow
Sling
Shortbow
Longbow
Javelins
Throwing Axes
Throwing Rocks
One-Handed Axe
Two-Handed Axe
Short Spear
Long Spear
Advanced Polearm
Staff
Ballista
Flung Boulders
Launched Fireworks
Fist Fighter
Boomerang
Lance
and then on into guns and vehicles and so on...
Armors
(a bit simpler)
Light Natural
Medium Natural
Heavy Natural
Light
Medium
Heavy
Ultra Heavy
Advanced versions of all the above for modern+
Armorless
Shields
Buckler
Small
Large
Tower
Mounts and Animal extra categories
(though not necessary to define on all)
Pack Mule
Pack Llama
Light Horse (the faster ones)
Heavy Horse (the more tank-like ones)
etc...
and there's probably more types I'm not bringing to mind right now that will emerge as necessary to add later.
I'm sure many of you are thinking, "why would we want to create so many new combat classes and overlap units with so many definitions like this?"
There's numerous reasons.
- Guide disease and poison vulnerabilities, resistances, and immunities.
- Additional layers of combat modifiers become incredibly expandable (I actually found the need for SubCombats when trying to establish a tag for animals to get a bonus against all 'Human' units. But this also allows us to really get into finer definitions on counteractive combat values to the nth degree.
- As usual, guide unique promo lines for various subcombat layers - for example, Hydro mentioned Elephants should be able to 'Stomp', which could be a line of promos, available to Pachyderms who have the 'Large' promotion(more on that below) that gives a significant combat bonus against all of Medium and Small size. A Two-Handed Sword equipment could get a bonus against Long Spears (they were good at cutting off polearm tips). There's tons of potential in all of this alone.
- A subcombat earned from a promotion could unlock skill promotion accesses that unit wouldn't normally have, as in the graphic above, Flaming Arrows giving an Archer the Fire Wielding Combat class and thus access to promos that access an ability to develop a new Knockback ability reserved mostly for Fire Wielding units (more on that to come in another release.)
- Guide Equipment access (this is a big key factor here!)
- Establish automatic promotions for those of a given combat class to add game effects to Combat Class definitions previously impossible at any layer of coding.
You can't add tags to the Unit Combat without messing up the game core. So I added a new tag on Promotions, <FreetoUnitCombats>, that allows you to make all units of a given combat class get that promo for free.
Thus, for example, a Large SubCombat class can automatically be given a 'Large' promo that defines the base game effects of being large in the first place.
There's tons of potential here! Law Enforcement units could get a free Law Enforcement I promo. Then, soldier style military units could earn a Military Police promo after something like Combat V, that gives them the Law Enforcement SubCombat class.
This, then in turn, automatically gives them the first Law Enforcement I promo by default! (I still need to add a quick check on this free assignment after any given promotion assignment so it won't work quite like a charm yet but this game mechanic potential is mostly in place now.)
- As soon as a SubCombat is removed, perhaps by an improved Equipment overriding the previous promotion (such as an Archer getting access to more damaging arrows than Flaming Arrows and thus losing Fire Wielding SubCombat), or an upgrade obsoleting a promotion only accessible by a particular combat class that no longer exists on the unit (such as above example Archer upgrading into an Arquebusier, thus losing Flaming Arrows, thus losing Fire Wielding SubCombat), any Promotions that the original SubCombat could have that can no longer be possessed by the unit are removed (as insinuated above.)
If those include skill promotions, such as the Knockback promos earned by having access to Fire Wielding as a Flaming Arrows firing Archer, you will lose those too, but you will have the opportunity to 'retrain' and thus pick new ones from the list of those you can access to take their place (without needing to re-earn the levels that got you those originally.)
In short, if a modifier or game effect would apply to or affect all of the same type of unit of any major bracket, its likely to be most easily assigned to a combat class and perhaps through a free promo linked to that combat class.
On a future design note: I'm planning on adding the ability to define entire promotion line access to subcombats rather than requiring so much individual prereq micromanagement as it does in many ways now.
Now then, I could probably go on but I've come to the end of my immediate thoughts on the subject of SubCombats. In short, its the key that unlocks a whole new dimension to combat strategy design!
Note: since these will now display properly on unit help popups, we should probably find and redefine their Text headers to remove the 'Units' portion that displays there. Otherwise the list will get way too long on a given unit. Easier to show and read (Melee, Hominid, Footsoldier, Two-Handed Axe, Medium Armor) than (Melee Unit, Hominid Unit, Footsoldier Unit, Two-Handed Axe Unit, Medium Armor Unit)! This is simple 'bookwork' for the Combat Mod in XML that wasn't yet critical to getting the dll code developed and still needs to be done. If anyone volunteers to do this, GREAT, otherwise, its simple and I'm happy to get'r dun!
So, feel free to comment and question on this subject. I'm sure I've left a lot of questions remaining and I've only really scratched the surface on the Combat Mod but I'm establishing a basis of understanding for the rest of the divulging to come.
Tomorrow: New Promotion Categories - Equipments and Afflictions (Poisons/Diseases/Critical Injuries)!