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.
A good amount of work when into this status report. Some highlights:
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.
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
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.
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.
Though it may not look like it, a lot of work has gone into Rakaly in the past month:
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.
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.
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:
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.
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
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
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
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.
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.
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.
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
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!
Feel free to get in contact via Discord or hi [(at)] rakaly.com