Modding Discoveries (part 3)...
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):
- Boat Making: This discovery is accessible to groups that settle on cells bordering sea cells. Once discovered, groups gain access to shipbuilding knowledge, which allows them to traverse sea tiles and settle on cells across the sea. This discovery can be transferred to adjacent groups that do not border sea tiles, but, for these groups, shipbuilding knowledge is lost over time, prompting the boat making discovery to be lost too.
- Sailing: This discovery is accessible to groups bordering sea tiles that have increased their shipbuilding knowledge to level 5 or above. Once acquired, groups can increase their shipbuilding knowledge up to a new level cap of 30 (the base cap is 10). Higher shipbuilding levels give a greater chance of success to migration attempts through long sea routes. This discovery is lost if shipbuilding knowledge ever falls below level 3.
- Plant Cultivation: This discovery grants the knowledge of agriculture to any discovering group. To gain the discovery, the group must be on a cell with high arability (arable land) and accessibility (ease of travel, flat land). Having the knowledge of agriculture allows the group too participate in farming as an activity. The productivity of farming as an activity is tied to the group's level of agriculture knowledge.
- Tribalism: This discovery gives a group the chance to form a new tribe or become part of one. To have access to this discovery, a group must have social organization knowledge at level 6, and the discovery will be lost if the knowledge drops below level 2. This discovery also increases the social organization knowledge level cap to 100 (from the base cap of 10).
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!
Get Worlds - History Simulator
Worlds - History Simulator
A world generator, and human history simulator
Status | On hold |
Author | DrTardigrade |
Genre | Simulation, Strategy |
Tags | Alternate History, Procedural Generation |
Languages | English |
More posts
- Extended HiatusOct 23, 2022
- Worlds 0.3.4.01 (minor update)Oct 03, 2022
- Worlds 0.3.4Aug 22, 2022
- Worlds 0.3.4 alpha 4 ready for closed testingJul 27, 2022
- Done Migrating Discovery Mod ScriptsJun 05, 2022
- Halfway through Alpha 4Apr 19, 2022
- Closed Alpha 3 StartMar 20, 2022
- The Last PartMar 15, 2022
- Closed Alpha 3 Participation FormMar 13, 2022
- Relationship Improving Action Done...Jan 04, 2022
Comments
Log in with itch.io to leave a comment.
Note that I'm suggesting ideas not considering your current plans, so sorry if they don't help or are implausible:
1. Bureaucracy/Organized Administration/infrastructure- This discovery is not necessary for polities to form, but if a Polity wants to expand its size. I.E administration cost may cover how much population a polity can manage, while this discovery manages how far in size the borders can be maintained, therefore a High Population, Large state cannot hope to maintain unity unless they have discovered Bureaucracy. Bureaucracy cannot be discovered unless the polity has knowledge of Agriculture, and at least 5% of the population farms, the level of Bureaucracy within a state is determined by the Bureaucracy level of the Primary cell of the leading faction, or if possible the capital. Bureaucracy levels can exist in Non farming polities which may happen to succeed from its parent faction, however the Bureaucracy will rapidly decline, causing the territory to collapse. If the level of Bureaucracy is critically low, the rate of clan creations and Independence will skyrocket, increases rapidly over time until the Bureaucracy is large enough to maintain the state borders.
2. Colonial Administration- Colonial Administration is necessary for Polities to directly colonize or incorporate land beyond lets say 3 tiles or a proportionate amount of Kilometers. In order to discover Colonial Administration, Polities must be capable of Agriculture, have a Bureaucracy, have a large amount of social organization, population above 50,000 and a certain, but high level of ship technology. As the level of Colonial Administration increases, so does the chance and range of colonies increase. Note that colonial administration is not required for human populations to migrate, but rather for polities to make large overseas conquests. Additionally, Colonies are managed by clans which will be generated to control the new land, making independence within a colony realistic, so a clan halfway across the world cannot declared independence and somehow own half the land in the colony. When a colony achieves independence, if there are significant amounts of natives (foreign populations that have a high rate of prominence within the newly independent colony) the colony will get an event which allows them to change its language/culture to that significant native population, buttt, if there are significant amounts of populations from the original polity (colonizer) then they may leave the newly independent colony.
Please keep up the good work, I will try to think of new ideas, god speed Dr.
I like your discovery ideas! In fact, administration load is already a factor on how large polities can grown (though it's kinda buggy right now) so something like bureaucracies and infrastructure (roads, cities) will be needed for polities to grow bigger. The only drawback is that both discoveries depend on having a basic economic model, which the game doesn't currently have. So more steps are needed before I get to implement these.
Colonial administration I think would work better once I get to implement more complex forms of governments beyond tribes. For example, colonial administration would be great to form maritime empires. Though that's not so far of. I think I'll be dealing with some form of imperial administration in version 0.3.4 or 0.3.5.
Good to hear! Keep up the great work dude.
Also: I love the new features for editing world maps, but the options that we used to have, like setting the bast altitude/sea level is painfully missing, for instance, even with the altitude adjusters that we have now, it still takes way too much time to create a mountain planet. Just as a request, can we get the older generation options (even for loaded height maps, setting the sea level right off can help so much since loaded heightmaps sometimes have issues with that) and then we can edit the world?
Hmm, That would be easy to change. I'll add it to the list of requests for next version. And, if I miss it on the next release please remind me to patch it in right away :P
Also, I'll probably revisit the map importer since I don't like the default behavior myself that much.