Root Problem of Vassal Contract Negotiation: From Agreement terms modifier Imbalance (And possible fix)

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

devfrost44

Captain
66 Badges
Oct 14, 2014
380
215
  • Crusader Kings II
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Field Marshal
  • Crusader Kings III
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Stellaris: Federations
  • Stellaris: Ancient Relics
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Nemesis
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Battle for Bosporus
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Hearts of Iron IV: No Step Back
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Stellaris: Megacorp
  • Imperator: Rome Deluxe Edition
  • Europa Universalis IV: Golden Century
  • Crusader Kings II: Way of Life
  • Hearts of Iron IV: La Resistance
  • Stellaris: Necroids
  • Europa Universalis IV
  • Imperator: Rome - Magna Graecia
  • Hearts of Iron IV: By Blood Alone
  • Stellaris: Lithoids
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: Colonel
  • Stellaris
  • Stellaris: Galaxy Edition
  • Hearts of Iron 4: Arms Against Tyranny
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sword of Islam
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
Edit: I put in a possible fix by modding a value in the define script folder down below in the comment.

Everyone here know how hard it is to negotiate a tribute out of a vassal and how impossible it is to change them to Scholarium or Prospectium. This I believe is the root problem of it. There is an imbalance of the negative modifier of the From agreement and the positive modifier of the From agreement term.

The default vassal I used as example. A feudal society sector release as vassal with max out loyalty and high relationship modifier.
Duchy of lathor.jpg


As you can see, the balance of power is solely on my side in all categories (but not quite protectorate level)

The starting agreement.

default agreement.jpg


Now going to the specifics on the contract negotiation:

neutral.jpg


As you can see, without modifying anything, the modifier of the acceptance is this. Note that From Agreement Terms: -500. Now let's see what happen to this number when I shift alloy to +15%
alloy demand.jpg


The from agreement terms got to -1000. So demanding 15% of the alloy give -500. Now let's see the reversed. I'm now giving it 15% of the alloys.


alloy give.jpg


It go down to -450. So that's only +50.

Same thing if I go for research
research give.jpg


research demand.jpg




That explains a lot, doesn't it? It is clear that the give and demand are supposed to balance each other out but right now, it doesn't. It also explain why specialization vassal is easier to negotiate in the propose subjugation as it bypass this acceptance and you can use favors to force them to accept. I really hope they fix this soon as this literally breaks vassal gameplay.
 
Last edited:
  • 13
  • 9Like
  • 7
Reactions:
It's a shame they released this expansion centered on vassals and left a major bug in that prevents you playing with them properly. Maybe a Monday release day for future expansions would give the devs the time to patch all these problems before the weekend next time?
 
  • 9
  • 3Like
Reactions:
Out of curiosity, where in the interface can you use them to accept specialization / subjugation contract terms with favors? Maybe I’m overlooking something obvious, but I was having a hard time finding them earlier.
 
Out of curiosity, where in the interface can you use them to accept specialization / subjugation contract terms with favors? Maybe I’m overlooking something obvious, but I was having a hard time finding them earlier.
Ah, never mind. I double-checked and propose subjugation using the same agreement term screen. Not sure why I remember it differently. So yeah, You can't use favor to diplomatically vassalize someone. I try out several variation. So by default, using the propose subjugation, Scholarium has from agreement -500 and the prospectium is -700. Since a larger fleet bonus cap out at 500, it explain why I was able to diplomatically subjugate Scholarium but not prospectium.
 
  • 2Like
  • 2
Reactions:
Okay, I think I managed to change the value to the right one in the common>define folder script.

define modded.jpg


By changing the highlighted value from 100 to 1000, I managed to get the +50 to +500

Result:
fixed.jpg

It balanced out and now I can turn my loyal subject to Prospetorium with no problem.

For comparison, this is another subject that I haven't been boosting opinion on

fareen.jpg


So need a bit of work but no longer impossible.
 
  • 8Like
  • 4
  • 2
Reactions:
It's a shame they released this expansion centered on vassals and left a major bug in that prevents you playing with them properly. Maybe a Monday release day for future expansions would give the devs the time to patch all these problems before the weekend next time?

Strictly speaking, this isn't actually a software bug. The value is a bad value to use, but the system is working as intended. It's the difference between not realizing you have the radio turned on to max when you start your car, and your radio dial starting your windshield wipers.


Things like this are usually the result of last-minute fix-efforts before the shipment, not despite them. I recall there being previous images of negotiations that didn't have the issue, and it's certainly prevalent enough that internal testing wouldn't have missed it in the runup.

From past experiences with coding snafus, what probably happened is that when doing late work reviewing the system, someone either fat-fingered in a 0 when working a late version after the usual screenings, or there was a version of the file that was using a higher value for some testing purpose, but got conflated with the final file later on. Given some of the other bugs that have inverted acceptances (the reported vassal white-peace giving you the part of the empire you DON'T occupy), I imagine it was the later, possibly some version of the code that was being used for the not-HRE start when they were trying to tool how the overlord would work with the other vassals. Some of the code reports have the symptoms of a general perspective inversion issue where the coder is writing from the wrong mental direction, and if there's one origin where that would definitely happen after the framework was established it'd be the Imperial Fiefdom origin.

Or so it's been said to me in the past. Maybe those coders were making excuses.

But overall, definitely a shame, and I'd second early-week releases for this reason, but I'm always sympathetic to people who get problem calls on a friday.
 
  • 13Like
  • 1
Reactions:
Or so it's been said to me in the past. Maybe those coders were making excuses.

They do. Always run at least most important test before release. And tests fort new features (for this release) are always top priority. If you ignore that your games will continues to have Mixed reviews... Or worse.
 
  • 1
Reactions:
I've had experience pushing out versions of a game only to see a simple coding error after, it really isn't a nice feeling. And it's a shame its crippled a lot of the vassal mechanics on the release weekend of the expansion when the devs can't do anything to fix it.
 
  • 4
Reactions:
They do. Always run at least most important test before release. And tests fort new features (for this release) are always top priority. If you ignore that your games will continues to have Mixed reviews... Or worse.

Oh, sure. But then you get into the 'how do you test after the very last change.' The value test, for example, is not a function error. It's a balance error, but the 'system' runs fine, so tests of the system that could be done at scale and rapidly are going to turn a positive for that. If you ran this system on X00 versions of auto-run, the vassal acceptance values wouldn't show up on a crash log anywhere. Empries would still rise and fall within 'normal' parameters. Having a tributary would still be giving systemic advantages over not. Play testing after every version is not only ineffective by comparison, but also way too slow.

There's an iron law in release schedules of code, and that's the date the last/best/completely compiled form has to be delivered by contract. In the face of that, good-faith efforts to help- 'I can make one last change to make things a bit better as we go out the door, look it compiled correctly' create issues.

But- all the same- while it does make issues, it's indicative of something other than laziness. While I do hope/think the bureaucratic side of things could do an administrative control measure- like releasing on Tuesdays- it's all too easy to over compensate to the team's detriment.
 
Last edited:
  • 5
  • 1Like
Reactions:
Oh, sure. But then you get into the 'how do you test after the very last change.' The value test, for example, is not a function error. It's a balance error, but the 'system' runs fine, so tests of the system that could be done at scale and rapidly are going to turn a positive for that.
I'm quite sure that running a couple of simulated galaxies runs would shown a drastic changes compared to previous version that require attention. Not to mention that, if the issue is truly just wrong value in defines files, it should be pretty obvious that any changes there may have severe impact on the game. So it's not about 'how do you test after the very last change.' It's about "one must test any changes to specific areas that can affect the product in a major way". No one going to retest for some minor changes in some localization files...
 
  • 2
Reactions:
I'm quite sure that running a couple of simulated galaxies runs would shown a drastic changes compared to previous version that require attention. Not to mention that, if the issue is truly just wrong value in defines files, it should be pretty obvious that any changes there may have severe impact on the game. So it's not about 'how do you test after the very last change.' It's about "one must test any changes to specific areas that can affect the product in a major way". No one going to retest for some minor changes in some localization files...

Considering what the biggest errors have actually been, what drastic change would you see from afar in aggregates of auto-play?


Take the war white peace bug, which flips which half of the empire you get if you have to fulfill a stalemate. White Peace only happens if the aggressor is unable to complete the war to compel a surrender, but also if the target is unable to defeat the aggressor. But the forceful vassalization wargoal is only available if you already have a superiority of forces, meaning a dominant chance for total victory. Whereas if the defender wins, it's almost certainly because they brought in more allies, who were able to double-team the attacker from a flank. On aggregate, the number of wars where any side of white peace occurs between the AI is likely rare... and even when it does happen, it's not inherently robbing the victor of a victory.


Nor would things like the vassal term rejection value create an aggregate issue at scale when doing auto-play testing to check for CTD or 'literally unplayable' bugs. This is an issue of not being able to maximize gains once you already have a vassal... but a separate bug, the diplo-acceptance bug that does NOT factor in fleet power on the diplo-acceptance, means that empires would be getting vassals too early, thus exagerating gains. These two issues are directly counter eachother in the aggregates, but still functionally look the same on a map size- it's still having vassals, and still letting vassals empower those who have them.



Or, as a third bug, the bilateral monthly trade bug, which currently is only allowing monthly diplomatic trades between vassal/sovereigns. Personally, this bugs me a lot... but in my experience, the AI isn't exactly offering me monthly trades either. It's almost always AI-offered. What's the great change in aggregate here?


Don't get me wrong, there was a failure in testing here. But it's not clear to me that this was a failure where simulation testing (just having the programs run itself like AI empires on auto-pilot) would trigger obvious red flags, while I can easily see a gaming-as-a-service developer like Paradox, which business model already programs in an expected follow-up patch within days of a major patch, letting the last phase of testing after last tweaks be a simulation test rather than manual multi-hundred man hour testing that would be needed to justify a manual test cycle.
 
  • 5Like
Reactions:
Things like this are usually the result of last-minute fix-efforts before the shipment, not despite them. I recall there being previous images of negotiations that didn't have the issue, and it's certainly prevalent enough that internal testing wouldn't have missed it in the runup.


It definitely was a bad build we got. The streamers were playing over the weekend and the version they were on worked great and vassalization etc worked without issue. Something was changed in the latest build that we got, that had some unfortunate changes
 
And it's a shame its crippled a lot of the vassal mechanics on the release weekend of the expansion when the devs can't do anything to fix it.
Well, you know, they could release on a Monday or Tuesday. It would leave enough time for some hotfixes until Friday. It isn't the first time they introduced some major bugs. And they did it before: MegaCorps, as an example, was released on a Tuesday. It is not impossible.
 
  • 2Like
Reactions:
Is there a hotfix mod around to get this working until they hotfix it?
I'm not that much a modder, so I don't really have the knowledge or will to upload a mod to the workshop. But you can just go to the script folder like I mentioned previously and changed the value.

Alternatively you can make a mod folder with the modified file, but I was a bit lazy to do that.
 
Okay, I think I managed to change the value to the right one in the common>define folder script.

View attachment 838695

By changing the highlighted value from 100 to 1000, I managed to get the +50 to +500

Thanks for the information. Even if I prefer to have the value 2 rows above it reduced by 0 so that both values are 100. It is also possible, as a much stronger liege lord, to demand heavy tribute from the vassal by intimidating him with his own fleet.