May 29, 2017
Crusader Kings II - BjornB


Greetings!

Today I’d like to talk to you about a part of the game that we’ve chosen to overhaul and improve - the Tributary system! Introduced in Horse Lords, the ‘Make Tributary’ CB allowed you to go to war with a neighboring realm to make them pay you 40% of their income until the death of your current character. It was quite a simple system that didn’t always fit the intended purpose very well, so we decided to make it more advanced and capable of diverse use!

Tributaries can now come in a lot of flavors, as they are entirely definable in a new ‘tributary_types’ file. You define a name and then you set the parameters for how you would like the Tributary to work. You are able to customize a lot of things, for example; the various tribute percentages, if the Tributary should be set free on death or if the Suzerain must defend the Tributary in wars.

With this new system we have lots of ideas on where we could add new types of Tributaries, i.e. Permanent Tributaries or Nomad Tributaries. If you have any ideas for a type of Tributary (and when it would make sense to have it/when to gain access to the CB) feel free to post a suggestion in this thread!

To demonstrate, here’s the script for an example Tributary type:

example = { # name used for that type of tributary. "default" is the standard type, replacing the old tributaries, and "none" is reserved and should not be used tributary_name = TRIBUTARY_DEFAULT_NAME # localization string used for tributaries of that type (ie "Tributary" for the default type, "Permanent Tributary" for the Permanent type, etc) tributary_plural = TRIBUTARY_DEFAULT_PLURAL # localization string used for tributaries of that type, when there is more than one (ie "Tributaries" for the default type, "Permanent Tributaries" for the Permanent type, etc) suzerain_name = SUZERAIN_DEFAULT_NAME # localization string used for suzerains of that tributary type (ie "Suzerain" for the default type, "Permanent Suzerain" for the Permanent type, etc) tribute_name = TRIBUTARY_DEFAULT_TRIBUTE # localization string used for "paying $TRIBUTE$" for that tributary type breaks_at_suzerain_death = yes # yes/no value determining if the tributary relationship is dissolved when the suzerain dies. breaks_at_tributary_death = no # yes/no value determining if the tributary relationship is dissolved when the tributary dies suzerain_must_defend = no # yes/no value determining if the suzerain is forced to accept calls to arms from tributary in defensive wars (wars were the tributary is the defender) # if they decline anyway, they will lose the tributary and an amount of prestige defined in defines.lua, called SUZERAIN_DEFENDER_CALL_DECLINE_COST tributary_can_be_summoned = yes # yes/no value determining if the suzerain can calls the tributaries to war (as tribal vassals / allies) tributary_must_defend = yes # yes/no value determining if the tributaries are forced to accept defensive calls to arms tributaries_can_infight = yes # yes/no value determining if the tributaries can fight against each others, if both tributaries are of the same type # if tributaries are of different types, they will always be allowed to fight each other, even if they have the same suzerain suzerain_can_join_infighting = yes # yes/no value determining if the suzerain can join a tributary in a war against another tributaries_can_unite = no # yes/no value determining if, when trying to break, the tributaries can band together against the suzerain, à la major revolt breaks_on_realm_change=yes # yes/no value determining if the tributary relationship is dissolved when the tributary's titles change realms cbs_against_suzerain = { # list of CBs tributaries can use against their suzerain free_tributary_cb } income_tribute_percentage = { # how much of their monthly income the tributary must pay to their suzerain. # THIS IS ONLY EVALUATED WHEN THE TRIBUTARY RELATIONSHIP IS FORMED # and is not reevaluated afterwards # this value is an MTTH and should compute a value between 0 and 1, inclusive # in case the total is less than 0, it will be counted as 0 # in case the total is more than 1, it will be counted as 1 # current scope is the tributary, FROM is the suzerain value = 0.10 additive_modifier = { value = 0.05 FROM = { is_merchant_republic = yes } } } reinforce_tribute_percentage = { # How much of the tributary's reinforcement rate will go to the suzerain's instead. # THIS IS ONLY EVALUATED WHEN THE TRIBUTARY RELATIONSHIP IS FORMED # and is not reevaluated afterwards # this value is an MTTH and should compute a value between 0 and 1, inclusive # in case the total is less than 0, it will be counted as 0 # in case the total is more than 1, it will be counted as 1 # current scope is the tributary, FROM is the suzerain # this is applied by subtracting the percentage, as is, from the tributary's reinforcement rate # and adding a scaled (based on demesne size= version of the percentage to the suzerain # So, for example, the tributary loses 10% of reinforcement rate, but the suzerain gains 10% * (tributary's demesne size) / (suzerain's demesne size) value = 0.10 additive_modifier = { value = 0.05 FROM = { is_merchant_republic = yes } } } prestige_to_suzerain = { # how much of prestige the suzerain gains every month per tributary (of that type) he holds # this value is an MTTH and the raw value will be added to the suzerain's prestige every month. # current scope is the suzerain, FROM is the tributary value = 0 } prestige_to_tributary = { # how much prestige the tributary gains every month # this value is an MTTH and the raw value will be added to the tributary's prestige every month. # to make them lose prestige, return a negative value # current scope is the tributary, FROM is the suzerain value = 0 } piety_to_suzerain = { # how much of piety the suzerain gains every month per tributary (of that type) he holds # this value is an MTTH and the raw value will be added to the suzerain's piety every month. # current scope is the suzerain, FROM is the tributary value = 0 } piety_to_tributary = { # how much of piety a tributary gains every month # this value is an MTTH and the raw value will be added to the tributary's piety every month. # to make them lose piety, return a negative value # current scope is the tributary, FROM is the suzerain value = 0 } }

I’d also like to expand upon something we touched upon in the last DD; the new ‘unjust conquest’ CB (now renamed to Border Dispute). When declaring a Border Dispute over a County you first and foremost have to pay an upfront cost of Piety and Gold scaled to your tier (in the case of Pagans, prestige is used), but you also take an opinion hit from both your religious head (if you have one) as well as any landed characters of the targeted religious group in both your realm and the one you’re attacking. Note that these opinion modifiers stack! This makes the border Dispute CB dangerous to use on characters of your own religion, especially if you have a religious head capable of excommunicating you. You will primarily want to use this CB to expand early on when drawing the ire of your co-religionists is worth the risk, or against characters not of your religion.


Example is of an Irish Count wanting to conquer another Irish Count.


Note that Muslims, Nomads and in certain cases Pagans do not have access to this CB, as their current CB’s are already superior. It is also possible to turn the CB off entirely by using Game Rules.


Note that we’ve also decided to leave Fabricate Claim as it is right now.

//rageair

Read the original post


Useful links
Official Website
Crusader Kings II Wiki
Crusader Kings II Development Diary Archive
May 29, 2017
Crusader Kings II - BjornB


Greetings!

Today I’d like to talk to you about a part of the game that we’ve chosen to overhaul and improve - the Tributary system! Introduced in Horse Lords, the ‘Make Tributary’ CB allowed you to go to war with a neighboring realm to make them pay you 40% of their income until the death of your current character. It was quite a simple system that didn’t always fit the intended purpose very well, so we decided to make it more advanced and capable of diverse use!

Tributaries can now come in a lot of flavors, as they are entirely definable in a new ‘tributary_types’ file. You define a name and then you set the parameters for how you would like the Tributary to work. You are able to customize a lot of things, for example; the various tribute percentages, if the Tributary should be set free on death or if the Suzerain must defend the Tributary in wars.

With this new system we have lots of ideas on where we could add new types of Tributaries, i.e. Permanent Tributaries or Nomad Tributaries. If you have any ideas for a type of Tributary (and when it would make sense to have it/when to gain access to the CB) feel free to post a suggestion in this thread!

To demonstrate, here’s the script for an example Tributary type:

example = { # name used for that type of tributary. "default" is the standard type, replacing the old tributaries, and "none" is reserved and should not be used tributary_name = TRIBUTARY_DEFAULT_NAME # localization string used for tributaries of that type (ie "Tributary" for the default type, "Permanent Tributary" for the Permanent type, etc) tributary_plural = TRIBUTARY_DEFAULT_PLURAL # localization string used for tributaries of that type, when there is more than one (ie "Tributaries" for the default type, "Permanent Tributaries" for the Permanent type, etc) suzerain_name = SUZERAIN_DEFAULT_NAME # localization string used for suzerains of that tributary type (ie "Suzerain" for the default type, "Permanent Suzerain" for the Permanent type, etc) tribute_name = TRIBUTARY_DEFAULT_TRIBUTE # localization string used for "paying $TRIBUTE$" for that tributary type breaks_at_suzerain_death = yes # yes/no value determining if the tributary relationship is dissolved when the suzerain dies. breaks_at_tributary_death = no # yes/no value determining if the tributary relationship is dissolved when the tributary dies suzerain_must_defend = no # yes/no value determining if the suzerain is forced to accept calls to arms from tributary in defensive wars (wars were the tributary is the defender) # if they decline anyway, they will lose the tributary and an amount of prestige defined in defines.lua, called SUZERAIN_DEFENDER_CALL_DECLINE_COST tributary_can_be_summoned = yes # yes/no value determining if the suzerain can calls the tributaries to war (as tribal vassals / allies) tributary_must_defend = yes # yes/no value determining if the tributaries are forced to accept defensive calls to arms tributaries_can_infight = yes # yes/no value determining if the tributaries can fight against each others, if both tributaries are of the same type # if tributaries are of different types, they will always be allowed to fight each other, even if they have the same suzerain suzerain_can_join_infighting = yes # yes/no value determining if the suzerain can join a tributary in a war against another tributaries_can_unite = no # yes/no value determining if, when trying to break, the tributaries can band together against the suzerain, à la major revolt breaks_on_realm_change=yes # yes/no value determining if the tributary relationship is dissolved when the tributary's titles change realms cbs_against_suzerain = { # list of CBs tributaries can use against their suzerain free_tributary_cb } income_tribute_percentage = { # how much of their monthly income the tributary must pay to their suzerain. # THIS IS ONLY EVALUATED WHEN THE TRIBUTARY RELATIONSHIP IS FORMED # and is not reevaluated afterwards # this value is an MTTH and should compute a value between 0 and 1, inclusive # in case the total is less than 0, it will be counted as 0 # in case the total is more than 1, it will be counted as 1 # current scope is the tributary, FROM is the suzerain value = 0.10 additive_modifier = { value = 0.05 FROM = { is_merchant_republic = yes } } } reinforce_tribute_percentage = { # How much of the tributary's reinforcement rate will go to the suzerain's instead. # THIS IS ONLY EVALUATED WHEN THE TRIBUTARY RELATIONSHIP IS FORMED # and is not reevaluated afterwards # this value is an MTTH and should compute a value between 0 and 1, inclusive # in case the total is less than 0, it will be counted as 0 # in case the total is more than 1, it will be counted as 1 # current scope is the tributary, FROM is the suzerain # this is applied by subtracting the percentage, as is, from the tributary's reinforcement rate # and adding a scaled (based on demesne size= version of the percentage to the suzerain # So, for example, the tributary loses 10% of reinforcement rate, but the suzerain gains 10% * (tributary's demesne size) / (suzerain's demesne size) value = 0.10 additive_modifier = { value = 0.05 FROM = { is_merchant_republic = yes } } } prestige_to_suzerain = { # how much of prestige the suzerain gains every month per tributary (of that type) he holds # this value is an MTTH and the raw value will be added to the suzerain's prestige every month. # current scope is the suzerain, FROM is the tributary value = 0 } prestige_to_tributary = { # how much prestige the tributary gains every month # this value is an MTTH and the raw value will be added to the tributary's prestige every month. # to make them lose prestige, return a negative value # current scope is the tributary, FROM is the suzerain value = 0 } piety_to_suzerain = { # how much of piety the suzerain gains every month per tributary (of that type) he holds # this value is an MTTH and the raw value will be added to the suzerain's piety every month. # current scope is the suzerain, FROM is the tributary value = 0 } piety_to_tributary = { # how much of piety a tributary gains every month # this value is an MTTH and the raw value will be added to the tributary's piety every month. # to make them lose piety, return a negative value # current scope is the tributary, FROM is the suzerain value = 0 } }

I’d also like to expand upon something we touched upon in the last DD; the new ‘unjust conquest’ CB (now renamed to Border Dispute). When declaring a Border Dispute over a County you first and foremost have to pay an upfront cost of Piety and Gold scaled to your tier (in the case of Pagans, prestige is used), but you also take an opinion hit from both your religious head (if you have one) as well as any landed characters of the targeted religious group in both your realm and the one you’re attacking. Note that these opinion modifiers stack! This makes the border Dispute CB dangerous to use on characters of your own religion, especially if you have a religious head capable of excommunicating you. You will primarily want to use this CB to expand early on when drawing the ire of your co-religionists is worth the risk, or against characters not of your religion.


Example is of an Irish Count wanting to conquer another Irish Count.


Note that Muslims, Nomads and in certain cases Pagans do not have access to this CB, as their current CB’s are already superior. It is also possible to turn the CB off entirely by using Game Rules.


Note that we’ve also decided to leave Fabricate Claim as it is right now.

//rageair

Read the original post


Useful links
Official Website
Crusader Kings II Wiki
Crusader Kings II Development Diary Archive
May 22, 2017
Crusader Kings II - BjornB

Greetings all!

One of the great things about meeting our dear players - you folks - in real life (such as at PDXCON) is getting to hear such a lot of constructive, persuasive suggestions for improvements. For example, two things that were brought up last week were how annoying the “Fabricate Claim” job is, and the fact that Siege Assaults are rather overpowered when you have the numbers to just blitz down even heavily fortified Holdings. So, we decided to experiment with some changes…

First off, we’re going to deemphasize the “Fabricate Claim” job by giving all playable entities (including Christians) a form of “Unjustified War” Casus Belli that will allow you to seize a single County for an upfront cost of Piety, Prestige or Gold (depending on your Religion and Government Form.) Ideally, I’d also like to replace the “Fabricate Claim” job with something else (maybe something to do with foreign embassies and arranging marriages, or something to do with Laws. Suggestions are welcome!) However, we might decide leave it there as it is (it does still have some uses.)

Next, we’re adding a Game Rule for Siege Assaults. The options are “Unlimited”, which works like before, “On”, which disables Assaults against Holdings at Fort Level 6 or above, and “Off”, which disables Assaults entirely. We’re currently playing around with these changes, so the exact rules for the “On” setting might change. On a related note, the time it takes to siege down Holdings is also being tweaked, to make it quicker overall but also making the Fort Level matter more.



When we sat down and talked about the above tweaks, we also decided to (rather dramatically) increase the “Ticking Warscore” rate for the attackers in wars. This necessitated splitting some defines (CONTESTED_TITLE_OCCUPIED_WARSCORE_BONUS, etc) into defender and attacker versions.

We are still evaluating how well these changes turned out. It’s likely we’ll tweak some numbers (or even backtrack on something.) So far though, it appears quite promising, positively altering the “rhythm” of warfare!



That’s all for now, stay tuned for the CK2 livestream, starting at 16:00 CET today. Until next time!

Read the original post


Useful links
Official Website
Crusader Kings II Wiki
Crusader Kings II Development Diary Archive
May 22, 2017
Crusader Kings II - BjornB

Greetings all!

One of the great things about meeting our dear players - you folks - in real life (such as at PDXCON) is getting to hear such a lot of constructive, persuasive suggestions for improvements. For example, two things that were brought up last week were how annoying the “Fabricate Claim” job is, and the fact that Siege Assaults are rather overpowered when you have the numbers to just blitz down even heavily fortified Holdings. So, we decided to experiment with some changes…

First off, we’re going to deemphasize the “Fabricate Claim” job by giving all playable entities (including Christians) a form of “Unjustified War” Casus Belli that will allow you to seize a single County for an upfront cost of Piety, Prestige or Gold (depending on your Religion and Government Form.) Ideally, I’d also like to replace the “Fabricate Claim” job with something else (maybe something to do with foreign embassies and arranging marriages, or something to do with Laws. Suggestions are welcome!) However, we might decide leave it there as it is (it does still have some uses.)

Next, we’re adding a Game Rule for Siege Assaults. The options are “Unlimited”, which works like before, “On”, which disables Assaults against Holdings at Fort Level 6 or above, and “Off”, which disables Assaults entirely. We’re currently playing around with these changes, so the exact rules for the “On” setting might change. On a related note, the time it takes to siege down Holdings is also being tweaked, to make it quicker overall but also making the Fort Level matter more.



When we sat down and talked about the above tweaks, we also decided to (rather dramatically) increase the “Ticking Warscore” rate for the attackers in wars. This necessitated splitting some defines (CONTESTED_TITLE_OCCUPIED_WARSCORE_BONUS, etc) into defender and attacker versions.

We are still evaluating how well these changes turned out. It’s likely we’ll tweak some numbers (or even backtrack on something.) So far though, it appears quite promising, positively altering the “rhythm” of warfare!



That’s all for now, stay tuned for the CK2 livestream, starting at 16:00 CET today. Until next time!

Read the original post


Useful links
Official Website
Crusader Kings II Wiki
Crusader Kings II Development Diary Archive
May 15, 2017
Crusader Kings II - BjornB


Hi folks!

PDXCON 2017 is over and it was fantastic to meet so many of you! I got a lot of interesting suggestions and feedback on our games, including, of course, CK2. So, a special thank you goes out to those of you who were there!

Now then, let’s talk a bit about those ugly gray areas on the map; the wastelands. Aesthetically, I’ve never liked the gray color of wasteland provinces in the non-Terrain map modes, so I took some time to change it so that wasteland is now always shown as Terrain, regardless of map mode (we might add options for this in the settings. Let me know what you think!)

Northern Siberia and the Sahara deserve to be wasteland; it’s difficult to do anything more about that (we’ve already twisted and manipulated the map projection, etc.) However, the Himalayas and the vast Tibetan plateau are a different story… Though mountainous, the region contains many important population centers and religious sites and has a rich history of interaction with China, India and Central Asia. In essence, the only reason it’s a “wasteland” in CK2 is that we haven’t prioritized doing it justice.


Tibet, 1066. Note that any green Coat of Arms are placeholders.


I’ve never been happy with the way the eastern edge of the map feels like the edge of the world when, in fact, it should be a dynamic hub connecting at least four major civilizations (China, India, the Steppe Nomads and the Islamic world.) Well, the time to do something about that is now! In our working build, we have added the necessary provinces, new cultures (Bodpa, Tangut and Nepalese), new religions (Bön and Khurmazta), and title history for the entire region.


The Himalayan mountains, 867.

The Bön religion is a pagan faith which functionally has many similarities with the Romuvan and Buddhist religions: It is very hard to convert, has access to Gavelkind, and unlike other pagan faiths it can not be reformed (though this might change in the future.) Instead, it starts off with the ability to designate heirs, just like Buddhists. It has also got a Patron Deity system like that of the Hindus and the “defensive” Pagans.


Purang, one of the Bön religion's Holy Sites.


In addition, we are looking over the great Muslim conquerors (Sabuktigin, Seljuq and Timur) to make sure they usually rise, toning down the Indian Holy Orders and making them creatable (rather than existing from the start.) We also plan to add or expand on adventurers for more generic conquests into and out of the subcontinent especially.

There is more, but that would be revealing too much too soon. :) Stay tuned for the next dev diary, and, as always, remember to check out the CK2 livestreams later today, starting at 16:00 CET!

Read the original post


Useful links
Official Website
Crusader Kings II Wiki
Crusader Kings II Development Diary Archive
May 15, 2017
Crusader Kings II - BjornB


Hi folks!

PDXCON 2017 is over and it was fantastic to meet so many of you! I got a lot of interesting suggestions and feedback on our games, including, of course, CK2. So, a special thank you goes out to those of you who were there!

Now then, let’s talk a bit about those ugly gray areas on the map; the wastelands. Aesthetically, I’ve never liked the gray color of wasteland provinces in the non-Terrain map modes, so I took some time to change it so that wasteland is now always shown as Terrain, regardless of map mode (we might add options for this in the settings. Let me know what you think!)

Northern Siberia and the Sahara deserve to be wasteland; it’s difficult to do anything more about that (we’ve already twisted and manipulated the map projection, etc.) However, the Himalayas and the vast Tibetan plateau are a different story… Though mountainous, the region contains many important population centers and religious sites and has a rich history of interaction with China, India and Central Asia. In essence, the only reason it’s a “wasteland” in CK2 is that we haven’t prioritized doing it justice.


Tibet, 1066. Note that any green Coat of Arms are placeholders.


I’ve never been happy with the way the eastern edge of the map feels like the edge of the world when, in fact, it should be a dynamic hub connecting at least four major civilizations (China, India, the Steppe Nomads and the Islamic world.) Well, the time to do something about that is now! In our working build, we have added the necessary provinces, new cultures (Bodpa, Tangut and Nepalese), new religions (Bön and Khurmazta), and title history for the entire region.


The Himalayan mountains, 867.

The Bön religion is a pagan faith which functionally has many similarities with the Romuvan and Buddhist religions: It is very hard to convert, has access to Gavelkind, and unlike other pagan faiths it can not be reformed (though this might change in the future.) Instead, it starts off with the ability to designate heirs, just like Buddhists. It has also got a Patron Deity system like that of the Hindus and the “defensive” Pagans.


Purang, one of the Bön religion's Holy Sites.


In addition, we are looking over the great Muslim conquerors (Sabuktigin, Seljuq and Timur) to make sure they usually rise, toning down the Indian Holy Orders and making them creatable (rather than existing from the start.) We also plan to add or expand on adventurers for more generic conquests into and out of the subcontinent especially.

There is more, but that would be revealing too much too soon. :) Stay tuned for the next dev diary, and, as always, remember to check out the CK2 livestreams later today, starting at 16:00 CET!

Read the original post


Useful links
Official Website
Crusader Kings II Wiki
Crusader Kings II Development Diary Archive
May 8, 2017
Crusader Kings II - BjornB


Greetings!

The weather is slowly recovering from the chaotic mixture of snow/rain/hail/sun that has plagued the Swedish April and work is starting on the next, yet undisclosed, expansion! The next expansion is going to have a specific theme which most features will be focused around (we can unfortunately not go into any detail in this DD), though we also want to add some features that can be of use regardless of who or where you choose to play. One of these is planned to be a ‘Casus Belli Expansion’, where we want to add new and oft-requested CBs to the game. The Focus is going to be on CBs that enhance the early and late game (as well as a few more roleplay-focused CBs). While this is by no means a final list, it’s what we’ve made so far:


Forced Vassalization
This is a CB that can be used against neighboring realms to force them to become your vassal. To avoid making it too powerful it’s quite heavily limited, only realms that are of a lower tier, under 30 realm size and where the ruler is of either your culture group or religion are valid targets. It also has a direct cost (prestige). For example; this can allow England to, with time, extend ‘protection’ to the smaller Welsh and Irish realms.


De Jure Duchy Claim
This CB was added to try to avoid situations where massive realms would fight over one single county, essentially destroying their armies for near no gain. Players often think these types of wars aren’t worth fighting, and do not usually declare them themselves - instead they turn to Holy Wars or invite duchy claimants to expand in a more meaningful way. This CB provides interesting opportunity for conquest at the point where you form your first Kingdom or Empire. Any vassals present in conquered lands are preserved, and this CB also comes with a prestige cost.


Ducal County Conquest
At the very start of a game you might be stuck waiting for fabricated claims a very, very long time if you’re unlucky. This CB is available to Count and Duke tier characters, and allows you to go to war over any County that are part of a Duchy you hold land in, as long as the Duchy has no holder. The CB has a cost of prestige and gold, making it similar to a fabricated claim (as that’s essentially what it is). As an example, this gives count-tier characters in Ireland and the HRE an alternate way to claim a Duke-tier title, presuming that you can save up enough prestige and money.


Great Conquest
Unless you are playing as a Muslim, Nomad or Tribal-cultured ruler (who have access to invasions) you have no real way to expand in a meaningful way when you are playing as the ruler of a very large realm. While we still want expansion to be difficult, we also want to give players more static opportunities to expand. This CB is available to very powerful realms (at least 200 realm size) and can be used to claim an entire Kingdom from another character. Though the catch is that you have to fight someone that is as strong or stronger than you are, and using the CB itself costs a massive amount of prestige and piety.


Free Hostages
A long-requested CB, this allows you to go to war against a character in order to free any kidnapped concubines or wives, and release certain characters from prison (i.e. friends and dynastants). Rescued characters will, most often, be moved back to your court. It will also take hostages in turn, imprisoning a random close member of the target’s family!

It’s currently not possible to attack anyone who holds a close dynastic member in their prison (i.e. your child), is this something you’d like to see changed specifically for use with this CB? Otherwise it'll be of use primarily for freeing concubines (something that has been requested for a long time!).


Note that these CBs are by no means finished, and are currently being tested internally. Feel free to comment and feedback on them though, and also feel free to tell us what CBs you would like to see added!

Read the original post


Useful links
Official Website
Crusader Kings II Wiki
Crusader Kings II Development Diary Archive
May 8, 2017
Crusader Kings II - BjornB


Greetings!

The weather is slowly recovering from the chaotic mixture of snow/rain/hail/sun that has plagued the Swedish April and work is starting on the next, yet undisclosed, expansion! The next expansion is going to have a specific theme which most features will be focused around (we can unfortunately not go into any detail in this DD), though we also want to add some features that can be of use regardless of who or where you choose to play. One of these is planned to be a ‘Casus Belli Expansion’, where we want to add new and oft-requested CBs to the game. The Focus is going to be on CBs that enhance the early and late game (as well as a few more roleplay-focused CBs). While this is by no means a final list, it’s what we’ve made so far:


Forced Vassalization
This is a CB that can be used against neighboring realms to force them to become your vassal. To avoid making it too powerful it’s quite heavily limited, only realms that are of a lower tier, under 30 realm size and where the ruler is of either your culture group or religion are valid targets. It also has a direct cost (prestige). For example; this can allow England to, with time, extend ‘protection’ to the smaller Welsh and Irish realms.


De Jure Duchy Claim
This CB was added to try to avoid situations where massive realms would fight over one single county, essentially destroying their armies for near no gain. Players often think these types of wars aren’t worth fighting, and do not usually declare them themselves - instead they turn to Holy Wars or invite duchy claimants to expand in a more meaningful way. This CB provides interesting opportunity for conquest at the point where you form your first Kingdom or Empire. Any vassals present in conquered lands are preserved, and this CB also comes with a prestige cost.


Ducal County Conquest
At the very start of a game you might be stuck waiting for fabricated claims a very, very long time if you’re unlucky. This CB is available to Count and Duke tier characters, and allows you to go to war over any County that are part of a Duchy you hold land in, as long as the Duchy has no holder. The CB has a cost of prestige and gold, making it similar to a fabricated claim (as that’s essentially what it is). As an example, this gives count-tier characters in Ireland and the HRE an alternate way to claim a Duke-tier title, presuming that you can save up enough prestige and money.


Great Conquest
Unless you are playing as a Muslim, Nomad or Tribal-cultured ruler (who have access to invasions) you have no real way to expand in a meaningful way when you are playing as the ruler of a very large realm. While we still want expansion to be difficult, we also want to give players more static opportunities to expand. This CB is available to very powerful realms (at least 200 realm size) and can be used to claim an entire Kingdom from another character. Though the catch is that you have to fight someone that is as strong or stronger than you are, and using the CB itself costs a massive amount of prestige and piety.


Free Hostages
A long-requested CB, this allows you to go to war against a character in order to free any kidnapped concubines or wives, and release certain characters from prison (i.e. friends and dynastants). Rescued characters will, most often, be moved back to your court. It will also take hostages in turn, imprisoning a random close member of the target’s family!

It’s currently not possible to attack anyone who holds a close dynastic member in their prison (i.e. your child), is this something you’d like to see changed specifically for use with this CB? Otherwise it'll be of use primarily for freeing concubines (something that has been requested for a long time!).


Note that these CBs are by no means finished, and are currently being tested internally. Feel free to comment and feedback on them though, and also feel free to tell us what CBs you would like to see added!

Read the original post


Useful links
Official Website
Crusader Kings II Wiki
Crusader Kings II Development Diary Archive
Apr 24, 2017
Crusader Kings II - BjornB


Good evening, everyone. I’m Magne “Meneth” Skjæran, one of the programmers on CK2. In the past I’ve written dev diaries about modding, optimization, and quality of life improvements, and I'm writing this somewhat belated (due to technical issues) dev diary.

Today, I return to the topic of modding, and how we work to make life easier for modders. As a former modder, this is a topic I care quite a lot about.

If you’re anything like me, what you really want is statistics. How many people use mods, and which mods are the most popular. Luckily I come armed with exactly that.

As you might know, whenever you play CK2, the game collects some pieces of information about your setup. Things like what version of the game you’re playing, if you’re playing single player or multiplayer, what mods you’re using, and similar. This is all aggregated so that we can see overall trends and consider what areas might need some extra attention.

For mods, the main thing the telemetry provides is how many people use mods overall, and what mods these people use. My data will all be from users who played yesterday; anyone who during yesterday started the game with one or more mods is counted exactly once as a “mod user”, and counted once for each mod they used.

All told, 42% of everyone who played the game yesterday was using at least one mod. This could be anything from a small UI tweak, to a total conversion mod.
On average, anyone using a mod was using 4.24 mods. Once you start using mods, most people are not content with just one.
Further, here’s the 20 most popular mods, and how many percent of mod users (not overall users; multiply by 42% to get that number) that use them:
  • A Game of Thrones - 45.4%
  • Ruler Designer Unlocked - 30.2%
  • Your Personal Castle - 24.9%
  • Sketchy Cheat Menu - 18.1%
  • CK2 Russian Localisation - 13.7%
  • Historical Immersion Project - 11.3%
  • A Sensible New Family - 10.7%
  • CK2Plus - 10.6%
  • Bigger Interface - 9.0%
  • Purchase Claims - 8.8%
  • Patrum Scuta - 8.6%
  • Unique Buildings - 8.4%
  • Novus Graphicus - 8.3%
  • A Revolutionary Borders Mod - 8.0%
  • Shattered World - 7.5%
  • Korean SingleByte Patch - 7.2%
  • CK2Plus - India - 7.1%
  • Damascus Steel + Ancient Swords - 6.5%
  • Better Looking Garbs - 6.3%
  • Abdication - 6.2%
Combined, these 20 mods represent 60% of all mod usage. Since people who use mods on average use more than just one, it also adds up to more than 100% of mod users.

That AGoT comes first is unlikely to be a surprise to anyone; it has long been the most popular CK2 mod. Fun fact: AGoT is so popular, that its most popular start date is the 4th most popular overall startdate, after 769, 1066, and 867.

What is more interesting is that in the top 5 mods, two are “cheat” mods. Since they can’t be used in multiplayer unless everyone has them enabled, the idea of “cheating” doesn’t make all that much sense of course, and should instead be seen as achieving more of a sandbox experience than what the vanilla game provides.

Beyond that, there’s two localisation mods in the top 20; one for Russian language and one for Korean. The sheer amount of work that goes into translating an entire game is impressive, and it is great to see the modders’ work recognized to such an extent. Localisation modding is actually something we recently improved; in the 2.7 patch we moved custom localisation out of the “common” folder and into the “localisation” folder, meaning that it is now possible to use the custom localisation system without changing the checksum. This is especially important for languages with more complex grammar than English, such as the gender rules in French. The official French translation has for a while made use of custom localisation to change a number of words based on whether they’re referring to men or women, but doing similar in a mod would mean changing the checksum, making it impossible for the mod’s users to obtain achievements and play multiplayer with people not using the mod. This is something I know the Russian localisation mod has had problems with, and is a change I hope will lead to even better localisation mods.

There’s also a number of graphics and interface mods, plus several other mods that change the graphics or UI as a part of a larger package (E.G., the optional revamped interface in the Historical Immersion Project). People have done a lot of interesting things with the UI, but I know from experience it can often be somewhat tedious work. In the hopes of making it a bit less tedious, we’re making a console command that’s before only worked in the debug version of the game (which is not publicly available) available to everyone in a future patch (not 2.7.1). This console command is simply called “guibounds”, and what it does is that whenever you hover over a UI element, the area it covers is highlighted, and the name of the element, its size, and the file and line it is defined on is shown. This functionality is actually available in the release version of the game right now in a somewhat obscure fashion: if you try to open the console while on the main menu, it’ll be enabled. However, once you get into the campaign there’s no way to actually disable it since the console command isn’t available.
Below is an image showing what the guibounds functionality does:


There’s also a few large mods beyond AGoT in the top 20. CK2Plus even manages to take two spots on the list by including a mod that toggles the existence of India, while being pretty much tied with the Historical Immersion Project; some days HIP leads, other days CK2+ does.
The rest of the mods are smaller, adding small pieces of focused functionality.
Both types of mods we’re always trying to help by making the game more moddable. One changelog entry I think a lot of modders will find useful is this, which will be included in 2.8:
- Most effects and triggers that take a number can now take a variable name instead, and will grab the variable from the current scope. E.G., "wealth = test_variable"
This should allow mods to do far more interesting things with variables than is currently possible.

As a final note, modding is something we on the CK2 team take very seriously. Mods have the ability to add a lot of interesting alternative ways to play the game, and therefore helps keep the game fresh even for veteran users. In general, improvements to moddability also opens up new possibilities for our content designers, or can save them time by making their work simpler.
We’re therefore constantly considering how we can ensure new additions to the game are moddable, and we often go back and tweak existing functionality to open it further to modding.
We would love to hear your thoughts on what we could do better in this regard.

Read the original post


Useful links
Official Website
Crusader Kings II Wiki
Crusader Kings II Development Diary Archive
Apr 24, 2017
Crusader Kings II - BjornB


Good evening, everyone. I’m Magne “Meneth” Skjæran, one of the programmers on CK2. In the past I’ve written dev diaries about modding, optimization, and quality of life improvements, and I'm writing this somewhat belated (due to technical issues) dev diary.

Today, I return to the topic of modding, and how we work to make life easier for modders. As a former modder, this is a topic I care quite a lot about.

If you’re anything like me, what you really want is statistics. How many people use mods, and which mods are the most popular. Luckily I come armed with exactly that.

As you might know, whenever you play CK2, the game collects some pieces of information about your setup. Things like what version of the game you’re playing, if you’re playing single player or multiplayer, what mods you’re using, and similar. This is all aggregated so that we can see overall trends and consider what areas might need some extra attention.

For mods, the main thing the telemetry provides is how many people use mods overall, and what mods these people use. My data will all be from users who played yesterday; anyone who during yesterday started the game with one or more mods is counted exactly once as a “mod user”, and counted once for each mod they used.

All told, 42% of everyone who played the game yesterday was using at least one mod. This could be anything from a small UI tweak, to a total conversion mod.
On average, anyone using a mod was using 4.24 mods. Once you start using mods, most people are not content with just one.
Further, here’s the 20 most popular mods, and how many percent of mod users (not overall users; multiply by 42% to get that number) that use them:
  • A Game of Thrones - 45.4%
  • Ruler Designer Unlocked - 30.2%
  • Your Personal Castle - 24.9%
  • Sketchy Cheat Menu - 18.1%
  • CK2 Russian Localisation - 13.7%
  • Historical Immersion Project - 11.3%
  • A Sensible New Family - 10.7%
  • CK2Plus - 10.6%
  • Bigger Interface - 9.0%
  • Purchase Claims - 8.8%
  • Patrum Scuta - 8.6%
  • Unique Buildings - 8.4%
  • Novus Graphicus - 8.3%
  • A Revolutionary Borders Mod - 8.0%
  • Shattered World - 7.5%
  • Korean SingleByte Patch - 7.2%
  • CK2Plus - India - 7.1%
  • Damascus Steel + Ancient Swords - 6.5%
  • Better Looking Garbs - 6.3%
  • Abdication - 6.2%
Combined, these 20 mods represent 60% of all mod usage. Since people who use mods on average use more than just one, it also adds up to more than 100% of mod users.

That AGoT comes first is unlikely to be a surprise to anyone; it has long been the most popular CK2 mod. Fun fact: AGoT is so popular, that its most popular start date is the 4th most popular overall startdate, after 769, 1066, and 867.

What is more interesting is that in the top 5 mods, two are “cheat” mods. Since they can’t be used in multiplayer unless everyone has them enabled, the idea of “cheating” doesn’t make all that much sense of course, and should instead be seen as achieving more of a sandbox experience than what the vanilla game provides.

Beyond that, there’s two localisation mods in the top 20; one for Russian language and one for Korean. The sheer amount of work that goes into translating an entire game is impressive, and it is great to see the modders’ work recognized to such an extent. Localisation modding is actually something we recently improved; in the 2.7 patch we moved custom localisation out of the “common” folder and into the “localisation” folder, meaning that it is now possible to use the custom localisation system without changing the checksum. This is especially important for languages with more complex grammar than English, such as the gender rules in French. The official French translation has for a while made use of custom localisation to change a number of words based on whether they’re referring to men or women, but doing similar in a mod would mean changing the checksum, making it impossible for the mod’s users to obtain achievements and play multiplayer with people not using the mod. This is something I know the Russian localisation mod has had problems with, and is a change I hope will lead to even better localisation mods.

There’s also a number of graphics and interface mods, plus several other mods that change the graphics or UI as a part of a larger package (E.G., the optional revamped interface in the Historical Immersion Project). People have done a lot of interesting things with the UI, but I know from experience it can often be somewhat tedious work. In the hopes of making it a bit less tedious, we’re making a console command that’s before only worked in the debug version of the game (which is not publicly available) available to everyone in a future patch (not 2.7.1). This console command is simply called “guibounds”, and what it does is that whenever you hover over a UI element, the area it covers is highlighted, and the name of the element, its size, and the file and line it is defined on is shown. This functionality is actually available in the release version of the game right now in a somewhat obscure fashion: if you try to open the console while on the main menu, it’ll be enabled. However, once you get into the campaign there’s no way to actually disable it since the console command isn’t available.
Below is an image showing what the guibounds functionality does:


There’s also a few large mods beyond AGoT in the top 20. CK2Plus even manages to take two spots on the list by including a mod that toggles the existence of India, while being pretty much tied with the Historical Immersion Project; some days HIP leads, other days CK2+ does.
The rest of the mods are smaller, adding small pieces of focused functionality.
Both types of mods we’re always trying to help by making the game more moddable. One changelog entry I think a lot of modders will find useful is this, which will be included in 2.8:
- Most effects and triggers that take a number can now take a variable name instead, and will grab the variable from the current scope. E.G., "wealth = test_variable"
This should allow mods to do far more interesting things with variables than is currently possible.

As a final note, modding is something we on the CK2 team take very seriously. Mods have the ability to add a lot of interesting alternative ways to play the game, and therefore helps keep the game fresh even for veteran users. In general, improvements to moddability also opens up new possibilities for our content designers, or can save them time by making their work simpler.
We’re therefore constantly considering how we can ensure new additions to the game are moddable, and we often go back and tweak existing functionality to open it further to modding.
We would love to hear your thoughts on what we could do better in this regard.

Read the original post


Useful links
Official Website
Crusader Kings II Wiki
Crusader Kings II Development Diary Archive
...

Search news
Archive
2024
May   Apr   Mar   Feb   Jan  
Archives By Year
2024   2023   2022   2021   2020  
2019   2018   2017   2016   2015  
2014   2013   2012   2011   2010  
2009   2008   2007   2006   2005  
2004   2003   2002