Home of Rakaly’s blog. This will be used a platform to talk about features, bugs, or just the interesting technology that makes up Rakaly.

EU4 AI builds to force limit even if greater than supply limit banner

EU4 AI builds to force limit even if greater than supply limit

Published on:

With the advent of mega cities introduced in EU4 leviathan, we’re encountering a new class of bugs: bugs where a country’s force limit outstrips their entire supply limit. A player would be able to adapt by building to their supply limit instead of their force limit, but the AI is does not yet realize this.

Read more...


Rakaly Status Report #10: Survey Results and User Statistics banner

Rakaly Status Report #10: Survey Results and User Statistics

Published on:

Rakaly’s first user questionnaire is now closed. Thank you to all who took the time fill out the survey. This post contains the results, some of which are surprising. User events are now captured to determine how popular certain features are.

Read more...


Leviathan Update banner

Leviathan Update

Published on:

Rakaly now has support for Leviathan! You can analyze and upload Leviathan saves like normal. All prior uploads have an additional 10% tax added onto their in game time. There were some challenges in implementing Leviathan support due to changes in the save and game – like wasteland terrain and monument dates

Read more...


User Questionnaire banner

User Questionnaire

Published on:

Until now I’ve been relying on generous feedback from users who go out of their way to share their tips or tribulations. So I’ve written a short survey that should offer a streamline process for users to voice their views on Rakaly.

Read more...


EU4 AI Loves Its Trade Companies banner

EU4 AI Loves Its Trade Companies

Published on:

The EU4 Spanish AI finds it normal to spend 40k on trade company investments while neglecting to construct buildings in the homeland. And the Spanish aren’t alone. Rakaly’s province details view and expense table allows insight not possible in game and made this phenomenon obvious.

Read more...


Thoughts on Converting PDS Clausewitz Syntax to JSON banner

Thoughts on Converting PDS Clausewitz Syntax to JSON

Published on:

After one is familiar with the PDS Clausewitz syntax, it becomes almost too tempting to try and convert it to JSON as both are document formats that share a lot of similarities, except the former is a undocumented format and the other is the world’s most popular data interchange format. There are a lot of nuances in the conversion between the two, so I figured I’d take the time and do a brain dump of my thoughts.

Read more...


Rakaly Status Report #9: The UI Refactor banner

Rakaly Status Report #9: The UI Refactor

Published on:

Last month was used to refactor the UI: hundreds of files and tens of thousands of lines changed for no discernible visual difference. This refactor unlocked performance improvements that should allow Rakaly to load faster. More importantly it gave me time to rework all of Rakaly’s logic into a coherent structure that should hopefully allow for faster development.

Read more...


Rakaly Now Accepts All Saves as Uploads banner

Rakaly Now Accepts All Saves as Uploads

Published on:

Today marks the first day that Rakaly allows all saves (patch 1.29 and above) to be uploaded. Previously, only saves that contained record breaking achievements in ironman were accepted. Everyone will get 10 save slots and record breaking ironman saves won’t consume a slot. It’s a start and things will change but it’s been a goal from the start to allow all saves.

Read more...


Rakaly Status Report #8: Accuracy and Wars banner

Rakaly Status Report #8: Accuracy and Wars

Published on:

A good amount of work when into this status report. Some highlights:

Read more...


Tracking Tag Switches in EU4 Save Files banner

Tracking Tag Switches in EU4 Save Files

Published on:

In EU4, when one forms another country or changes their country ID, it is called tag switching. The implications for tag switching is important to understanding the course of events. Countries come, go, and can reappear so it’s important to differentiate players. EU4 save files record tag switches (with some edge cases!), and this post will be about following the changes in tags in a given playthrough.

Read more...


Rakaly 2020 Overview banner

Rakaly 2020 Overview

Published on:

It’s hard to believe that it’s been 6 months since Rakaly has launched. It feels like both a short and long time. I figured it was best to look back at what was accomplished and what is planned for 2021. Overall I’m very pleased with how things have turned out for Rakaly in 2020 and I hope for this to be the first of many annual reviews

Read more...


Rakaly Status Report #7: UI Rework banner

Rakaly Status Report #7: UI Rework

Published on:

There’s been a major update to the Rakaly UI and I wanted to walk through what’s changed and the reasoning behind it. I know UI redesigns can be contentious so I’m hoping that the explanation is worth it.

Tabs have been replaced with a flat page of visualizations with sample images. And when drilling into a visualization, it will now cover the entire screen.

Read more...


Rakaly Status Report #6: Maps! banner

Rakaly Status Report #6: Maps!

Published on:

EU4 is just a fancy map simulator and any EU4 site without maps would be incomplete. I’m excited to announce that Rakaly now features maps!

Right now it’s very limited. The only maps Rakaly knows how to generate are political maps at the current date of a save file. I still think this is a very important first step. Lots of possibilities have opened up.

Read more...


Rakaly Status Report #5 banner

Rakaly Status Report #5

Published on:

Though it may not look like it, a lot of work has gone into Rakaly in the past month:

Read more...


Calculating EU4 Province Terrain banner

Calculating EU4 Province Terrain

Published on:

One of the EU4 achievements left to implement is Eat your Greens where one needs to control all grassland provinces in Asia. While the terrain of a province is an easy concept to grasp, it’s surprisingly difficult to calculate. One can explicitly set the terrain of a province (and this has its own edge case) and the other half of the world has an automatic algorithm that leverages several game files and very low level details about BMP images. I’ve reverse engineered and documented the algorithm.

Read more...


A Tour of PDS Clausewitz Syntax banner

A Tour of PDS Clausewitz Syntax

Published on:

Paradox Development Studio (PDS) develops a game engine called Clausewitz that consumes and produces files in a proprietary format. This format is undocumented. I decided it would be worthwhile for myself as well as future developers interested in writing parsers to not only know the basics of this format but also the edge cases that I’ve encountered along the way.

Read more...


Rakaly Status Report #4: Imperator, APIs, and Moving banner

Rakaly Status Report #4: Imperator, APIs, and Moving

Published on:

It’s been a few weeks since the last update as my time has been taken up by moving a household to a new city, but I have some tidbits in store:

Read more...


Rakaly Status Report #3: Crusader Kings III banner

Rakaly Status Report #3: Crusader Kings III

Published on:

Crusader Kings III was released 10 days ago. And for 10 days I’ve lost myself in adding support for CK3 saves and improving the core parser. It started out as a “I wonder how close CK3 saves are to EU4 saves” experiment. Initial testing showed they were quite close so I kept pushing to completion, but I’d always be tripped up by a new syntax or encoding. I’m pleased to announce that I have the CK3 syntax under control and the core parser walks away faster and more robust than before.

Read more...


Rakaly Status Report #2: Desktop Musings banner

Rakaly Status Report #2: Desktop Musings

Published on:

It’s been my goal since day 1 for there to be a desktop component to Rakaly that uploads saves while you play. It would work by watching for save files and uploading them to the server when a new one appears. There are two underlying reasons why I want a desktop component: backups and richer analytics. There are a couple of unsolved problems that need to be fixed before I can consider further development on the desktop version and allowing one to upload all saves

Read more...


Tracking Province Building Construction Dates banner

Tracking Province Building Construction Dates

Published on:

Racing bar charts are seemingly all the rage now, so of course I must capitalize on this opportunity. I implemented a racing bar chart that tracks how popular a province building is over time. Hopefully one can glean useful insights from it, I know that I received confirmation that the AI is overly zealous when it comes to building coastal defences

Read more...


Rakaly Status Report #1 banner

Rakaly Status Report #1

Published on:

I wanted to give an update as it may seem like I’ve gone quiet, as there hasn’t been any recent announcements or UI changes in awhile. Far from being idle, I’ve been diligently working behind the scenes. I’ve logged a significant number of code changes, and this is my break to tell everyone what I’ve been up to. Another large chunk of Rakaly has been open sourced though with a legal caveat, a Javascript library appears, and the rakaly parser can now accept data from more recent titles like imperator

Read more...


First Steps to Open Sourcing Rakaly: Foundations banner

First Steps to Open Sourcing Rakaly: Foundations

Published on:

There are many layers that need to come together to make Rakaly work. I initially started developing Rakaly 6 months ago, and at the beginning I wasn’t sure how the project should be constructed. While the initial scaffolding was fluid to support whatever impulse I had, over time sub-projects emerged. These sub-projects can be extracted and open sourced to the benefit of others. Today the first step was taken and the parser for text and ironman data has been open sourced.

Read more...


Removing Limits on Recursive Events banner

Removing Limits on Recursive Events

Published on:

EU4 events can be recursive, meaning that an event can be defined in and of itself. A great example of this is the Oxford Symposium event for England / Great Britain where every 10 years the event has a different option than the previous iteration. Previously Rakaly restricted how nested this event could become, but a new method was implemented to allow an unlimited depth.

Read more...


Breaking Down Data Tabularly and Visually banner

Breaking Down Data Tabularly and Visually

Published on:

EU4 savefiles contain data about where a country gets it’s income, both recurring and one time windfalls. There isn’t a one size fits all approach to interpreting this data, so Rakaly allows one to see the income breakdown in a chart so one can easily spot anomalies or in a table for closer scrutiny. In addition to the magnitude of each income factor, Rakaly allows one to view factors as a percentage of the total income.

Read more...


Melting an EU4 Ironman Save into a Normal Save banner

Melting an EU4 Ironman Save into a Normal Save

Published on:

There’s been a long history of converting (or trying to convert) EU4 ironman saves (a binary format) to their normal counterpart (plaintext). Wanting plaintext saves allows one to use the EU4 to Victoria 2 save converter, console commands, and allows easier access for one to go spleunking through the save file as it can be opened in any text editor. Rakaly now provides its own take on this conversion

Read more...


Introducing Rakaly banner

Introducing Rakaly

Published on:

Welcome to Rakaly. Rakaly is an EU4 achievement leaderboard that houses an in browser savegame analyzer. This post covers the goals, limitations and future of Rakaly. If you’d like a hand in shaping Rakaly, join the discussion!

Read more...


Feel free to get in contact via Discord or hi [(at)] rakaly.com