First, I would like to say that I love the game. As a programmer I like to know the nuts and bolts of such a simulation and tweak it, so my suggestions are only to increase flexibility in modding it, not to criticize it.
Main points:
- Need more flexibility when changing group frequency
- Need to be able to make mutually exclusive groups (and honor them when changing freqencies)
- I’m curious about your neural net setup since I have done similar things aka virtual life.
- Population growth (but then processing time issues, eh?)
I suppose the primary problem I have is preventing someone from being both conservative and liberal at the same time (or other combination that’s mutually exclusive) when changing attribute frequency. During matrix setup it’s fine, but when shifting population it seems that the equation is limiting:
with attribute_freq,
a + (bx) > 0 then 3% of people with attribute n lose attribute n
a + (bx) < 0 then 3% of people without attribute n gain attribute n
Attribute n of course being membership in any particular group. I noticed in the original files that the only things that changed frequency were those that were standalone attributes (either you are in it or your not, rather than being in one group vs. another). The problem with it is that you cannot connect multiple groups in any way.
I would suggest a solution; if you define categories of voter groups and everyone must belong to one group from each category (with perhaps optional ones, some would be linked), and the frequency change in one is balanced with a change to another it might work. In addition, making it so that [a + (b*x)]% of people will shift makes it easier to control the effects of the simulation, rather than a fixed % change. Could also add events that randomly shift the attributes of beliefs of some groups.
Examples:
Group 1 (not optional)
All
Group 2 (not optional [everyone must be in one of these])
Socialist
Capitalist
Group 3: (not optional)
Conservatives
Liberal
(add: moderate?)
Group 4: (not optional)
Wealthy
Poor
MiddleIncome
Group 5: (not optional; I made them mutually exclusive even though some are not that way in the game)
TradeUnionist
SelfEmployed
Farmers
StateEmployees
Retired
Group 6: (not optional)
Commuter (public transportation)
Motorist (private transportation)
Attributes (optional; you have it or you don’t, not mutually exclusive with any other group):
Patriot
Religious
Parents
Drinkers
Smokers
Environmentalist
I’m sure I will think of something else later, but I’d like to hear your thoughts on these possibilities in the simulation.