• Crusader Kings III Available Now!

    The realm rejoices as Paradox Interactive announces the launch of Crusader Kings III, the latest entry in the publisher’s grand strategy role-playing game franchise. Advisors may now jockey for positions of influence and adversaries should save their schemes for another day, because on this day Crusader Kings III can be purchased on Steam, the Paradox Store, and other major online retailers.


    Real Strategy Requires Cunning

Meneth

Crusader Kings 3 Programmer
129 Badges
Feb 9, 2011
10.020
4.451
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • 500k Club
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Cradle of Civilization
  • Magicka: Wizard Wars Founder Wizard
  • Mount & Blade: Warband
  • Mount & Blade: With Fire and Sword
  • Crusader Kings II: Way of Life
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Field Marshal
  • Age of Wonders III
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Galaxy Edition
  • Surviving Mars
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Crusader Kings Complete
  • Steel Division: Normand 44 Sign-up
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - Parklife
  • Prison Architect
  • Stellaris: Leviathans Story Pack
  • Europa Universalis III Complete
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Europa Universalis IV: Rule Britannia
  • Teleglitch: Die More Edition
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Magicka 2 - Signup Campaign
  • Knights of Pen and Paper 2
  • Europa Universalis IV: Mare Nostrum
  • Knights of Honor
  • Deus Vult
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
Good afternoon, 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 last week’s dev diary talking about what each role on the team is responsible for.

Summer is still ongoing, and most of the office is gone until the end of July, including the majority of the CK2 team. The show must still go on, so for these four weeks I’ll be writing most or all the CK2 dev diaries.

Since most of the team being on vacation means that little development is happening, that means that these four dev diaries will be pretty light on info about the upcoming expansion and patch, but I hope to provide you with some interesting insights, info, and tidbits regardless.

Today, I’ll be talking about the life of a bug; essentially a view into how a bug goes from discovery to release of a fix, and who is involved at each stage.

At the end of this diary, I’ll also share five changelog entries from the 2.8 patch chosen (mostly) at random.

The Bug
To illustrate the process, I’ll be using the following bug as a case study of sorts:
- Fixed it in some cases being possible for priests of religions where priests are not allowed to marry to marry or betroth someone

This bug fix was included in the 2.7.1 patch. What it essentially did, was fix the Pope ending up with a family member that loves Divine Blood marriages so much, they’d betroth the Pope, even though he’s not allowed to marry. Xwedodah is a powerful thing, but this would always end with tears: the moment the Pope’s niece came of age, the betrothal would get broken.

In retrospect, this changelog entry should clearly have been “Fixed the Pope loving Xwedodah so much that he’d get betrothed despite not being allowed to marry”. You live and learn.

Discovery
This bug was discovered by one of our beta testers on 12th February, 2017 while playing the game; they noticed that the Pope would get matrilineally betrothed to his niece, and had a save from before this where it would consistently happen.

Discovery by beta testers is however only one of many avenues of discovery. Other ways include:

Playtesting: Quality Assurance testers spend some of their time simply playing the game, though usually with some kind of focus based on what we’re working on. For example, during Monks and Mystics development the focus might have been participating in a specific society. During playtesting, they’ll report any bugs they run into, as well as making note of balance issues, usability issues, and similar. Depending on the stage of development, these will also be reported directly; if the system is a work in progress, the developer responsible might simply be poked with the issue, but if it is supposed to be finished, a bug report is generally made.

Task verification: When a task (for example, “add a prisoner mass action system”) has been completed, quality assurance will verify that it works according to specification. If they find issues during this time they will either reopen the task, or make bug reports about the task. You can read more about verification in the “Verification” section of this DD.

Non-QA developers: The non-QA devs play the game as well, and are expected to report any bugs they encounter, even though finding bugs is not their primary purpose on the project.

Forum monitoring: While the other bug discovery methods are focused on discovering issues before the patch is released at all, things do slip through the cracks. When they do, they’re often discovered by regular players of the game, some of which end up making bug reports on the forums, on reddit, or similar. Quality assurance spends some of their time monitoring these places, making internal bug reports when issues can be replicated. If the bug cannot be replicated based on the information provided, they will usually ask for more information. An internal bug report will only be made if either the issue can be replicated, or a lot of people are having it. So if you want to make sure your bug report has the best possible chance to result in a fixed bug, you should always provide reproduction steps and a save if at all possible!

Bugs are found in a number of other ways as well, but these four avenues and beta testing cover the majority of cases.

Reporting
Once a bug has been found, it has to be reported internally. Our bug database is contained in the project management web application Jira, which provides a variety of ways to easily manage issues so that they can be scheduled appropriately and things don’t slip through the cracks.
pasted image 0.png

Above you can see the report for the Pope betrothal issue.

The main things needed when reporting are:

Title: A title summarizing the issue. This is supposed to follow the format: Project - Expansion - Area affected - Description of the issue. In this case, “CK2 - MnM - AI - Pope gets engaged matrilineally to the daughter of his kin king”. The title should make it clear at a glance what the issue is and when it was discovered.

Description: The description includes any details that can’t be fit into the title. This often includes a description of what the player was doing when running into the bug, theories about the cause, or in the case of bugs discovered via forum monitoring, the source of the bug report.

Steps to reproduce: In some ways the most important section, the steps to reproduce says how the issue can be replicated. Without this, most bugs are difficult to impossible to fix, as just the information that something can happen often isn’t enough to figure out how it can happen. This is used by both the person fixing the issue (see “Fixing”) and the person verifying the fix (see “Verification”).

Result: Reports also include both the expected result and actual result, to make it even clearer what the actual issue is. Often it is relatively obvious from the other fields, but especially for things like balance issues, these sections can be of great help. They also make it easier to figure out if a problem has actually been fixed or not (see “Verification”).

Attachments: Often a screenshot of the issue is attached. A save is usually included as well if that makes reproduction easier. For crashes and similar, logs are also included, as well as a crash dump which can be used by the programmer to see where in the code the game crashed.

There’s a number of fields beyond this, but they’re generally set later in the process.

Assignment
Once a bug has been reported, it has to be decided who is responsible for fixing it, how important it actually is to fix, and when it should be fixed. Responsibility is first done by discipline; a bug will be assigned to Script, Code, or Art, depending on what causes it. This assignment is usually done by the quality assurance testers if it was not set when the bug report was created.

Priority is set depending on how important a bug is to fix, and ranges from 0 (Must Fix Immediately) to 5 (No Priority). A crash for example would be priority 1 - Must Fix, while the Pope betrothal bug was simply priority 3 - Medium. The project lead has the final call on priority, but generally quality assurance will set the priority for bugs, while the project lead prioritises tasks.

Similarly, there’s Severity, which ranges from Blocker to None. Rather than being how important fixing the issue is, this represents how broken it is. The two correlate to some extent, but you could have something like a highly visible spelling error being High Priority while being only Minor Severity. Severity is set by QA rather than the project lead.

Then, it has to be decided when the bug should actually be fixed. This is done by assignment to a sprint (a period of time during which a specific set of tasks are to be completed. On CK2, these last 4 weeks). For important bugs, they’re generally assigned to the sprint currently ongoing, while less important ones are generally left for the polish weeks rather than assigned to a regular sprint. The exception is bugs relating to new features; those are nearly always assigned to the ongoing sprint even if they aren’t especially severe. This is because it is considered more important to ensure new bugs aren’t added than to fix bugs that are already in the released product. However, the older bugs still do get assigned to the polish weeks, once the main work on the expansion itself is done. During feature sprints, the last of four weeks is dedicated to fixing bugs; during the first three weeks generally only bugs that block other work will get fixed.

When the sprint with the bug comes along, the bug is then assigned to a specific person. The project lead has responsibility for this, but it is often delegated to the discipline itself. For example, the content designers generally divide bugs between themselves autonomously rather than having the project lead assign them.

Fixing
All issues in the sprint more important than the bug have been resolved, so the time has finally come to fix it. The person assigned the bug will now hit “Start Progress” on the bug, thus informing the rest of the team of what they’re working on.

The person will then go through the steps to reproduce, and try to figure out where things are going wrong. In the case of the Pope betrothal, the bug was assigned to me, and the steps to reproduce worked flawlessly. This allowed me to set a “breakpoint” in the code for the AI marriage logic, pausing the code execution when someone would betroth the Pope. This allowed me to work upwards until I found where in the code the theocratic requirement on marriage was located. In the end, it turned out the “CanMarry” function never actually checked for this, only the marriage interaction itself did. As such, betrothals could still happen, but would get invalidated when the characters involved came of age and tried to marry.

End result was one new line of code in the CCharacter::CanMarry function:
Code:
if ( ( GetGovernment()->IsTheocracy() && !GetReligion()->CanPriestsMarry() ) || ( pCharacter->GetGovernment()->IsTheocracy() && !pCharacter->GetReligion()->CanPriestsMarry() ) )
        return false;
This simply checks if either character is a theocrat belonging to a religion that doesn’t allow priests to marry.

After recompiling the game, I then ran the steps to reproduce from the bug report once more, and saw that the betrothal no longer happened.

Once the fix itself has been made, a changelog entry is written. The fix and changelog entry are then committed to our repository for the game. Our build servers then compile the game, and a few hours after midnight, a new version of the game is uploaded to Steam for our beta testers to play.

The bug is then marked as resolved as “Fixed” with a message summarizing what was done, and at what revision the change was made. In the case of the Pope betrothal, it was marked as fixed 6 days after it was reported, but this can easily vary from minutes to months.

Verification
Next up, quality assurance verifies that the bug is actually fixed, and that new issues in the area haven’t appeared as a result.

This is done by following the reproduction steps to see if the issue still occurs, and if the issue is especially complicated, trying to reproduce it in other ways.

As mentioned in the “Discovery” section, quality assurance also does playtesting to discover new bugs, and this often includes bugs that are unintended side-effects of fixes to other bugs.

When QA is satisfied that the bug is indeed gone, they mark the issue as closed, and the fix process is typically over. If the bug actually still persists in some form, the bug is reopened, and we return to the “Fixing” step.

Sometimes a bug will resurface even after verification. This generally leads to the issue being reopened and fixed once more.

In the case of the Pope betrothal, the bug was verified 45 days after it was resolved as fixed. We try to avoid having verification lag more than a sprint or so (a month) behind resolution, as it is generally easier to go back and fix something properly if you worked on it recently.

Release
The bug has been fixed, and it is time for a patch, but the process isn’t quite complete yet.

While the specific bug has been verified as fixed, the project as a whole needs to go through one last step to be considered ready to release: the smoke test.

The smoke test essentially checks that nothing is horrifically broken on the three operating systems we support: Windows, Mac, and Linux. Unlike the other steps in the process, the smoke test is not conducted by the CK2 team, but instead by PDS’ central QA team.

Once central QA has signed off on the release, no more changes can be done. Some days to weeks later, the patch is released, and the bug is now fixed for all players.

Summary
All in all we have a number of stages to the bug fixing process to ensure that bugs are found, fixed, and stay fixed. Despite this, bugs do slip through the cracks as CK2 is a rather complicated beast. There’s also always known bugs in each release, as at some point release has to happen, and fixing one bug can easily cause another. We try to minimize the number of known bugs by having a long period of time dedicated to polishing the game before each release, and by having a shorter period during which no changes are allowed at all except fixes to critical issues. There will always be bugs, but we’re always working hard to avoid introducing them, and reduce the number of them.

I hope you found this look into how we handle bugs at CK2 informative.

Now as promised, here’s five changelog entries from the upcoming (no public ETA at this time) 2.8 patch:
  • The AI has learned how to spell, and no longer look for "soceities" missions when they're actually called "societies" missions. With this newfound ability to spell, the AI is better at identifying mission targets
  • Fixed using council consideration letting you bypass the need for a favor on your liege
  • Added Holy Order for Manicheans
  • Guardians can now be assigned from birth (though there are no effects until age 6.)
  • AI should no longer pine for a matrilineal marriage if they have been turned off by game rules
That’s all for this week. Next week I’ll be talking about improvements we’ve made to modding in 2.8 so far.
 
Last edited:

Rognvaldr19

Lt. General
70 Badges
Jul 16, 2013
1.443
1.043
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • Age of Wonders III
  • Hearts of Iron IV: Death or Dishonor
  • Surviving Mars
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Together for Victory
  • Prison Architect
  • Stellaris: Leviathans Story Pack
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Distant Stars
  • Surviving Mars: First Colony Edition
  • Stellaris: Lithoids
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Golden Century
  • Tyranny: Archon Edition
  • Victoria 2
  • War of the Roses
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Stellaris
  • Stellaris: Galaxy Edition
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Mare Nostrum
  • Age of Wonders II
  • Crusader Kings II: Jade Dragon
  • Age of Wonders: Shadow Magic
That was extremely interesting, it's nice to know there is a thorough process to all of this. I take it with hotfixes that you just skip a bunch of steps if the game has a really severe bug?

  • Added Holy Order for Manicheans
My, my, my, isn't that interesting. Manicheans are becoming more and more of their own religion with each dev diary.
 

Meneth

Crusader Kings 3 Programmer
129 Badges
Feb 9, 2011
10.020
4.451
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • 500k Club
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Cradle of Civilization
  • Magicka: Wizard Wars Founder Wizard
  • Mount & Blade: Warband
  • Mount & Blade: With Fire and Sword
  • Crusader Kings II: Way of Life
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Field Marshal
  • Age of Wonders III
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Galaxy Edition
  • Surviving Mars
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Crusader Kings Complete
  • Steel Division: Normand 44 Sign-up
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - Parklife
  • Prison Architect
  • Stellaris: Leviathans Story Pack
  • Europa Universalis III Complete
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Europa Universalis IV: Rule Britannia
  • Teleglitch: Die More Edition
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Magicka 2 - Signup Campaign
  • Knights of Pen and Paper 2
  • Europa Universalis IV: Mare Nostrum
  • Knights of Honor
  • Deus Vult
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
That was extremely interesting, it's nice to know there is a thorough process to all of this. I take it with hotfixes that you just skip a bunch of steps if the game has a really severe bug?
We don't skip any steps for hotfixes, but the amount of time between each step is much smaller since priorities are changed to ensure the fix can be completed, tested, and released quickly.
 

Alpacayak

Second Lieutenant
43 Badges
Dec 10, 2014
166
196
  • Crusader Kings II: Charlemagne
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines - After Dark
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Europa Universalis IV: Art of War
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Europa Universalis IV: Rights of Man
  • Stellaris: Leviathans Story Pack
  • Prison Architect
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Mass Transit
  • Crusader Kings II: Jade Dragon
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • Cities: Skylines Industries
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: Reapers Due
  • Stellaris
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Mount & Blade: Warband
  • Europa Universalis IV: El Dorado
  • Cities: Skylines
  • Victoria 2
  • Crusader Kings II: Sunset Invasion
Nice, thanks for keeping up with the dev diaries while the rest of the team is off, it's really hard to endure July otherwise. Also love me some more technical-minded DDs.
 

Amalamanhado

Second Lieutenant
9 Badges
Dec 5, 2013
165
11
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Horse Lords
"AI should no longer pine for a matrilineal marriage if they have been turned off by game rules"

I am happy that this issue finally got solved. Looking forward to next patch.
 

Rorgloin

Major
48 Badges
Jun 17, 2014
549
424
  • Crusader Kings II
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV: Dharma
  • Europa Universalis IV: Golden Century
  • Europa Universalis IV: El Dorado
  • Victoria 2
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Europa Universalis IV: Third Rome
  • Crusader Kings II: Sword of Islam
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Victoria 2: A House Divided
  • Europa Universalis IV: Mare Nostrum
  • Victoria 2: Heart of Darkness
  • Europa Universalis IV: Pre-order
  • AI should no longer pine for a matrilineal marriage if they have been turned off by game rules
Paradox, thank you.
 

Me_

Myself
67 Badges
Jan 14, 2011
8.231
5.444
  • Crusader Kings II
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Pre-order
  • Crusader Kings II: Jade Dragon
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Sengoku
  • Semper Fi
  • Europa Universalis: Rome
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis IV: Wealth of Nations
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Cadet
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Stellaris: Lithoids
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV Sign-up
  • Stellaris
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Warlock: Master of the Arcane
My, my, my, isn't that interesting. Manicheans are becoming more and more of their own religion with each dev diary.
This has already been mentioned in an eariel DD.

Sady, Manicheans are going to remain a heresy despite having more features than most full religions :(.
 

luanmameili[LM]

First Lieutenant
73 Badges
Nov 15, 2016
298
90
  • Stellaris: Galaxy Edition
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Pre-order
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Snowfall
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Tyranny - Tales from the Tiers
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • Hearts of Iron III
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Res Publica
  • Crusader Kings II: Rajas of India
  • Victoria 2: A House Divided
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Victoria 2: Heart of Darkness
  • Stellaris: Digital Anniversary Edition
  • Tyranny: Gold Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings III
  • Tyranny: Archon Edition
  • Tyranny: Archon Edition
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Field Marshal
  • Victoria 2
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
Yes, there are another five changelings.

  • Added Holy Order for Manicheans
  • Guardians can now be assigned from birth (though there are no effects until age 6.)
Regrettably these two have already been mentioned in another Dev Dairies. I would be more pleased if I can see something that has not been mentioned yet.
 

Meneth

Crusader Kings 3 Programmer
129 Badges
Feb 9, 2011
10.020
4.451
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • 500k Club
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Cradle of Civilization
  • Magicka: Wizard Wars Founder Wizard
  • Mount & Blade: Warband
  • Mount & Blade: With Fire and Sword
  • Crusader Kings II: Way of Life
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Field Marshal
  • Age of Wonders III
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Galaxy Edition
  • Surviving Mars
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Crusader Kings Complete
  • Steel Division: Normand 44 Sign-up
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - Parklife
  • Prison Architect
  • Stellaris: Leviathans Story Pack
  • Europa Universalis III Complete
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Europa Universalis IV: Rule Britannia
  • Teleglitch: Die More Edition
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Magicka 2 - Signup Campaign
  • Knights of Pen and Paper 2
  • Europa Universalis IV: Mare Nostrum
  • Knights of Honor
  • Deus Vult
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
Yes, there are another five changelings.

Regrettably these two have already been mentioned in another Dev Dairies. I would be more pleased if I can see something that has not been mentioned yet.
Didn't realize they'd been mentioned already. He's two other minor things to make up for it:
- Fixed Satanist merchant republics getting a inverted cross icon with the wrong background color
- Being assigned to a subunit that is participating in a siege no longer stops commanders from being assigned to a flank
 

JamesR87

Private
111 Badges
Oct 12, 2010
10
14
  • Sword of the Stars II
  • Heir to the Throne
  • Cities: Skylines - Snowfall
  • King Arthur II
  • Leviathan: Warships
  • Magicka
  • March of the Eagles
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Rome Gold
  • Semper Fi
  • Sengoku
  • Hearts of Iron III: Their Finest Hour
  • Supreme Ruler 2020
  • Supreme Ruler: Cold War
  • Victoria 2
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Rome: Vae Victis
  • Warlock: Master of the Arcane
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Pre-order
  • Darkest Hour
  • Cities in Motion
  • Cities in Motion 2
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Hearts of Iron II: Armageddon
  • Dungeonland
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • For the Motherland
  • Hearts of Iron III
It's strange seeing people use the ticket fields in Jira instead of just jamming everything into the description like my devs normally do!

I'm surprised that I don't see any Stash/BitBucket integration, is there a way to trace your commits to your tickets?
 

Me_

Myself
67 Badges
Jan 14, 2011
8.231
5.444
  • Crusader Kings II
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Pre-order
  • Crusader Kings II: Jade Dragon
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Sengoku
  • Semper Fi
  • Europa Universalis: Rome
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis IV: Wealth of Nations
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Cadet
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Stellaris: Lithoids
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV Sign-up
  • Stellaris
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Warlock: Master of the Arcane
- Fixed Satanist merchant republics getting a inverted cross icon with the wrong background color
Now, that's a true CK2 patchnote :D
 

Meneth

Crusader Kings 3 Programmer
129 Badges
Feb 9, 2011
10.020
4.451
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • 500k Club
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Cradle of Civilization
  • Magicka: Wizard Wars Founder Wizard
  • Mount & Blade: Warband
  • Mount & Blade: With Fire and Sword
  • Crusader Kings II: Way of Life
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Field Marshal
  • Age of Wonders III
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Galaxy Edition
  • Surviving Mars
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Crusader Kings Complete
  • Steel Division: Normand 44 Sign-up
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - Parklife
  • Prison Architect
  • Stellaris: Leviathans Story Pack
  • Europa Universalis III Complete
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Europa Universalis IV: Rule Britannia
  • Teleglitch: Die More Edition
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Magicka 2 - Signup Campaign
  • Knights of Pen and Paper 2
  • Europa Universalis IV: Mare Nostrum
  • Knights of Honor
  • Deus Vult
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
I'm surprised that I don't see any Stash/BitBucket integration, is there a way to trace your commits to your tickets?
On CK2 we use SVN. Whenever a commit relates to a Jira ticket, we include the ticket in the commit message.
E.G.,:
- Fixed it in some cases being possible for priests of religions where priests are not allowed to marry to marry or bethroth someone [CKTWO-8388]
 

Aardvark Bellay

Lord Wuffington of Grumpytown by the barks
21 Badges
Apr 5, 2001
14.384
1.694
  • Divine Wind
  • Stellaris Sign-up
  • Hearts of Iron IV Sign-up
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Holy Knight (pre-order)
  • 500k Club
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Victoria 2
  • Victoria: Revolutions
  • Heir to the Throne
  • Crusader Kings II
  • Europa Universalis III
  • Deus Vult
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
Well written diary.


.... the upcoming (no public ETA at this time) 2.8 patch:
....
Err..... are just talking ahead of time or do we not get an official 2.7.2 patch release, apart from the Beta of it ?
Did i miss something ?
 

Meneth

Crusader Kings 3 Programmer
129 Badges
Feb 9, 2011
10.020
4.451
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • 500k Club
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Cradle of Civilization
  • Magicka: Wizard Wars Founder Wizard
  • Mount & Blade: Warband
  • Mount & Blade: With Fire and Sword
  • Crusader Kings II: Way of Life
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Field Marshal
  • Age of Wonders III
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Galaxy Edition
  • Surviving Mars
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Crusader Kings Complete
  • Steel Division: Normand 44 Sign-up
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - Parklife
  • Prison Architect
  • Stellaris: Leviathans Story Pack
  • Europa Universalis III Complete
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Europa Universalis IV: Rule Britannia
  • Teleglitch: Die More Edition
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Magicka 2 - Signup Campaign
  • Knights of Pen and Paper 2
  • Europa Universalis IV: Mare Nostrum
  • Knights of Honor
  • Deus Vult
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
Well written diary.




Err..... are just talking ahead of time or do we not get an official 2.7.2 patch release, apart from the Beta of it ?
Did i miss something ?
2.7.2 will be released before 2.8 will, at some point after people return from vacation.
 

Sophokles

Private
32 Badges
Dec 28, 2009
19
26
  • Crusader Kings II: Charlemagne
  • Sengoku
  • Crusader Kings II
  • Heir to the Throne
  • Divine Wind
  • Europa Universalis III Complete
  • Europa Universalis III: Chronicles
  • Europa Universalis III
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Cities: Skylines - Parklife
  • Prison Architect
  • Cities: Skylines - Parklife Pre-Order
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV Sign-up
  • Crusader Kings II: Conclave
  • Crusader Kings II: Way of Life
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • 500k Club
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Cities: Skylines
How can a heresy have a holy order? What happens if Zoroastrianism gets overtaken?
 

Vaximillian

UNKNOWN STRING WANTED
30 Badges
May 17, 2008
6.533
2.818
  • 500k Club
  • 200k Club
  • Deus Vult

Keizer Harm

Swamp German
39 Badges
Jan 28, 2013
2.449
2.670
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings III
This was very interesting to read, @Meneth! As someone who has just recently worked with these tools in university, it was cool to read how an actual company does it.

But I kind of wonder: one issue we had during our sprints was assigning things to tasks that aren't generally divisible into tasks. One was research (figuring out how to use Cucumber in our case). And one I could imagine to come up for you is optimisation. A lot of work on that discipline was done before the Reaper's Due patch. So I want to ask: how do you divide something vague like "optimisation" into tasks? Is it like, everybody gets a task to dig around a certain section of the code for stuff that could be improved?
If you mean to talk about the tasks in a future dev dairy then you are free to wait until then and just count me an interested audience member :)
 

Aardvark Bellay

Lord Wuffington of Grumpytown by the barks
21 Badges
Apr 5, 2001
14.384
1.694
  • Divine Wind
  • Stellaris Sign-up
  • Hearts of Iron IV Sign-up
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Holy Knight (pre-order)
  • 500k Club
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Victoria 2
  • Victoria: Revolutions
  • Heir to the Throne
  • Crusader Kings II
  • Europa Universalis III
  • Deus Vult
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
2.7.2 will be released before 2.8 will, at some point after people return from vacation.
Thanks for the assurance. :)

I thought i'd better ask, because you never know.... ;)
Cheers
 

Meneth

Crusader Kings 3 Programmer
129 Badges
Feb 9, 2011
10.020
4.451
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • 500k Club
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Cradle of Civilization
  • Magicka: Wizard Wars Founder Wizard
  • Mount & Blade: Warband
  • Mount & Blade: With Fire and Sword
  • Crusader Kings II: Way of Life
  • Stellaris: Digital Anniversary Edition
  • Hearts of Iron IV: Field Marshal
  • Age of Wonders III
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Galaxy Edition
  • Surviving Mars
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Crusader Kings Complete
  • Steel Division: Normand 44 Sign-up
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Expansion Pass
  • Cities: Skylines - Parklife
  • Prison Architect
  • Stellaris: Leviathans Story Pack
  • Europa Universalis III Complete
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Europa Universalis IV: Rule Britannia
  • Teleglitch: Die More Edition
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Magicka 2 - Signup Campaign
  • Knights of Pen and Paper 2
  • Europa Universalis IV: Mare Nostrum
  • Knights of Honor
  • Deus Vult
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
This was very interesting to read, @Meneth! As someone who has just recently worked with these tools in university, it was cool to read how an actual company does it.

But I kind of wonder: one issue we had during our sprints was assigning things to tasks that aren't generally divisible into tasks. One was research (figuring out how to use Cucumber in our case). And one I could imagine to come up for you is optimisation. A lot of work on that discipline was done before the Reaper's Due patch. So I want to ask: how do you divide something vague like "optimisation" into tasks? Is it like, everybody gets a task to dig around a certain section of the code for stuff that could be improved?
If you mean to talk about the tasks in a future dev dairy then you are free to wait until then and just count me an interested audience member :)
For research, an answer from a content designer would probably make the most sense. My understanding though is that they split tasks in two; a research task and an implementation task.

For optimization, that's generally one big task just outlining how much of an improvement to game speed we're looking for.
When we did the optimization pass last summer, I went hunting all over the code base, while the other two programmers looked at much more specific performance issues. Gwen for example looked at how to make the autosave process quicker (among other things).
The vast majority of tasks however are given to a single person. If that person runs into a wall (for example, a content designer discovering that a code change is needed), they then reassign it to someone else.
 

Enriador

Lt. General
53 Badges
Oct 9, 2012
1.628
869
  • Crusader Kings III
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Jade Dragon
  • Hearts of Iron IV: Cadet
  • Age of Wonders III
  • Stellaris: Synthetic Dawn
  • Hearts of Iron IV: Death or Dishonor
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Holy Fury
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Apocalypse
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Prison Architect
  • Imperator: Rome Sign Up
  • Hearts of Iron IV: La Resistance
  • Hearts of Iron IV Sign-up
  • Victoria 2
  • 500k Club
  • Mount & Blade: With Fire and Sword
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Stellaris
  • Stellaris Sign-up
  • Pillars of Eternity
  • Hearts of Iron III
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron III: Their Finest Hour
  • Semper Fi
  • For the Motherland
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • March of the Eagles
  • Europa Universalis III
  • Europa Universalis III: Chronicles
I hope you found this look into how we handle bugs at CK2 informative.
Are you kidding? This was a hell of an explanation! Please Meneth keep writing diaries even after the vacation ends.

Guardians can now be assigned from birth (though there are no effects until age 6.)
Took five years, but we got it. Thanks a lot!