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

EU4 - Development Diary - 5th of February 2019

Good morning and welcome to today's EU4 Dev Diary. As many no-doubt noticed, yesterday, patch 1.28.3 went live. This contains hundreds of bug fixes which the team have been hammering away at over the course of January. It, along with other Technical Debt is one of the main focuses of the year and while they're not always so sexy to talk about and show off, they remain important. There will be more fixing to come as we work towards our big end of year expansion.

For those who missed it, you can check the full patch notes in last week's dev diary

This also marks the end of our free trial of Mandate of Heaven. It was exciting to try out such a system, where players could sample a DLC without having to commit to a purchase. In this case, not even needing to purchase a gaming magazine to get your demo disc. Given the very large uptake of the Mandate of Heaven trial, it's no question that we'll continue to do these on a monthly basis. Keep your eyes peeled towards the end of this month for the next Free DLC.

Something else that this patch marks the end of is something that has been requested quite a bit. 1.28.3 is be the last 32-bit version of EUIV, as we are going to upgrade EUIV to 64-bit in the next update. This comes with various advantages, but it also means that EUIV will no longer be supported by 32-bit systems for all platforms: Windows, Mac and Linux. 1.28.3 will be the last playable version of EUIV for 32-bit systems.

With a growing lack of support industry-wide for 32-bit, we have made this rather heavy decision. When we roll out the next update for EUIV, 32-bit users will either have to roll back to 1.28.3, or upgrade their system. We are letting you know this as soon as we can, so that users have the opportunity to upgrade in the coming months. This change will affect the 1.1% of our players who are currently playing EUIV on a 32-bit system.

We'll make further reminders regarding 32-bit support closer to the next update, but this will be months away.

As development continues with a heavy focus on technical debt among other things, it means we won't have any changes in the game to show off for some time, so expect some more light and/or filler dev diaries for a while.
 
Last edited:
There's still plenty of time to make suggestions.

I like, appreciate and use the Random Nation feature. The Random Nation feature is important to me. Please give the Random Nation feature some more attention when you have some time.

The beauty of the Random Nation feature is that it samples the variety of content you developers have built into the game over the years. The sampling is however uneven. For example, Random Nation does not sample the Japanese daimyo very well. Daimyo, and vassals/subjects generally, are not very accessible via Random Nation.

Random Nation does not assign nations that first appear after 1444 as far as I know. Since you have spent effort developing such nations, it would be nice if Random occasionally chose such nations for me to play.

In summary, if there exists content in the game, and if you developers have put effort into developing the content (whether recently or years ago), then I would like Random Nation to direct me to the content—with probabilities in approximate proportion to development effort. If you have made something good, why, I would like to try it. I would like Random Nation to help me to find it.

I would suggest rebalance of Random Nation from this perspective.
 
Last edited:
Sooo much misinformation about 64 bit and what 64 bit even is.
First let me blow your minds.. There is no 64 bit on windows in the home environment, only 48 bits afaik. Thats 48 bits addressable space. Servers have true 64 bit.
Pointers are 64 bit wide if you run your CPU in 64 bit mode, thats pretty much the definition of 64 bit mode. You can theoretically address 2^64 bytes of memory with that, which is the currently absurd amount of ~16 Mio Terrabyte of main memory. For that reason current CPUs only provide 48 Bit of address lanes, which means you can physically only address 2^48 bytes of memory (256 Terrabyte). But this has nothing to do with your code as pointers will always be 64 bit, not matter how many address lanes your CPU really has.

Second- Windows only allows 3.5GB to be addressed. That includes ALL memory including GPU.
That is true for 32 bit Windows only.

Third- 64 bit doesnt mean anything performance wise...
Yes it does. The "amd64" or "x64" architecture (the 64 bit Intel/AMD "stuff") brings along other changes than just bigger pointers. The amd64 arch has e.g. double the number of registers than the ia32 (the 32 bit Intel/AMD architecture), which do provide a small performance gain.
Also if you can use more than 4 GB (or in reality less as with the above mentioned 32 bit Windows) of memory: If you can keep more of your stuff in memory, you don't need to wait for slower memory, like your harddisk or ssd. This often more than offsets the drawbacks from having to store the larger pointers on memory.

.. unless they put more effort into multithreading.
There are quite some threads about this on the forum. I assume that the current game simply cannot be made more multi-threaded in a meaningful way, as too much stuff is interdependent. So lets be happy for the 5% gain the 99% get with the switch to amd64.
 
That is true for 32 bit Windows only.


Yes it does. The "amd64" or "x64" architecture (the 64 bit Intel/AMD "stuff") brings along other changes than just bigger pointers. The amd64 arch has e.g. double the number of registers than the ia32 (the 32 bit Intel/AMD architecture), which do provide a small performance gain.
Also if you can use more than 4 GB (or in reality less as with the above mentioned 32 bit Windows) of memory: If you can keep more of your stuff in memory, you don't need to wait for slower memory, like your harddisk or ssd. This often more than offsets the drawbacks from having to store the larger pointers on memory.
Keep in mind that above 31 GB of RAM, those larger pointers can actually eat up a large amount of the RAM, and eit is extremely hard to coax out more useful RAM until around 48 GB...

But if your game is using that much RAM, you are either using way too much RAM or are playing Minecraft, which as a Java application has no understanding of being efficient at RAM usage.
 
Keep in mind that above 31 GB of RAM, those larger pointers can actually eat up a large amount of the RAM, and eit is extremely hard to coax out more useful RAM until around 48 GB...

But if your game is using that much RAM, you are either using way too much RAM or are playing Minecraft, which as a Java application has no understanding of being efficient at RAM usage.

Or you're playing Battletech with it's memory leak of doom
 
Keep in mind that above 31 GB of RAM, those larger pointers can actually eat up a large amount of the RAM, and eit is extremely hard to coax out more useful RAM until around 48 GB...
What kind of barrier would that be? The additional amount of space required for the larger 64 bit pointers is simply dependent on the number of pointers your program uses; not necessarily on the amount of RAM you use.

But if your game is using that much RAM, you are either using way too much RAM or are playing Minecraft, which as a Java application has no understanding of being efficient at RAM usage.
You can write inefficient programs in any programming language... ;)