Character attributes and genetics

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

Lol no worries. Whenever I program something that requires data look up I almost never use an rdb unless I absolutely have to. There’s just so many problems with integrating one and they’re often expensive licensing fees. If I can get away with tuples, list for vectors, that’s what I use LOL

1 Like

I really like that :slight_smile:

So, if I understand well, this means that if our tribe is made up of Neoltihics looking a very lot like current Near-Eastern/South European inhabitants having received some influx from dark-skinned Mesolithics, then later in game some white-skinned Indo-Europeans from the Eurasian steppes, this means we may see the average skin tone slowly evolve with each passing generation whenever marriages occur between those various populations?

This would be pretty perfect for sure :slight_smile:

3 Likes

Yes, that should happen.

4 Likes

I think both of you (@Elfryc too) would enjoy sing the Otzi the Iceman film. I watched it last night and you don’t need to speak German to understand it. I think it was reasonably accurate and it would do a good job of helping put you in the mindset. It shows late Neolithic and early Bronze Age people. I might add, they don’t wear those silly linen tunics :relaxed:

https://www.amazon.com/dp/B0791WTPRX/

The only inaccuracies that I saw were very minor, such as people keeping their bows strong all of the time. I would warn you that it isn’t for children… It definitely has the adult DLC LOL

2 Likes

I’m a bit worried to see they already released a DVD. I hoped for a French/European release, or at least in English :thinking:

Hopefully this is only because they need to make the subtitles (although in France we’re used to movie being always released later because of the dubbing)…

1 Like

They barely speak and I think it’s a proto indo european-like language, so you would not miss anything.

I loved it, personally. Very good film!

1 Like

YEs this would be an integral part of the game, basing it off human nature is the key.