Hi everyone, I'm vukica and I'm the lead developer for CK2 Plus mod. I've been in the team since February 2016, and I took over in October.
I though that it might be a good idea to provide some insight how mod is made and maintained, because it seems to me there are a lot of misconceptions about it.
First thing's first. This mod has been here almost as long as the base game. A year or something less. That's a lot. That also means that this is basically a form of a community project. Other mods were included, more than 50 team members have passed through our ranks, and a lot of our tweaks are implemented because the community suggested them. All of this means that no one in particular "owns" the mod. It can't be bought, sold or made into a DLC. Personally, I think this is a good thing.
Second thing I'd like to talk about is code sharing. As an insider I find it really funny when folks open yet another Plus vs. HIP thread and claim things like "Plus has better factions" or "HIP has better factions".
Guess what? It's the same code!
There are some really really really minor differences, but other than that it's all the same. Factions are not the only mechanic that's shared between Plus and HIP. There's some nomad functionality, and sainthood and coronation systems.
We also share some code with AGOT. The latest example is the tyranny system which originated in Plus. It was removed in Plus when conclave came and we've managed to reintroduce it with 2.7. While doing that we also imported changes AGOT did in the meantime. How great is that?
But now, let's focus on the main point of this post, the way of working.
In recent months we've changed the way the mod is maintained.
We used to have a single branch where both save compatible and incompatible changes were made. This caused a problem rather quickly because it meant we couldn't release fixes for you guys and had to wait for major CK2 updates. This also means that all the fixes and minor additions were only tested by the team members. That's why we had more faults that I'm comfortable with when MnM came out.
We now have two separate development tracks, fix_release and master. The release branch is used exclusively for save-compatible stuff. Nothing in there should ever break save compatibility. Master is used for stuff that will break compatibility or large changes that require more work and would impede continous releases.
Judging by the sheer number of fixes in recent changelog I think this was a good decision. We have more feedback and we get it more often than before.
Another added benefit of this strategy is that you guys will probably have updates for CK2 2.7 released right untill we complete and release 2.8 compatch.
Work on the mod is coordinated on our private slack channels, where we discuss potential improvements and tweaks and try to figure out more complex issues together. We also use github issue system to write down ideas and make checklists of what needs to be done. So, for the end of this diary, I'll share with you how one of the tickets looks like and some of the repository statistics.
Our main repo has existed since Jul 13, 2014.
There are currently 5735 commits in it by 15 contributors.
In the last year we had 2249 commits with a total of 680 000 line changes by 9 contributors.
Most commits we've ever had was last year in the week of 26th March when a total of 223 commits were made in a week. Friday of the same week had 59 commits.
That's it for now, I hope you found this interesting.
There probably will be future Modder Diaries, but this won't be a scheduled weekly thing. When we have something relevant to share we will share.
I though that it might be a good idea to provide some insight how mod is made and maintained, because it seems to me there are a lot of misconceptions about it.
First thing's first. This mod has been here almost as long as the base game. A year or something less. That's a lot. That also means that this is basically a form of a community project. Other mods were included, more than 50 team members have passed through our ranks, and a lot of our tweaks are implemented because the community suggested them. All of this means that no one in particular "owns" the mod. It can't be bought, sold or made into a DLC. Personally, I think this is a good thing.
Second thing I'd like to talk about is code sharing. As an insider I find it really funny when folks open yet another Plus vs. HIP thread and claim things like "Plus has better factions" or "HIP has better factions".
Guess what? It's the same code!
There are some really really really minor differences, but other than that it's all the same. Factions are not the only mechanic that's shared between Plus and HIP. There's some nomad functionality, and sainthood and coronation systems.
We also share some code with AGOT. The latest example is the tyranny system which originated in Plus. It was removed in Plus when conclave came and we've managed to reintroduce it with 2.7. While doing that we also imported changes AGOT did in the meantime. How great is that?
But now, let's focus on the main point of this post, the way of working.
In recent months we've changed the way the mod is maintained.
We used to have a single branch where both save compatible and incompatible changes were made. This caused a problem rather quickly because it meant we couldn't release fixes for you guys and had to wait for major CK2 updates. This also means that all the fixes and minor additions were only tested by the team members. That's why we had more faults that I'm comfortable with when MnM came out.
We now have two separate development tracks, fix_release and master. The release branch is used exclusively for save-compatible stuff. Nothing in there should ever break save compatibility. Master is used for stuff that will break compatibility or large changes that require more work and would impede continous releases.
Judging by the sheer number of fixes in recent changelog I think this was a good decision. We have more feedback and we get it more often than before.
Another added benefit of this strategy is that you guys will probably have updates for CK2 2.7 released right untill we complete and release 2.8 compatch.
Work on the mod is coordinated on our private slack channels, where we discuss potential improvements and tweaks and try to figure out more complex issues together. We also use github issue system to write down ideas and make checklists of what needs to be done. So, for the end of this diary, I'll share with you how one of the tickets looks like and some of the repository statistics.
Our main repo has existed since Jul 13, 2014.
There are currently 5735 commits in it by 15 contributors.
In the last year we had 2249 commits with a total of 680 000 line changes by 9 contributors.
Most commits we've ever had was last year in the week of 26th March when a total of 223 commits were made in a week. Friday of the same week had 59 commits.
That's it for now, I hope you found this interesting.
There probably will be future Modder Diaries, but this won't be a scheduled weekly thing. When we have something relevant to share we will share.