not working on this mod currently, but still ambiently thinking about how #eu5 modding works.
the custom scripting language their games use dates back to Europa Universalis 2 (2001). a paradox dev explained that it was initially only used for defining objects (like "this building is named Bungus and its model file is /models/wacky/bungus.mdl), but slowly expanded to have more logic features -- things like "there should be a way to change a building's name if certain conditions are met", etc., until it eventually grew text substitution and boolean logic and loops and so on.
they tried using lua for one game but found it to be too slow, and since they already had so many team members who were familiar with their custom scripting language, they went back to it for all future games.
the langauge has a lot of weird quirks and idiosyncracies, but it works, and it's fast. i understand why it exists, and i don't think paradox should remove it, but it is a perfect example of greenspun's tenth rule.








