• 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.
@podcat asked me to prepare a Dev Diary from a Project Lead perspective...
Quick background on me: I came on as Project Lead for HOI4 shortly after the game was released, last summer. That’s my perspective. I speak from a expansion-development point of view, and our work going forward.

The purpose of today’s Dev Diary is to give you a little insight into our development process.
Why we fix some bugs and leave others... How we decide what goes into the next expansion... and more.


Imagine, if you will, a crowded bar
Imagine all the customers screaming out their orders at once, to a single hard-working bartender.


How many words do you think the bartender will be able to make out, over the collected noise of the crowd?
How many drink orders do you think he will he be able to get right?

If you answered “none”, you’d probably be close to the truth.

My job, if I’d been working in that bar, would be to to organize a queue-system that works.
To move things along and make sure that people get what they want, as quickly as possible.

As project lead at Paradox; it’s my job to make sure that our players get what they want.
Best possible value in the game, within the shortest possible amount of time.

Here is a super condensed version of how the team and I go about making this happen.


The Design Process
First, within the team; the designer speaks for the players. They’re the one that decide what the team should do.
(Game director @podcat and game designer @Pallidum , in our case.
Continuing with the bar analogy; they’re the people who have a feel for the market and decide what goes on the drinks menu.)

New content to keep players engaged and happy... Weaknesses in the game that needs to be addressed... A balanced mix of all that good stuff is collected together in a “design document”.

The document explains the vision for each new feature, or fix, that goes with a new expansion. It essentially serves as a specification, or commission for work to be done, for the team.


How do we decide what new features and fixes go into an expansion?
The designers base their decisions on what goes into the design document, on, for example:
  • Do the features fit into the overall theme of the expansion?
    (This also goes for bugfixes where we prefer to work by theme. For example Air or Naval).
  • Do we hit a good mix of paid features and free features?
    (A lot of this is decided on how difficult things are to implement and their impact on the game’s balance.)
  • Data we collect on player behavior.
    That data is analyzed and lead to new features or fixes.
  • We have a database full of suggested improvements.
  • Not to mention bugs that we prioritize and work off, in priority order.
  • We also closely monitor mainly this forum, and (to a lesser degree) other HOI-communities, in case something pops up. Both bugs or inspired posts in the suggestion forum.

lumbergh-hawaiian-shirt.gif

(For the love of God, YES! We saw the forum bug report.)


How do we choose which bugs to fix? (A bug’s journey from the bug forum to being fixed)

As I mentioned; we have a big database with bugs, improvement ideas and feature-suggestions.
(Really big. You just won't believe how vastly, hugely, mind-bogglingly big it is. I mean, you may think it's a long way down the road to the chemist, but that's just peanuts to our database.)

A lot of entries in this database, however, are related to the same underlying system. Doing an overhaul on that system will get rid of a whole bunch of bugs. These are things we prioritize.

A bug often starts out coming onto our radar by being reported, here, in our bug forum.
(I really want to stress this point, because we occasionally see people posting bug reports on reddit or other places. The odds of someone from Paradox stumbling over those reports and carrying them forward into our database are slim.)

The bug is transferred from here into our database. And we start looking into it, by analyzing it.
We need to know how frequent the problem is. How serious, and how quick it is to fix.
The more frequent or serious it is increases its chances of getting fixed. Soon.
If it also happens to be quick to fix… well, that’s just a win-win.

yes_data.gif


If a bug is serious, frequent and quick to fix and it’s still not being fixed… The most likely explanation to why we’re not fixing it ; is because we simply couldn’t fit it into our schedule.

It might help to understand this, if you…

Think of the development process as a single work day...
Serious things you hear about, before lunch, will get fixed before the day is done. For sure.
Then you might work on something else, with lower priority, for a while.
Until the next big problem pops up.
But, by then, you can’t start on it. Because you can’t get it all the way done, before you have to go home. It’ll have to wait until the next day.
So, in order to not waste precious time, you squeeze in something else that will fit.

This is how our development cycles work. Sometimes we simply can’t start on something and get it fixed, or improved, before the expansion has to ship.
(This also illustrates how sometimes things with lower priority get done when some higher prio stuff are left for later.)


Difficult judgement calls
Other bugs or suggestions are more up for debate.
Doing something that will make one group of people leap for joy - might seriously anger another group. We have to stay on top of that.


The big time-stealers
Not to mention that some requests, like improving AI, is a perpetual job that can’t be rushed.

As obvious as it is that an area needs work; some things are like hatching an egg. It takes the time it takes. No matter how many bodies you throw on the problem.

vtSueQywDwn2U.gif

(Btw, this is how I imagine a Steam Summer Sale going. If Steam was a physical store.)


The Breakdown & Estimation process

Moving on: Once the design doc is complete… The team takes the design and breaks it down into bite-size tasks for coders, content designers, art, UX-design, sound etc.

When we have everything broken down into a list of tasks; we sit down together and “estimate” each task. Giving us an idea of how long the full feature will take to develop, once you add it all together.


How are deadlines and release-dates determined?
Paradox has a plan for how many expansions/DLCs we should release per year.

HOI4 release dates are determined based on: 1. that plan, 2. how quickly we can reach the desired sell-value of the release, and lastly 3. coordinated with specific dates that our marketing team have selected.
(More on this subject in next week’s Dev Diary.)


Can we make the expansion-design happen within the deadline?
After all features have been estimated; I can figure out if what we want to do is possible within the deadline. With the people at our disposal.

If yes: Huzzah!

If not: This is where I have to crush the designer’s hopes and dreams.

DHzBZxSU0AAQzXL.jpg

Splat!

We need to cut something in order to be able to finish on time.
This is something we discuss and agree on, together. While I gently pat their backs and hand them tissues.


What gets cut?
When cutting something I have to consider, for example:
  • The desirability and priority of the feature.
  • What people we have available.
    • How much, and what, each person can work on.
    • While not being blocked, or blocking, someone else.
  • What features tie into other features.
    (If there is anything independent enough to cut cleanly.)
Sometimes laying this complex puzzle, trying to fit high priority pieces together, is trickier than trying to nail jello to a wall. Things slip and change constantly. This is the very essence and nature of development work.

projectcartoon.gif


In closing

Speaking of the nature of development work… While the example above mostly serves illustrate problems with communication, which is always a factor when people with different perspectives discuss something… I think it says something about how frequent certain development problems are; that a site exists where you can create your own project cartoon, like this one.

The issues that Paradox and HOI4 struggle with are the same problems that all IT projects, everywhere, grind their teeth over. It’s terribly complex work. Which is why, although the problems and risks are well known and can be anticipated and planned around, to a degree… they remain.

The silver lining, I think, is that while our problems are the same… we at Paradox have a hell of a lot of fun while working on them.

Next week, our Brand Manager will write a Dev Diary. Before handing the baton back to podcat.

Don't forget to tune into World War Wednesday today at 16:00CEST on https://www.twitch.tv/paradoxinteractive! To see podcat run Germany in massive co-op, with the other devs as generals.
 
Last edited by a moderator:
'You can please some of the people all of the time, you can please all of the people some of the time, but you can’t please all of the people all of the time'

Nah, pretty sure there's people who it's impossible to please. Some of them are project managers!
 
Not at all.

My background is as a coder/project manager for 20 years. In IT and software development.
I have accumulated certifications for a number of the industry standard methodologies, such as scrum, kanban and other agile certifications over the years.
So I've done coding. School. I have years of relevant experience. The whole nine yards. (Not to mention being a life long gamer. And long-time strategy- and Paradox fan.)

Mine is not the only way to go however.

We have project leads working here who have started in junior positions and worked their way up. (Once they've proven to have organizational skills, leadership talent and an ability to get things done.)
Everyone has a mix of something, to compliment their management skills. Be it technical, economics or something else.
For new hires, these days, we favor experience in leading complex development projects in IT and games industry.

Best advice I can give someone who wants to get into the business, in one capacity on another, is to work as a coder, QA, project manager, designer in a similar field. And do mods in your spare time. Or create your own game.

Especially if you haven't got previous experience in the games business. This is a great way to stand out and beef up your CV!
We have so many people here at Paradox, and on the HOI-team, who were modders before they joined. They beat out the competition by not only telling Paradox that they were passionate about our games... but they had proof to back that up.

Hope that helps. :)

Yes! Thank you very much for the detailed answer!
 
Most of the serious design work is done with some form of alcohol involved ;) Brainstorming->detail design matches roughly: whisky->wine->coffee scale ;)

So that's the reason behind stuff like this? ;)

nb5301.jpg
 
Only softly (ppl write revisions and such in jira). We have been looking into more integration with https://www.atlassian.com/software/fisheye but the judgement is still out on that one a bit.

At a previous role, I found that the team found this useful though that was a SaaS with an Ajax frontend/PHP backend. So it may not apply to what you guys code in. (I assume C#? I don't actually know tbf) Why is the jury out on it then for you guys?
 
THIS! 110% this!
OK, let me see if I understand you. You don't like gifs, but love adding a sig to your messages in a font that is larger than normal, neon, and in at least 1 part uses a different color for each character in a word.

I am not a huge fan of gifs either, but can you guess which one I find more annoying?
 
Agree. This is NOT the Dev Diary as expected. It reflect the progress more on design phase and not yet has decision.
And yet is it EXACTLY the DD promised in last weeks DD.
 
Can you fix the problem in multiple mods where parachuting crashes the game?
I have one question.
Does it happen in Vanilla?

My guess would be that the answer to my question is the same as the answer to yours. Put another way, if it works correctly in Vanilla it isn't broken and the mods need to determine what they are doing that breaks it.
 
That last sentence sounds like the speed to fix something is secondary? I.e. let's say bug A is 12x more frequent/serious than bug B but takes 50x longer to fix. Which bug would you prioritize? So far when I reported bugs, I prioritized things that I think are clear-cut and easy to fix.
From the DD it sounds like A would be prioritized at the beginning of the development process, but B would get priority towards the end of the process.
Also, just because something looks clear-cut and easy to us doesn't mean it is to them.
 
Quite the disappointing dev daily if you ask me...It's a shame that a far amount of people who do this for free put a lot more work then this...Disagree or Agree all you want,it's how i feel.

Unfortunately comparing what modders do to what the devs do is not as accurate or logical as it may seem. Modders are dealing mainly in variables but are constrained by the code beneath. Devs are more concerned with the code beneath. Code is much more difficult to deal with. Best way to think of it is like a super complex game of Jenga, Well planned moves can still cause a crash and the more one changes the structure the greater the chance of that crash.
 
+1 for Gifs from another lurker. I came for the info and stayed for the humor :p
Appreciate that. As a former forum admin/mod, since the mid 90's and onwards, it always tickles me to get a lurker to post. Welcome! :)

Could you explain a bit how you define "balance" in terms of this game and how it's getting tested?
I hope the answers that podcat provided for your questions helped to clear things up a bit.

Do you not use JIRA's time management or maybe a plugin? There's quite a few though at the moment our development team isn't mature enough to start doing this with the time estimates due to various contract issues. (most are contractors)
I've tried a number of different resource managament tools and haven't come across one that can handle our complexity in a way that actually helps and saves me time.

To give everyone an idea of the complexity we keep mentioning:
The main complication that we face, which is a well known issue in the games industry... is that there are so many different professions involved in getting one feature done.
A common scenario is (simplified, believe it or not):
  1. A new feature starts out with a designer.
  2. Then it's taken over by a coder.
  3. Then handed off to a UX Designer.
  4. Then back to a coder. (preferably the same one)
  5. And art (Which in this example could be started at the same time.)
  6. Then AI.
  7. Then Content Design.
  8. One final pass for a coder.
  9. Then QA
  10. Who most likely hands it back to the coder.
  11. QA again
  12. And so on.
Now imagine that we a dozen new features, in various stages of development, being worked on at the same time.
And only a limited amount of people in each profession.
Making sure that nobody is blocked from doing their part by someone else is a... (biting back from not using foul language here) ...challenge.

There are certain tools and data that I don't have access to here at Paradox that would help. https://www.gooddata.com, to mention one. (You can use this to produce various reports, burndowns etc, that are far superior to JIRAs build-in ones.)
As our teams and projects grow; I see us exploring this area more in the future.

Also, @KimchiViking , if you guys are using JIRA and trying to determine new features et al. Would it be helpful to put issues out to us to vote on?
This would be opening a Pandora's box, I'm affraid.
 
I must confess... I was wondering how long it would take for someone to write something similar. Page 3. Check.

With the reception of the expansions I have been apart of... there could be a valid question hidden there. Somewhere, under the uncalled for rudeness.

The circumstances that I and the team have worked under for the last year, however, is something that I couldn’t talk about - even if someone asked nicely.

Fortunately for me; people who are in a position to actually see what the team has to work with, and what I do with my responsibility areas for the game, are the ones who have a say in my future with the company.

All that a comment like this does - is showcase (for those of us who do know a thing or two) the poster's utter ignorance and lack of insight into how this or any other development project works.

Always someone that wants to piss in the Cornflakes......

Very well written DD, very well. I also found it interesting to read and for the people that complain of the content it was said over and over what was gonna happen. Nobody promised you information on the next patch.
 
Always someone that wants to piss in the Cornflakes......

Very well written DD, very well. I also found it interesting to read and for the people that complain of the content it was said over and over what was gonna happen. Nobody promised you information on the next patch.

They promised that this DD and the next were going to be like this. As they got back up to speed after everyone was on vacation. So why anyone who is even semi-active on the forums is surprised is hard to understand.
 
They promised that this DD and the next were going to be like this. As they got back up to speed after everyone was on vacation. So why anyone who is even semi-active on the forums is surprised is hard to understand.
Wait... wait... I think you're on to something here. It's almost as if people only read and retain the information that is relevant to their interests. Huh. Imagine that.
;)
 
Wait... wait... I think you're on to something here. It's almost as if people only read and retain the information that is relevant to their interests. Huh. Imagine that.
;)
tumblr_inline_nro152mUxi1r525wt_500.gif
 
please
fix the event for germany getting their half of poland from russia using the MR pact if russia eats poland instead this patch
they get everything aside from the 2 provinces that poland nabs from czech and its been driving me insane and stopping me from doing a more peaceful germany game since you introduced it because i hate the russian having that land right there for no reason at all
im pretty sure i made a bug report a long time ago on it now (though i can hardly remember anymore so who knows if i actually did) and ive posted several other times about it in the comments for a few dev diarys
please fix it

that aside nice diary, much better then not getting anything because a new expantion is in the works like last time, i hope for great things
and for germany to get all of poland when russia honors the MR pact
but i digress

Great literature and artists have been cited in this thread.
  • Terry Gilliam
  • Douglas Adams
... and with post #23233922 quoted above,
 
This screen shot provides hope for some of the HoI4 customers.

One interpretation of the secret message encrypted below is that in a coffee shop, somewhere, someone is working on the Teleporting Bomber conundrum.

upload_2017-8-31_8-16-22.png


Not trying to read too much into arcane messages, but could it be that a hard working employee is coming up with a method to better intercept bombers as they fly towards their targets?

Here's a stab at translating the above message:

100%
70%
10%
0%

0. Target Select
1. Interception - how many fight
2. Fight:
3. Bombers bomb - disrupt % lost bombers


But, it appears that some other customer has espied (and circled in red) the bottom line that deflates the hope-filled translation:

upload_2017-8-31_8-25-47.png


(My apologies if the notebook screenshot has already been dissected and discussed elsewhere. If it has, please provide a link).