• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

gnosticdogma

Sergeant
72 Badges
Nov 11, 2005
91
1
  • Europa Universalis IV: Common Sense
  • Semper Fi
  • Sengoku
  • Sword of the Stars
  • Victoria 2
  • Rome: Vae Victis
  • 500k Club
  • Cities: Skylines
  • Crusader Kings II: Holy Knight (pre-order)
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Europa Universalis: Rome
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings III
  • Divine Wind
  • Hearts of Iron II: Armageddon
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Deus Vult
  • Europa Universalis III
  • A Game of Dwarves
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Hearts of Iron III
  • Heir to the Throne
  • Europa Universalis III Complete
  • Magicka
  • Europa Universalis III Complete
  • Europa Universalis IV: Res Publica
I've been playing around with this all day.

Shouldn't it be possible to create an event/decision to replace a province's trade_goods with an custom trade good that has the same name in the localisations file, but allows a different unit type. For example:

Code:
[...\common\tradegoods.txt]

iron_roman_1 = {
   color = { 1.0 0.0 0.0 }
   allow_unit_type = light_infantry #hastati
   allow_unit_type = medium_infantry #principes
   allow_unit_type = heavy_infantry #triarii
}
iron_roman_2 = {
   color = { 1.0 0.0 0.0 }
   allow_unit_type = medium_infantry #miles
}

[...\localisation\txt.csv]

iron_roman1;Iron;Fer;Eisen;;Hierro;Ferro;;;;;;x
iron_roman2;Iron;Fer;Eisen;;Hierro;Ferro;;;;;;x

I've tested changing trade_goods and discovered that it does not interrupt the trade route, so from a player POV it would be seamless. One obvious problem is that a recipient of a trade good would be able to create the same units, regardless of their technology or culture (or whatever you base the unit changes on). But maybe that'd be a good reason for trade protectionism.

Is it possible to create new unit types (e.g. light_infantry, medium_infantry, etc.)? How do you define their cost, speed and time, all of which are found in the defines.txt file for the vanilla units?
 
I think this idea has been raised before, but the main problem is that you'll get situations where a province with Iron A will trade with a province that has Iron B, which will look the same to the player. The province would essentially be trading iron for iron.

One idea I've been mulling over in my mind is to remove trade routes entirely and replace tradegoods with "combat doctrines". There could be two types of doctrine: national doctrines and regional/cultural doctrines. National doctrines refer to the type of troops that the country would normally train, such as Roman Legions for Rome or Macedonian Phalangitai for Macedonia/Seleucids/Ptolemies. Regional/cultural doctrines refer to auxiliaries raised in newly-captured provinces, which would normally be fairly basic troops but in some cases might be better than nationals (eg Gallic or Germanic cavalry vs Roman cavalry). Trade itself could then be consolidated into pretty simple provincial modifiers.

For example, at the start of the game Rome should be able to recruit Roman Legions from Rome (and maybe another province, like Campania or something), so those provinces would get the "Roman" doctrine. All of the other Italic provinces would get the "Italic" doctrine, to represent the Italic auxiliaries that made up a sizable chunk of a typical Roman army (Polybius puts the number of auxiliaries at somewhere between half to two thirds of an overall Roman army before the reforms). If Rome expanded into Gaul, Gallic provinces would have the "Gallic" doctrine so Rome would be able to recruit some basic Gallic troops from there. All of these doctrines could easily be controlled with events.

Over time, you could enact Laws or Decisions to expand its doctrines to the provinces at the cost of overall military organisation and discipline. For example, Rome could extend citizenship to Italic provinces (like it did after the Social Wars) and therefore gain Roman doctrine troops from the whole peninsula rather than just one or two provinces. Similarly, Ptolemaic Egypt could start with just Alexandria being able to train proper phalanxes but then extend this to the rest of Egypt (like just before the Battle of Raphia) to try and gain a greater number of good infantry (though historically this backfired as the native Egyptians started realising that they could, in fact, fight their Macedonian oppressors and win).

On a similar topic, I don't think it's entirely necessary to differentiate between Hastati, Principes and Triarii in a game like this. With the game's mechanics being how they are, they would all essentially form the same purpose on the battlefield so there wouldn't be any need for the player or AI to actually create a historically-balanced army.
 
Good point on trading Iron A for Iron B.

With a cultural doctrine system, what would you do with the trade route mechanics and everything that ties into (i.e. buildings, civilization spread, mercantile party, etc.)?

I agree with you that you don't need to distinguish between the Hastati, Principes and Triarii, I was just using it as an example. However, an idea I did have was to use country modifiers to customize culturally distinct units (I'm sure that is not a new idea). For example, I might give Rome's militia:

Code:
militia_cost = 1.0
militia_defensive = 0.2
militia_offensive = 0.2

And call them alarii to represent the allied auxiliaries, and move the velites into the archers position since they were used primarily for their javelin attack. This would allow all Roman core provinces to provide auxiliaries that would be less bad than vanilla militia.

Of course, it would be easier to do, if I could create a new unit alarii of type militia with the appropriate attack values, so that all I would have to manipulate via country modifiers is the cost. It would be even easier if I could retire the vanilla militia.

And while I'm on the subject, am I to understand that all units of any type have the same basic strength? And that the differences between them are the attack value modifiers found in the unit files, such that if all the values were set to 1.0, all units would be equal (aside from archers fire and cavalry flanking).

If so, does a unit defense modifier then reduce an attackers attack modifier, such that, in the above example, a militia with 0.2 attack and 0.2 defense modifiers vs. heavy infantry would have an attack of 0.9 (0.75 + 20%) and a defense of 1.0 (1.25 - 20%)?