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

CK2 Dev Diary #60: Rally up

Good morning, all. I’m Magne “Meneth” Skjæran, the programmer on CK2. In the past I’ve written dev diaries about modding, optimization, and quality of life improvements, as well as a few diaries this summer about the team, the bug fixing process, and what we’re doing for modders.

We’re now returning to regular dev diaries, so today I’ve been given the opportunity to reveal a new feature: rally points.
And to maintain my tradition from the summer, at the end of this dev diary will be five changelog entries from the 2.8 patch.

Rally points are a rather classic strategy game feature which can do a lot to make troop management more manageable. While in the early-game, there usually isn’t much of a need for such a feature in CK2, as you grow larger collecting your troops at the start of a war increasingly becomes more tedious. This is especially the case in multiplayer, where you don’t have the luxury of pausing.

In 2.8, we’re finally rectifying this by adding the ability to define rally points, both for land units and ships.
image1.png

Now, when you raise your troops and have rally points defined, the raised troops will immediately start walking towards the nearest rally point by travel time. Once they get there, they will merge with any troops in the province.

While rallying, they will not appear in the outliner, but instead the rally point entry will show how many troops are incoming.
image2.png


If you disable the “rally points” section of the outliner, the individual armies will show as before.

You can define any number of rally points, and can put them anywhere in your realm, so you can set them up to suit any layout.
Units will only rally to provinces they can walk to (sail, in the case of boats); they will not use transports to get there. So you might for example want one rally point on the British Isles, and a handful in mainland Europe.

Now, as promised, here are 5 changelog entries from 2.8:
  • Fixed old Byzantine women's hair being unable to change color
  • Taught the Pope that lifting his own excommunication when he becomes the Pope makes him a better role model for other Catholics
  • The AI no longer thinks that just because a province is someone's capital, it's a good target; it is now more discerning and only cares if it is the capital of an enemy
  • When you have a unit selected and are hovering over a province it can't move to, the game will now try to explain why you can't move there
  • Fixed it being possible to gift cursed diamonds and crowns
I hope you will all enjoy the rally point feature. That’s all for today.
 
I love this. The game has needed this feature for a while.
 
@Meneth Since rally points would rely so much on automated unit pathing, any plans to refine the pathing algorithm to be closer to optimal travel time? In every PDSGSG I've played with provinces (i.e., stellaris excepted) the default path the game engine chooses is very often grossly distorted, and you have to shift-click a custom path if you want your units to travel most efficiently.

In CK2 in particular, travel times in places like Africa, Central Asia, Persia are absolutely torturous. By the way, an indicator for a unit's arrival time at its ultimate destination, not just into the next destination, like we have in EU4, would be very welcome, and make the pathing correction I describe less of a frustrating guessing game. :)

(PS. I have to say that I'm highly sceptical of the actual utility of rally points, since time and time again PDS's attempts to automate player actions in the name of "reducing micromanagement" have resulted in either unacceptable inefficiency or actual harm to the player—auto troop transport in EU4 is an example of the former, auto title distribution in CK2 of the latter. I would much rather you guys stopped trying these altogether and refocused on improvements that actually help the player get a grip on relevant information and organize their empire without putting player clicks in the hands of the AI—e.g., the macrobuilder in EU4, better ledger functionality in all games, and for pete's sake bringing back notification settings in the newer games that have inexplicably abandoned them!!)
 
Last edited:
Yeah, I'm a bit skeptical about rallying, too. I would prefer "making armies actually fit in ships", without moving them into attrition zones, over rally points every day. Usability impact of this change isn't that... noticable? In the end you'll end with stacking up on low supply provinces while marching, or marching through enemy armies, like it does and without auto-rallying. And I REALLY hope I'm wrong.
 
Quick, everyone! Look for China clues in these completely unrelated screenshots, then discuss them for ten pages!
? This feature will make mobilizing large empires easier. And what's the biggest empire (not counting Mongols, they use different military system)?
It's quite obvious, you know.
 
As of today, 6 out of the 9 people who sit in the CK2 corner are back. Another will be back tomorrow, and the last two on Monday.

And I hope everyone had a lovely holiday.
 
Rally points seem nice. Will your troops actively avoid enemies until they reach the point? @Meneth

Rulers with lands separated by the enemy (which happens so so often) may want to avoid this if it means your little stacks getting smashed because of dumb AI.

Take for example somewhere like the Himalayas you may control land across the slow mountains and be attacking someone in the lower plains, maybe you even have a province of the enemies splitting you in two. If you just send the troops to your capital the distant ones will take the shortest path right through any enemy troops and sometimes territory because it's faster even though it ruins the point of making them rally together since they never reach their destination.
 
@Meneth Since rally points would rely so much on automated unit pathing, any plans to refine the pathing algorithm to be closer to optimal travel time? In every PDSGSG I've played with provinces (i.e., stellaris excepted) the default path the game engine chooses is very often grossly distorted, and you have to shift-click a custom path if you want your units to travel most efficiently.
The A* implementation we use does not have an admissable heuristic, and as such it is not guaranteed to find the shortest path. It will come quite close in most cases, but it usually isn't quite the shortest. It's a trade-off between performance and shortest path. So it's a somewhat risky thing to change, as optimal pathfinding can be quite slow.

I have to say that I'm highly sceptical of the actual utility of rally points, since time and time again PDS's attempts to automate player actions in the name of "reducing micromanagement" have resulted in either unacceptable inefficiency or actual harm to the player—auto troop transport in EU4 is an example of the former, auto title distribution in CK2 of the latter. I would much rather you guys stopped trying these altogether and refocused on improvements that actually help the player get a grip on relevant information and organize their empire without putting player clicks in the hands of the AI—e.g., the macrobuilder in EU4, better ledger functionality in all games, and for pete's sake bringing back notification settings in the newer games that have inexplicably abandoned them!
In the case of these rally points, they're basically equivalent to selecting all those units on your own and right-clicking on the province, with the added advantage of automatic merging when they get there. It works rather well in my experience with the system.

Rally points is simply one effort among many to lessen the need to fight the UI. It is also completely optional to use it.
Its implementation has taken very little time from other work, as it is a pretty straight-forward feature that if anything, we should've implemented years ago.
 
Rally points seem nice. Will your troops actively avoid enemies until they reach the point? @Meneth

Rulers with lands separated by the enemy (which happens so so often) may want to avoid this if it means your little stacks getting smashed because of dumb AI.
They won't avoid enemies no, much like if you ordered them manually.
When your lands are separated by enemies, the best bet is to put a rally point on either side so that you can form up two or a handful of armies before merging them more safely.
 
They won't avoid enemies no, much like if you ordered them manually.
When your lands are separated by enemies, the best bet is to put a rally point on either side so that you can form up two or a handful of armies before merging them more safely.
I understand but I think that's really too bad. Of course it only matters in those particular situations but I think this might make the system a bit tedious to use.

Maybe I don't understand this system completely yet but if I set up a rally point in a lone county that's closer than any other rally points will my troops will be attracted to it and may cross enemy territory to walk to it? In that case I'll need to put closer rally points to my border to attract those troops in but then I have the trouble of having them rally in places I don't want them to.

I don't know how much work it would be but a toggle to use ai enemy avoidance on stacks could really be handy for these rally points. Otherwise maybe some way to exclude certain counties or non connected lands would make things easier than balancing out rally points on the fly.

Honestly a 'Move here and avoid enemies when possible' command would be handy across all paradox series. Like instead of shift clicking a path around enemies you could just alt click for your troops to find a path without enemies in the way. Maybe that would be too complicated too but I figure that's what the AI already does.

Thanks for your reply anyways though! I'm so glad to have these content dev diaries back.
 
They won't avoid enemies no, much like if you ordered them manually.
When your lands are separated by enemies, the best bet is to put a rally point on either side so that you can form up two or a handful of armies before merging them more safely.

In a large civil war where the hostile levy can almost literally show up anywhere. This system might actually make you lose out a bit because you had the "wrong" rally point at that point or 5k stack is only 3 day away from your single demesne castle 2k troop and all other levy are too far away to help in time.

I typically raise all and try to get most of my levy into a group ASAP for that reason in civil war.

I don't know if there has been lot of testing with this feature during civil war? If not you might want to look into how civil war interactive with rallying system before it goes live. Just a suggestion.

Edit: I just realize/remember something else that may make this feature a nightmare to use.

Viking raiders will happily raid everywhere they can reach and pathfinder will not try to evade those so you might not want your 500 levy to engage a 2500 viking raider party.
 
Last edited:
In a large civil war where the hostile levy can almost literally show up anywhere. This system might actually make you lose out a bit because you had the "wrong" rally point at that point or 5k stack is only 3 day away from your single demesne castle 2k troop and all other levy are too far away to help in time.

I typically raise all and try to get most of my levy into a group ASAP for that reason in civil war.

I don't know if there has been lot of testing with this feature during civil war? If not you might want to look into how civil war interactive with rallying system before it goes live. Just a suggestion.
:
blah blah blah


It's OPTIONAL !!!

If you don't like it - DON'T USE IT !!!
 
The A* implementation we use does not have an admissable heuristic, and as such it is not guaranteed to find the shortest path. It will come quite close in most cases, but it usually isn't quite the shortest. It's a trade-off between performance and shortest path. So it's a somewhat risky thing to change, as optimal pathfinding can be quite slow.

Yeah, I've gotten this response from other devs in the past. Disappointing but understandable. I guess I should have said more specifically I was wondering if some incremental compromise could be found to add some additional checks in the algorithm to make it better, even though not perfect, while not taxing performance too badly. It's just a persistent annoyance to me since I love precise and thorough micro... but I understand there are probably more urgent things to spend dev time and attention on :(