• 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.

CK3 Dev Diary #33 - An Offer You Can’t Refuse

Hello everyone and welcome to the 33rd CK3 Dev Diary!

I’m Matthew, one of the Programmers on the CK3 team, and today I am going to talk to you about the overhaul we’ve done to Feudal Contracts since Dev Diary 17.

A quick refresher on what Contracts are: every vassal above baron tier has an individual contract between them and their liege which affects how much the vassal gives to the liege in terms of tax and levies in exchange for the liege’s protection. In the case of Feudal vassals, this contract can be renegotiated.

We were not fully content with the initial implementation of this setup as it did not help facilitate the drama and storytelling of the deals made between a vassal and their liege and the disagreements that could arise from that. This was a view shared among the community as well which reinforced our desire to give this feature another look, so a couple of our designers and I gave it an overhaul.

The Contract
You may have seen screenshots or videos of this system in some of the media released from our press events but I’m gonna take you through the new system step by step, so without further ado here is the new interface you’ll see when you interact with a vassal’s feudal contract.

ContractView.png

[Feudal contract negotiation screen]

As you can see there are a lot more options now to tailor the contract.

Going from top to bottom you can see that we have split the base tax and levy obligations into two separate tracks each now with five options. These are the core base of how much taxes and levies are given to the liege, the lower they are the more your vassal will like you, of course, and the higher they are the less content they will be.
When negotiating a new deal you can only move to adjacent levels of the tax and levy obligations.

Below that we have what we call the “Fine Print” options. These fine options are unlocked via various innovations and provide various modifications to the contract.
The first row being the Special Contract options of Scutage, March, and Palatinate which are available for vassals that are Dukes or Kings.

Scutage.png

[Effects of scutage]

March.png

[Effects of march]

Palatinate.png

[Effects of palatinate]

At the bottom we have the rest of the Fine Print options available, these are things like guaranteeing your vassal a spot on the council or granting them coinage rights. Some options are only shown if the vassal meets specific conditions, for example if the vassal is of a different faith to the liege. In such a case the “Religious Protection” gives them special rights to practice their faith without risk of the liege demanding their conversion or converting the faith of their provinces.

The Negotiation
When negotiating the contract a max of three changes may be made. We experimented with different values and this felt like it wasn’t too limiting whilst also letting you too wildly change your contract in one go.

With the new obligations that can be changed and enacted this allows you to negotiate a more interesting deal. For example, you as the liege may want to increase the amount of taxes your vassal gives you, but just doing that alone will be viewed as unfair by the vassal and increase your tyranny.

NegotiationTyranny.png

[a contract proposal giving tyranny]

So if you don’t want to take that tyranny hit then you need to look at what changes you can propose that the vassal will want, so in exchange for these increased taxes you could guarantee your vassal a spot on the council meaning you can now enact this deal without being viewed as a tyrant.

NegotiationFair.png

[a contract proposal with a fair trade]

Alternatively, if you have a hook on your vassal then you can use that hook to count as one free change in favour of the vassal, so you can use your hook and get those higher taxes without having to give any other concessions and not be viewed as a tyrant. Blackmailing people is surprisingly effective.

NegotiationHook.png

[a contract proposal using a hook to avoid tyranny]

It is worth mentioning that even if you propose a “fair” trade that does not give you tyranny this does not mean that the vassal will be perfectly content. There is an opinion change tied to each obligation and what status it is in, vassals will tend to dislike paying more and like paying less, and this opinion modifier will be present in the vassal’s view of their liege.

The vassal themselves can of course also negotiate the contract, they have the added restriction that they must offer their liege an even trade. So they cannot ask to pay lower taxes without using either a hook or agreeing to give the liege something they would want, be that giving more levies, agreeing to stay with only partition succession, or giving up a benefit they have previously been given such as that guaranteed council spot.

Some vassals start with contracts different to the default, in the Holy Roman Empire all vassals start with low taxes and levies to represent the internal state and the lower amount of control the Emperor was exerting over their vassals at the time.

We really wanted the interface to make this feel like an actual paper contract being signed between the liege and the vassal, thankfully we had this beautiful parchment background and wax seal shader lying around that helped spice it up.

Modding Contracts
All of these different obligations, their effects, how the AI uses them, and how they are shown in the UI is controlled in the script files so you can mod in or change existing obligations to your heart’s content.

Code:
religious_rights = {
    display_mode = checkbox

    is_shown = {

        NOT = {

            scope:vassal.faith = scope:liege.faith

        }

    }

    obligation_levels = {

        religious_rights_none = {

            default = yes

            

            ai_liege_desire = @ai_standard_liege_desire

            ai_vassal_desire = 0

        }

        religious_rights_protected = {

            is_valid = {

                NOT = {

                    scope:vassal.faith = scope:liege.faith

                }

            }

            parent = religious_rights_none

            

            vassal_opinion = 5

            

            vassal_modifier = {

                county_opinion_add = 5

            }

            

            flag = religiously_protected

            

            ai_liege_desire = 0

            ai_vassal_desire = 10

        }

    }
}
Here we have the script database entry for the religious protection obligation type, it demonstrates the various options and should be fairly self explanatory in its naming of the options.

I hope you’ve all enjoyed this dev diary and are excited for the new Feudal Contracts and the more options and interactions they can provide between vassals and lieges!

We look forward to seeing you next week, in the meanwhile if you want to chat more then I highly recommend joining our CK Discord Server as well!

Pets of the Dev Team
On the Crusader Kings 3 team we are of course very big fans of animals and pets of all kinds. So I thought to cap off this dev diary, and give you all some much needed cuteness overload during these difficult times in the world, I'd collect a bunch of pictures of all our wonderful pets, fluffy or otherwise!

Pet17.JPG

Pet1.png
Pet2.png
Pet3.png
Pet4.png
Pet5.png
Pet6.png
Pet7.png
Pet8.png
Pet9.png
Pet10.png
Pet11.png
Pet12.png
Pet13.png
Pet14.png
Pet15.png

Pet16.JPG
 
  • 169Love
  • 104Like
  • 29
  • 12
  • 2
Reactions:
I'm one of the people who wasn't really that impressed by the original Contract system; it seemed way too similar to the Laws system from CKII. This, however, looks much more fleshed-out and distinct. Impressive and exciting.
 
  • 4
Reactions:
Looks great, sounds easier to manage than CK2's model where we had to get the vassals to vote for realm-wide changes and the pets are awesome ♥
 

Attachments

  • WhatsApp Image 2017-11-18 at 14.58.33.jpeg
    WhatsApp Image 2017-11-18 at 14.58.33.jpeg
    96,9 KB · Views: 0
  • 1
  • 1Love
Reactions:
A noble Hooker instead a hook ;)

I love the Idea.
Ah yes, being able to set up a right for a royal marriage agreement would be cool
 
  • 1Like
  • 1
Reactions:
If one of my vassals rebels against me, will i be able to force changes in their feudal contract as a punishment for their war without incurring tyranny?.
I guess defeating a rebelling vassals gives you a hook on them
 
  • 1Like
Reactions:
Wouldn't it make more sense to have feudal contracts tied to titles rather than people? This would offer much greater technical flexibility, simply because people can occupy many titles, but titles are never held by more than one person at a time.

For instance, then the King of England could have a contract with the King of France as Duke of Aquitaine without having to jury-rig some special mechanics to make this happen.
I'd disagree it offers more technical flexibility, it'd offer more technical confusion and nightmarish rule managing scenarios. And what you really are asking for here is multiple lieges and independent people partially being vassals, which is a whole other can of worms that would be a technical, user experience, and design nightmare for in my opinion pretty limited gain.

While it does look pretty and helps immersion a lot, I can't help feeling a bit nervous about scalability when I see lovingly crafted interfaces like this.

So... will it support scrollbars if, for example, a mod decides to add 20 more checkboxes? n_n
Currently the interface just gets bigger but mods can easily add a scroll bar to it if they so want, our gui files are fully moddable, I'd argue if you've added so many options you need a scroll bar then you've probably added way too many options though and are gonna make the micro annoying and balance a bit dodgy.

Is the opinion penalty from high obligations permanent? The temporary penalty in CK2 Conclave is more or less the only major thing I don't like with it. It doesn't make much sense to go "Mhh, maybe these high taxes aren't so bad after all" after 5 years. And over time you can raise obligations very high without any consequences. It's much better if you can push for high taxes and high levies, but they will really hate you for it.
As far as I remember yes, the penalty is permanent for the passive opinion from obligation levels.

This looks wonderful, very exciting!

If a liege and a vassal have different cultures, and therefore access to different fine print options through different innovations, which ruler's culture determines what options are available?
They are taken from the liege.
 
  • 24
  • 4
  • 4
  • 2Like
Reactions:
Any hope for a Cultural option similar to the Religious one. Something minor that makes it so the vassal is not effected by events or pressures to adjust their culture and might even get to keep their Cultural titles? I know that keeping multicultural titles in your realm is a small thing but something I have always wanted.

Also will setting a contract to being a March or Palatine effect the vassals title (ie will it make a Duke a Margrave or a Count a Count Palatine)?
 
  • 8
  • 1Like
Reactions:
@Faerillis: going from a duke to a margrave is a demotion. Now if a count would get a march contract, then it IMHO should become a margrave. An example of a duchy with march contract would be Austria, before it became an archduchy (promotion to palatinate contract).
 
Last edited:
  • 2Like
  • 1
  • 1
Reactions:
what you really are asking for here is multiple lieges and independent people partially being vassals,

This is my point. It is something that the current system can't handle at all, yet it models the historical dynamics between titles more accurately. This constraint makes it hard to represent important cases like the tensions between the King of England and the King of France in the game without resorting to some kind of jury-rigging.

I am not asking for widespread multi-liege complexity. Most characters in the game own one or two counties, and both will be under the same liege anyway. In practice, multi-liege situations would be uncommon but exist in critical instances, such as a vassal duke conquering a foreign kingdom. A lord caught between two lieges (i.e. France and HRE) going to war with each other isn't some artificial product of a cumbersome system; it's a real thing that actually happened.

How do you plan to handle the England/France fealty issue, anyway?
 
  • 6
  • 4
  • 1Like
Reactions:
Just a random question, so how are high end vassals like Bohemia within HRE represented? A contract with little obligation and defacto all bonuses?
IMHO Bohemia like the stem duchies (Saxony, Franconia, Bavaria and Swabia, later extended with Upper Lorraine, Lower Lorraine and Carinthia) should probably have a palatinate contract. Once Bohemia becomes a king within the HRE, it should get some extra privileges, only available to a vassal kingdom.
IMHO like in CK II a fully independent kingdom, should be able to set certain laws, which for a vassal kingdom are set by the empire.
 
  • 1
Reactions:
This is my point. It is something that the current system can't handle at all, yet it models the historical dynamics between titles more accurately. This constraint makes it hard to represent important cases like the tensions between the King of England and the King of France in the game without resorting to some kind of jury-rigging.

I am not asking for widespread multi-liege complexity. Most characters in the game own one or two counties, and both will be under the same liege anyway. In practice, multi-liege situations would be uncommon but exist in critical instances, such as a vassal duke conquering a foreign kingdom. A lord caught between two lieges (i.e. France and HRE) going to war with each other isn't some artificial product of a cumbersome system; it's a real thing that actually happened.

How do you plan to handle the England/France fealty issue, anyway?
The England/France situation is handled as in CK2 with the split between de jure and de facto titles and England being independent and de facto owning Normany but Normandy being de jure land under France.

In your system it doesn't matter if it wold be a rare occurrence, it would still need code to handle it, and that code would be very complex and be hard to present in the UI and design all the edge case handling. All of which would be for very little benefit to the simulation as even you acknowledge its a very rare thing. So putting in months upon months upon months of design, UI and code work into it is not a good use of time and would most likely come out with something incredibly impractical anyway.
 
  • 36
  • 8
  • 4
  • 3Like
Reactions:
All of which would be for very little benefit to the simulation as even you acknowledge its a very rare thing.

Uncommon but critical. The cases where it happens would be a perfect example of mechanics-generated political/character events: disputes over liege homage, being caught between two warring lieges, etc.

But I understand. You guys have been following the model of CK2 very closely, and don't want to redesign the engine from scratch. I have reservations about how well a character-based vassalage system models medieval history, and had hoped for a more ambitious design in CK3. But that's too much to hope for at this point; the resources have already been invested into implementing the framework from CK2 and things are set to ship on Sept 1.
 
  • 10
  • 3
  • 1Like
Reactions:
The ability to negotiate and change a feudal contract with different vassals is a very welcome addition to the game. The extra options are very nice and I can only imagine the modding potential for this. To be honest so far this is a top 3 change in CK3 for me along with the religious system and trait system.
 
  • 3Like
  • 1
Reactions:
They are taken from the liege.

Thanks for the answer! That definitely makes the most sense from a player perspective and a design architecture one I guess. Is this hard coded or is it possible to alter?

I have the same question about newly conquered vassals reverting to a 'default' contract -- would the architecture allow for changing it so that new vassals keep as a default the contract they had with their previous liege (or a decayed one, where they keep their privileges, but go one step lower on levies and taxes)?

The system presented looks amazing and looks like it's the best fit for the game out of the box. But the particularly exciting thing is how flexible it could be (modders are definitely going to spend ages tinkering around with this), so it would be wonderful to have more options available to mod the structure of how they work, as well as adding new privileges/restrictions etc.

The England/France situation is handled as in CK2 with the split between de jure and de facto titles and England being independent and de facto owning Normany but Normandy being de jure land under France.

In your system it doesn't matter if it wold be a rare occurrence, it would still need code to handle it, and that code would be very complex and be hard to present in the UI and design all the edge case handling. All of which would be for very little benefit to the simulation as even you acknowledge its a very rare thing. So putting in months upon months upon months of design, UI and code work into it is not a good use of time and would most likely come out with something incredibly impractical anyway.

This sounds like the right way to go about it. I wonder though if there are still ways to model this kind of situation in a bit more detail without going to the extreme that people are proposing of restructuring the whole game to cater to a rare occurrence.

Might it be possible for the kingdoms to be independent the in way the system currently works, but for the nominal liege to retain some kind of leverage over the former vassal? Whether that's a type of diplomatic relationship or maybe something that the hook system could encompass. In the simplest form it could just be modifiers and events. Like, the King of France regards the King of England as a breakaway vassal, and can periodically demand tribute/levies or try to call them to war, which England can always refuse, at the cost of an opinion malus and maybe France getting a CB on them. Something like this could also work for de jure vassals that are basically independent and act autonomously like Burgundy. Basically the idea would be that they are independent, separate kingdoms but, whether through events or hooks, the nominal liege can still try to treat them like vassals, without the ability to enforce it if they refuse. Maybe that's still too complicated for too little gain, I dunno.
 
  • 3Like
  • 1
Reactions:
Cats do love their humans. it's just that it comes out differently in cats than it does with dogs. Dogs had already evolved to be social creatures, just like humans, so it was easy for them to show love to their humans.

Cats evolved to be solitary hunters. In fact, most wild cats will only tolerate other cats in their habitat for only two reasons: Mating, and rearing their young.

So, as I've already said, love, and trust, come out differently in cats than it does with dogs...
Cats are the only animals that do things for their human friend, without expecting a reward. I mean are we really happy when they provide us an dead mouse indoors? The only reason they do, is the fact that they care about their employees.
 
  • 6Haha
  • 2Like
Reactions: