Thinking and not writing
It has been quite some time since my last post, but I have not been completely idle on the project. This blog is part of a larger effort that I hope will yield a toy and GMing tool for me that can simulate macroeconomic events and their in-game relevance.
I am currently thinking of implementing the actual simulation in python, with simulation parameters controlled by text files. Visualization to be done in d3.js against the python output. At first this would mean that the interface is static, but I think ultimately this would drive me to learn django and such so that I might able to make a responsive web-based simulation.
Towards this long-term goal, I have been thinking a lot about how to simulate the production, consumption, and development of pathfinder populations. Because I desire output on a large geographic scale and do need individual outcomes, I cannot use agent-based modeling (e.g. Dwarf Fortress).
I have spent a lot of time thinking about what approaches might be interesting and “accurate” since then. This series of posts is going to describe that process.
The simulation shoud be able to answer questions like: what and how much is produced, what and how much is consumed, what and how much is traded, and what and how much is stored.
I decided to start with modeling production first because I have gleaned from Fernand Braudel’s _Wheels of Commerce_ that the vicissitudes of popular consumption are the product of a developed trading economy, perhaps even an industrial one if the tastes of the poor are to be met, too. After reviewing the pathfinder production system, it quickly became clear that the answer to the production questions hinges on how much of the population is working in a particular trade, their skill, their tools, and their materials. For an initial effort, I will start small with non-trading community.
The first approach I considered was to track population and for each skill track proportion of population working on that skill and average skill bonus. This had the advantage of being being simple. Output of a given skill in an area would thereby be proportional to the arithmetic product of population, skill proportion, and (10+skill)^2 bonus. A population of 100 working 80% on food production with an average food skill of +2 would make food proportional to 11.5. The model is missing a limiting factor, but I could assume a maximum population that can work in a skill in an area (this is similar to how the Civilization series of games limits food production).
Such a model would let me answer questions like how quickly a given population could reach the carrying capacity of an area from starting conditions or the minimum population involved in food production to support a given population. To do this, I would need to make assumptions about carrying capacity of areas, how populations divide their time between working with skills, and how quickly a population develops its average skill bonus. Only carrying capacity of an area seems to me to be an “easy” assumption to make from reference texts, especially if the goal is to evaluate how a population reponds to shocks like plague or a band of murder hoboes killing the town militia.
What this model would have trouble providing guidance about is how output would change if there were a shift in what people do for a living. For example, if more people started working in leatherworking instead of farming, how should the average skill in farming and leatherworking change? That question requires more, complicated assumptions about the distribution of skill within the population, which brings me to the topic of the next post skill distribution.