Posted June 24, 2019 by DrTardigrade
#Progress Update #version 0.3.3 #Modding #discoveries
Finally, after multiple tries and rewrites, I'm finished dealing with terrible regular expressions and was able to parse a sample discovery mod file. There will be some limitations on how to write valid boolean expressions for gain/hold conditions but I believe this won't be a deal breaker for any would-be modder.
So I got to start integrating the parsed mod contents into the simulation by first adding code to generate discovery events for groups that pass the discovery's gain conditions and assign an event trigger date using the rules defined by the time-to-trigger factors. Now I'm working on actually generating a discovery attribute for those groups for which the discovery event triggers. If everything goes well, I'll be able to run some tests next weekend where the sample modded discovery get's used within the simulation.
Once again, I have not much else to say regarding progress so I'll take this opportunity to talk about the (very short) list of discoveries that are currently hard-coded within the game (as of 0.3.2):
As you can see, the list of currently available discoveries is very small. The main reason being that it takes quite a bit of effort to code each one of them. Additionally, each one of them is full of custom-tailored code that is hard to reuse in other parts of the simulation. This is one of the reasons I want to move all of that code into mod scripts, which will force me to encapsulate and standardize many code segments. Therefore making it easier to add many more discoveries later.
Since now you have a good idea of what discoveries are currently implemented in the game and what they do, I would like to hear your suggestions for discoveries and their possible effects. So please share your thoughts!