voidshard / faction

3 stars 0 forks source link

Interplay of Race & Culture #2

Open voidshard opened 1 year ago

voidshard commented 1 year ago

I've spent a bit of time refactoring, reverting & re-refactoring this because it's .. complex I guess.

When we create families at random we want to know for example how many children they can have, how quickly, the min & max ages they can have children etc. These things are racial; elves and humans may be capable - or not - of having children at vastly different ages, but they're also cultural; ladies in the West these days tend to be having children much later than in say medieval times, despite being the same race.

At the moment I have a demographics struct of data I need when making these populations, but really we probably want to divide out the definitions of what is physically possible under 'race' and what is culturally likely under 'culture.'

A ticket we'll file under 'future work' I guess

voidshard commented 1 year ago

Split the two concepts. I'm leaving them kind of simple for now, we can always add more fields as needed. Spawning people now requires a tuple of (race, culture) -- keys for configured race / culture configs.

Long(er) term we should support having cultures evolve .. I guess technically we could do that now via simply adding cultures like foo-1 foo-2 foo-3 where each foo is an evolution of the previous foo.

If we're going to do that, they might then qualify as more lives-in-the-database rather than configuration. Perhaps then we'd like, load the initial culture / race data from config into the db, then we can mutate them as time elapses.

Future work I guess.