Character attributes and genetics

Not having that information per character does not mean not having that information for your city.

3 Likes

I thought about: single / married, preferred craft / talent, social position / eventual rank, firstborn yes / no, reputation (evaluation of the NPC from outside), relationship to the player

Probably only in the game the necessity of the one or the other information becomes clear.

if anyone has played State of Decay, a Vital sheet; similar to that game could be used for mass individuals, and later, like individuals can be placed in groups to teach each other and improve each other later on. Kind of like collecting cards for Yu Gi Oh, if you’ll indulge the nerdy-ness. Being able to use one or more individuals to improve others would be an interesting mechanic. you can also add a semi-artificial intellect to each character, a sort of perimeter set; not unlike the settings for a character in the first dragon age. Though hopefully more complex than that, becoming passively more complex as that individual gains knowledge from both failures and success.

Single/Married can be seen in the family tab ( you have direct access to any close family member including wife/s ).
Can you elaborate what do you mean with “preferred craft / talent”
Anything related to gameplay will be there of course.

I was thinking with “vita” you were talking about things like:
-year 1: married with X
-year 2: change home
-year 3: first son
-year 4: Fight in the woods

  • etc…

That kind of information for each citizen is not planed right now.

Citizens can learn from another citizens if conditions for that are met, like for instance working together with a master.

3 Likes

This could play a certain role in the evaluation of a migrant if he could explain his “resume”. Or if you want to “tax” the followers in the narrow environment. “For which tasks is this suitable?” was he successful with something like this? Would go however very in detail, luxury feature :wink:[quote=“UncasualGames, post:44, topic:2483”]
Can you elaborate what do you mean with “preferred craft / talent”
[/quote]
Thought of a similar system as in CIV colonization. First, a “universal settler” who gradually became an experienced specialist for e.g. Farmers, fishermen or weavers. For example, training with Indians or working with an existing specialist. Faith in Cultures was in a similar form. “good ax fighter / good wood chopper” (symbol “ax”)

Can’t wait to breed my perfect tribe.

My Neolithic Culture!!!

I just got my DNA test back from 23andMe.com
My haplogroups are:

yDNA - R1b - R-P311 This is an uncommon subclade of R1b which differentiated around 6000-5000BCE. Linear Pottery Culture is definitely a good possibility for this \o/

MtDNA - U5a1b, a subclade of U5. This subclade formed about 11,000-5,000 years ago and is found in a lot of Mesolithic europeans.

Most interesting to me is that my two main Neolithic book characters (from my novels) are “related”. One is R1b and the other is U5 lol

Sorry to break it to you, but R1b-M269 ( = R1b1a1a2, of which your hg is a subgroup) almost certainly originated in the Steppes and came with the Indo European migrations to Europe :wink: The Bell Beaker people where especially enriched in this haplogroup, as well as almost all Yamnaya males (very likely late Proto-Indo-Europeans) analyzed to this day. To my knowledge, this haplogroup has not been found in Neolithic Europe prior to the Steppe migrations.

Don’t worry, my bubbles not burst. I’m pretty sure that I read it being associated with some lbk finds as well as a mixture of several other Neolithic groups. As you probably know, percentages of haplogroups can be found mixed among many different populations, and it’s very difficult to pin one particular haplogroup down to one particular culture. What’s most interesting to me is that it it’s in with my book characters.

Yes, that sounds cool :slight_smile: Anyway, Y chromosome and mtDNA are around just 1% of your total genome, with the rest being a wild mix of all your ancestors…

Of course, there’s very few populations today with homogenous haplogroup distribution, but nonetheless I think it’s at least conceivable that some have been associated with spread of specific peoples and cultures. My favourite example is R1a, which today is found in high percentages in many in Baltic, Slavic, North Indian, Iranian and Germanic speaking popualtions, and historically in the Corded Ware Culture (3rd mill BCE), which perfectly fits some archeological and linguistic theories, i. e. the Indo-Iranian languages originating in Eastern Europe proximal to Baltic and Slavic.

1 Like

The time period I was looking at was the 6th millennium BCE, so a bit before then. The specific reason I chose the company I used was for my y/Mitochondrial data. Autosomes are nice, but they have a shoter resolution in time.

Matchng up with my book characters (who are from 5500BCE, one LBK and the other late mesolithic British) is really what made me happy.

Well, that’s probably going to change very soon. It already looks different for aDNA studies, but the private testing hasn’t caught up, I guess, until for now. But, of course, Y and mt are still the easiest to trace linearly through history and you don’t have to be an expert in population genomics to understand your testing results :slight_smile:

All this sounds well and good but it will cause a large database tree. Each characters geneology will need to be tracked, and the stats of ancestors. While this is a datafile than needs only to be loaded on contact with disease or with regards to procreation it will still bulk up save files when a population grows. Game data of this level may be a background drain.

Relational databases are a bitch to load whenever something needs to reference them, or to keep in active memory.

A simpler toned down geneology taking reference of the three most distinctive features of each parent, positive or negative, plus a boolean are they have foreign heritage or not, which effects resistence to some diseases on an on/off basis is all you really need.
it also means that breeding programs are easier for the player to manage, assuming they have the data.
You only keep the parental data for one generation, because memories are short, for simplicity in matchmaking and to enable free randomisation of a larger portion of the statpool.

Currently only a few attributes are inheritable -more to come-, which means that a high probability to match the attribute value of one of the parents exists but it also lets room for random variation.
Each character also holds references to his immediate ancestors. This is enough to reconstruct the family based on the information hold by the game at a point. When a character dies it is transformed in something else -a corpse, then a tomb, a monument… a myth? all this still in the works or just planned- that also holds some of the character information until it disappears.

For instance, if somebody dies and a big monument is built as tomb, the related information will prevail attached to the monument lots of time, but if somebody dies and is lost in the wild the information will be lost. So the game is able to reconstruct only near generations unless something is done to preserve that information.

3 Likes

You wouldn’t want to keep that kind of information in an rdb. That kind of data would be kept in a data structure, data object or more likely a group of tuples. Using a keeper look up table and a hierarchy structure, searches are really quick and not often needed. You can have tens of thousands of ancestors in a huge tree before you start to notice any real time and the load size would be pretty small. If you somehow had enough data and relations that you began to amass a huge database, you would simply partition the data according to its indices. A partitioning would give you a fast look up time and only suffer a hit during writing. even that hit can be mitigated using a pending write memory space which gets committed whenever processing is low.

I don’t think we need to have a huge database of ancestral data and I would probably consider it less than useful, but I don’t believe it would be a technical challenge.

You would be kind of neat if each character had a haplogroup, maternal or paternal and maternal. they could pass that along allowing you to see if travelers from a different place showed up. Very unimportant, just a thought

What do you mean with “rdb”?

We have not implemented -not included a third party- relational database in the game. We have found no need to do something like that. The way we track ancestors is the same way we use to track all relations between game objects. All information needs to be attached to a game object, but its enough for the game purposes, very fast and it doesn’t eats lots of memory. The game checks about related objects are done very often by the IA each iteration so a relational database would be very slow for that.

AC is not a genetic simulator.
Just to be clear, we don’t propagate genetics, but the consequences of the genetics.
For instance. If there are two blonde characters but randomly their progeny are not blonde, the blonde characteristic is lost because the blonde gene doesn’t exist in the simulation, just the actual hair color. While this fails as a genetic simulator in the particular case, when simulated with many people, starting with a majority of blonde people the chances of blonde people would be high and the blonde characteristic will dominate the city anyway.
As a genetic simulator it doesn’t work, but for the game purposes we think is enough, at least for now.

4 Likes

Rdb= relational db. I was saying they would be unneeded.

Ah, ok. Sorry, I misunderstanded you.

1 Like