Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Rawifying relationships  (Read 2076 times)

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Rawifying relationships
« on: March 07, 2015, 01:33:45 am »

Inspired by http://qntm.org/gay, a write-up on gay marriage (and beyond) in databases.
Spoiler: Original post (click to show/hide)

« Last Edit: March 09, 2015, 07:47:38 pm by Putnam »
Logged

Orange Wizard

  • Bay Watcher
  • mou ii yo
    • View Profile
    • S M U G
Re: Rawifying relationships
« Reply #1 on: March 07, 2015, 01:43:45 am »

+1 for [TYPE:LOVE:DEFAULT].
Logged
Please don't shitpost, it lowers the quality of discourse
Hard science is like a sword, and soft science is like fear. You can use both to equally powerful results, but even if your opponent disbelieve your stabs, they will still die.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Rawifying relationships
« Reply #2 on: March 07, 2015, 01:46:47 am »

Eheh, DEFAULT refers to the RELATIONSHIP_PERSON_TYPE there, if that wasn't clear.

Orange Wizard

  • Bay Watcher
  • mou ii yo
    • View Profile
    • S M U G
Re: Rawifying relationships
« Reply #3 on: March 07, 2015, 01:48:16 am »

Right. I just find that particular tag kinda funny. Otherwise the suggestion is great.
Logged
Please don't shitpost, it lowers the quality of discourse
Hard science is like a sword, and soft science is like fear. You can use both to equally powerful results, but even if your opponent disbelieve your stabs, they will still die.

ArKFallen

  • Bay Watcher
  • Bohandean Desserter
    • View Profile
Re: Rawifying relationships
« Reply #4 on: March 07, 2015, 03:00:02 am »

Logged
Hm, have you considered murder?  It's either that or letting it go.
SigText
I logged back on ;_;

LMeire

  • Bay Watcher
  • Likes Troglodytes for their horradorability.
    • View Profile
Re: Rawifying relationships
« Reply #5 on: March 07, 2015, 03:32:20 am »

Neat.

I don't know much about modding, but this seems like it could go a long way with describing DF societies and social roles.

As for your relationship weirdness challenge, I raise you the concept of: "Frienemies" or "people that act like friends in public but secretly hate one another in private". I imagine that would be modeled by dwarves spending excessive amounts of time partying together, and then suffering stress from having to put up with the constant annoyances just because neither wants to drop the charade and possibly lose social standing. It'd probably look a lot like the "mediation", only in reverse and way less healthy since the mutual friend(s) might not have a clue of what's going on.
« Last Edit: March 07, 2015, 03:39:36 am by LMeire »
Logged
"☼Perfection☼ in the job puts pleasure in the work." - Uristotle

GoblinCookie

  • Bay Watcher
    • View Profile
Re: Rawifying relationships
« Reply #6 on: March 07, 2015, 07:08:46 am »

We need dwarves to be able to remarry.  Marriage is something that is strangely neglected in the development plan. 
Logged

Witty

  • Bay Watcher
    • View Profile
Re: Rawifying relationships
« Reply #7 on: March 08, 2015, 09:55:18 am »

Great idea, +1. Less hard coded behavior, the better.
Logged
Quote from: Toady One
I understand that it is disappointing when a dwarf makes a spiked loincloth instead of an axe.

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: Rawifying relationships
« Reply #8 on: March 09, 2015, 04:33:02 am »


Well, making everything rawable is always a good move in my opinion, but something like this would be quite difficult from a programming standpoint, as it would mean a major overhaul of creature behavior, entity ethics, possibly even noble positions.  So let's take it from the top.

I propose relationships as being connected to entities.  They represent social contracts - not entirely unlike nobles, but tied to regular members of the civilization.

Step one: remove all sapient-specific automatic behaviors.  No more hard-coded marriage, lovers, grudges, etc.  Under the new system, creatures belonging to an entity without associated relationships will initially behave exactly like wild animals of their species.  They will mate with whoever they want when they feel like it, assault whoever they feel like, steal whenever they want something, and so on (modified by their personality values, like GREED, LUST_PROPENSITY, COMPASSION, and so on).  This essentially represents the species' "id", and determines what the creature "wants".

These behaviors will be regulated by the associated ETHIC tags (i.e. the society's expectations of them, or "superego"), of which I propose adding one more:

Code: [Select]
[ETHIC:MATE:PUNISH_SERIOUS]
Or whatever, depending on how opposed the civ is to promiscuity.  Now obviously, this will result in a civ dying out pretty fast normally, BUT it only applies to behavior in absence of a relationship tag, in this case:

Code: [Select]
[RELATIONSHIP:SPOUSE]
[NAME:spouse]
    [MUTUAL]
    [MAX_NUMBER:1]
    [REQUIRES:LOVER]
    [ETHIC_OVERRIDE:MATE:ACCEPTABLE]
    [SAME_RACE_ONLY]

So basically, the relationships override the 'default' ethics to make certain behaviors acceptable where otherwise they would not be.  Of course, this allows more interesting relationships, such as:

Code: [Select]
[RELATIONSHIP:GRUDGE]
[NAME:rival]
    [MUTUAL]
    [ETHIC_OVERRIDE:ASSAULT:PERSONAL_MATTER]

Which would be good for a 'blood knight' society and would allow there to be mutual rivalries that would operate outside the law.  Attacking some random passerby would be a crime, but if they're your rival it's okay.

Or even weird alien things like

Code: [Select]
[RELATIONSHIP:HATELOVER]
[NAME:hatelover]
    [MUTUAL]
    [MAX_NUMBER:1]
    [REQUIRES:GRUDGE]
    [ETHIC_OVERRIDE:ASSAULT:ACCEPTABLE]
    [ETHIC_OVERRIDE:MATE:ACCEPTABLE]

Ethic overrides would be the main determining factor in how likely it is for a relationship to start.  If person A is attracted to person B, and they both want to mate but their society forbids promiscuous mating, they may marry and make it acceptable.  If person A hates person B and they want to have fights without the law getting on their case, they can become rivals.  It could get even more interesting if the ETHIC_OVERRIDE made one activity more acceptable and another activity less acceptable (for instance, if murdering your spouse is worse than murdering a random stranger).

For multi-step relationships, the AI would have to 'look ahead' in order to plan out its relationship advancement (for instance, becoming LOVERs in order to become a SPOUSE later) and weigh out the costs and benefits of entering a relationship.

Now for less mutual relationships:

Code: [Select]
[RELATIONSHIP:PROTECTOR]
[NAME:protector]
    [ALLOWED_CREATURE:BUG_MAN:SOLDIER]
    [OTHER:SUPPORTER]
    [MAX_NUMBER:1] (meaning each supporter could only have one protector)
    [RESPONSIBILITY:PROTECT]
    [ETHIC_OVERRIDE:ASSAULT:ACCEPTABLE]

[RELATIONSHIP:SUPPORTER]
[NAME:supporter]
    [ALLOWED_CREATURE:BUG_MAN:WORKER]
    [OTHER:PROTECTOR]
    [MAX_NUMBER:10] (meaning one protector could have up to 10 supporters)
    [RESPONSIBILITY:PROVIDE_FOOD]

This would allow you to make a race of bug people where large soldiers are responsible for protecting a group of smaller workers from harm, watching over them and attacking nearby enemies (although is also allowed to abuse them), and in exchange the workers feed their soldier.  Almost like 'pseudo-nobles'.  This could also apply to societies where a male husband is responsible for providing for his wife, or concubine systems, etc.  (I used ALLOWED_CREATURE rather than ALLOWED_GENDER in this case, although presumably either could be used.  ALLOWED_CLASS would be an option as well, for multi-racial civs that use CREATURE_CLASS.)

Responsibilities could include [PROVIDE_FOOD], [PROVIDE_CLOTHING], [PROTECT], [EMOTIONAL_SUPPORT] (functionally similar to MEET_WITH_WORKERS for nobles).

If a society did not have a mutual SPOUSE, but did have separate HUSBAND and WIFE relationships that only allowed their associated genders, homosexuality would be forbidden by that society, although it might still happen if the creatures wanted it enough.

Nobles could also be tied to relationships.  For instance, some nobles might FORBID certain relationships (like a priest that is forbidden to marry) or REQUIRES certain relationships (like a priest that is REQUIRED to be married), or a relationship could be EXPECTED, where the noble can be appointed without the relationship, but is then under pressure to form a relationship.

Relationships should probably also include causes for breaking off (most likely, based on breaching exclusive rights, which could be obvious things like mating but also more alien things like recieving food or even emotional support from someone else), and consequences for breaking them.  The cause and consequences would all be weighed against each other in order to determine how likely it would be for a unit to make any decision.

mister Zalli

  • Escaped Lunatic
  • Likes The Wiki for it's helpfulness
    • View Profile
Re: Rawifying relationships
« Reply #9 on: March 09, 2015, 05:56:39 am »

I really like this idea. There is so much you could do with this, like procedurally generated cultures, cross-cultural bigotry and wars.
Logged

Adrian

  • Bay Watcher
    • View Profile
Re: Rawifying relationships
« Reply #10 on: March 09, 2015, 09:32:47 am »

I don't think completely overriding ethics would work well, as it would invalidate any civ/site given ethics.

Since ethic values have a roughly linear response from 1-15, a better way for relationships to affect ethics would be to apply a positive or negative modifier to ethic values, oriented at whoever fills that relationship.
ie. If a psychopathic dwarf considers KILL_ENTITY_MEMBER to be ACCEPTABLE, a spousal relationship could apply a +5 modifier and make that into JUSTIFIED_IF_SELF_DEFENSE, while the rest of the population would still be ACCEPTABLE to him.

It'd allow for more varied responses to situations depending on individuals' personalities, rather than completely overriding their personality and make them into robots that behave predictably in the same situations.
Logged

IndigoFenix

  • Bay Watcher
  • All things die, but nothing dies forever.
    • View Profile
    • Boundworlds: A Browser-Based Multiverse Creation and Exploration Game
Re: Rawifying relationships
« Reply #11 on: March 09, 2015, 02:39:18 pm »

I don't think completely overriding ethics would work well, as it would invalidate any civ/site given ethics.

Since ethic values have a roughly linear response from 1-15, a better way for relationships to affect ethics would be to apply a positive or negative modifier to ethic values, oriented at whoever fills that relationship.
ie. If a psychopathic dwarf considers KILL_ENTITY_MEMBER to be ACCEPTABLE, a spousal relationship could apply a +5 modifier and make that into JUSTIFIED_IF_SELF_DEFENSE, while the rest of the population would still be ACCEPTABLE to him.

It'd allow for more varied responses to situations depending on individuals' personalities, rather than completely overriding their personality and make them into robots that behave predictably in the same situations.

The whole point of overriding ethic values is to create conditional ethics.  The standard ethics are the civ's opinions on how strangers should behave toward each other, while relationships can alter certain values completely: being married doesn't add a 'modifier' onto a culture's opinions on who should be able to sleep together, it creates an entirely different situation with regards to acceptability.

In this system, ethics don't override personality, they are modifiers on a unit's personality and drives.  i.e. each individual has both an 'id' (personality-based decisions, shared by uncivilized creatures as well) and a superego (societal expectations and ethical values) which are entirely separate except when making actual decisions.  If a creature is talking to another and hates them for whatever reason, and they have a high VIOLENT and ANGER_PROPENSITY personality, they will have a strong urge to attack them.  But if their civ has an ethic where ASSAULT is unacceptable, this ethic will modify the chance of them acting on that urge.  The final decision in the case of conflicting ethics and urges could be decided by a weighted dice roll.

A psychopathic dwarf won't consider KILL_ENTITY_MEMBER to be ACCEPTABLE, they will have the same ethics as the rest of their civ, BUT they will have a much stronger urge to kill and therefore a much higher chance of acting in spite of their ethics.  (IRL people do modify their personal ethics to excuse their bad behavior in order to avoid feeling hypocritical, but this would be much, much harder to simulate than placing the two drives against each other and making decisions by dice roll, which would still be pretty realistic in practice, at least until we get the ability to have in-depth conversations about personal philosophy.)

An individual will be less likely to assault a friend or spouse than a stranger or an enemy, but that's because of modifiers to their basic urges, not because of a modifier to the ethics.  Animals are also more likely to attack a stranger than a friend.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Rawifying relationships
« Reply #12 on: March 09, 2015, 07:43:33 pm »

Yeah, the fact that the ethics are entity-level is supposed to refer to how society as a whole works, not individuals. Values were introduced as a separate system for a reason, methinks.