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

  • 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.
Showing developer posts only. Show all posts in this thread.

blackninja9939

Senior Programmer - Crusader Kings 3
Paradox Staff
98 Badges
Aug 28, 2013
2.414
8.534
  • Surviving Mars: Digital Deluxe Edition
  • BATTLETECH: Heavy Metal
  • BATTLETECH: Season pass
  • Battle for Bosporus
  • Crusader Kings III: Royal Edition
  • Cities: Skylines - Snowfall
  • Hearts of Iron IV: No Step Back
  • Cities: Skylines - Parklife
  • BATTLETECH - Digital Deluxe Edition
  • Age of Wonders: Planetfall Season pass
  • Stellaris: Humanoids Species Pack
  • Empire of Sin
  • Cities: Skylines - Green Cities
  • Cities: Skylines - Mass Transit
  • Age of Wonders III
  • Stellaris: Necroids
  • Hearts of Iron IV: Death or Dishonor
  • Age of Wonders: Planetfall - Revelations
  • Cities: Skylines Deluxe Edition
  • Stellaris: Federations
  • BATTLETECH: Flashpoint
  • Europa Universalis IV
  • Europa Universalis 4: Emperor
  • Island Bound
  • Hearts of Iron IV: By Blood Alone
  • Crusader Kings III
  • Stellaris: Nemesis
  • Cities: Skylines Industries
  • Cities: Skylines - Campus
  • Crusader Kings II
  • Crusader Kings II: Holy Fury
  • Imperator: Rome - Magna Graecia
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Old Gods
  • Europa Universalis IV: Rights of Man
  • Europa Universalis IV: Cradle of Civilization
  • Stellaris: Synthetic Dawn
  • Surviving Mars
  • BATTLETECH
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Monks and Mystics
  • Tyranny: Archon Edition
  • Europa Universalis IV: Rule Britannia
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Colonel
  • Stellaris Sign-up
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Apocalypse
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:
When a vassal dies, does their same contract get passed to their heir?
If the person dying is a higher tier than the heir then the heir gets the person's dying's contract. If they are the same tier or below then the heir if already landed will keep their current contract.

What does coinage rights do? Also, in one of the preview videos of the game we could see something called fortification rights that you could also grant to your vassals. Is that still a thing? How does it work?
Coinage rights give the vassal 0.3 monthly development growth in their capital county and costs the liege 0.02 in development growth.
Fortification rights is still in, the character I was playing just did not have that innovation unlocked in their culture. If they do then it appears and can give the vassal cheaper castle holding and build costs and a fort level whilst making the liege pay more for their castle build costs.

How does the Council Right work? The vassal is automatically added to council in Advisor role? Or just that when a vassal asks for a position on the council, refusing would incur tyranny/bad rep?
They get free use of the demand council position interaction which the liege cannot refuse. Allowing them to pick a council position and get it. Hooks can also be used for that interaction if you do not have the council rights.
Of course this means the council rights position is limited to only as many council positions you have that your vassals can occupy.

Looks very nice, and definitely a huge improvement. I have a few questions, though:

1) Will we be able to negotiate with a group of vassals at once, or copy-paste contracts? For example, it might be interesting for a King of England and Scotland to have a different set of obligations for his English and Scottish vassals, but it would be quite a hassle to have to change half a dozen contracts in the same fashion if, say, one wants their English vassals to provide more taxes and less levies.

2) When taking over a vassal from someone else, or vassalizing an independent ruler, what will the contract be set to? Will we immediately start negotiating?

3) When granting an unlanded courtier a title, will we be able to freely set the contract? I mean, i they don't like it, sure, we can find someone else...
1. Currently they are handled individually, which to a degree self mitigates it by virtue of encouraging you to make dukes to control the counts and kings to manage the dukes etc. But it is something we are keeping in mind for the future to see if the management of them becomes to annoying and how we can ease that. I would argue that if we need a copy and paste button then the system has become too micro and that is in itself another issue.
2. I answer this at the top of this post but its basically you keep yours unless you had none of the person you are inheriting from is better. If you are a brand new vassal then its default tax and levies and no fine print options.
3. It will be the default as above.

How does it look on the other side when the liege (or vassal) presses the magic button?

For example, let's say my liege tries to implement Forced Partition for me. Do I get Partition the instant he presses the magic button (meaning I need to change the contract to exclude that clause and then need to change my succession law to escape it) or can I instantly tell the tyrant (or "tyrant", as the case might be if he offered something "fair") where he can put his contract and rise up in rebellion to keep my old contract (or perhaps even to get a better one) and (assuming I prevail) skip the whole Partition thing?
You will be informed of the change to your contract and deal with it ;) The AI won't do too many changes at once though and of course if you really dislike it you can rebel to be free of it all.
 
  • 25
  • 12Like
  • 3
Reactions:
How will the contract work for non-feudal realms (e.g. Clans)? Do they have similar feature?
Only Feudal characters use the contract with individual obligations, the Clans have a static contract which scales based on opinion.
 
  • 37
  • 8Like
  • 4
Reactions:
Is is moddable? If a mod adds new government types, can they be set to use the Feudal contracts mechanic?
Yep it is fully moddable, the government definitions have a list of the contract options they have available to them so you can add different contract options there to new or existing governments.
 
  • 15Love
  • 14Like
  • 4
  • 2
Reactions:
Poor Duke Otto is being forced to pay higher taxes against his will and wishes, but he still likes his king even more? as seen by the +5 opinion modifier, despite this being an act of tyranny by his liege.
That value is the opinion modifiers directly from the contract options, so the +5 there is coming from the fact he still has low levies which gives a +5. The tyranny is then separate from the contract's obligations but because you gave an unfair one.
Could probably clear up that is not Duke Otto's opinion of you overhaul but the modifier sum from the obligations picked, will note that down.
 
  • 21
  • 9Like
  • 3
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:
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: