MC/PC Customization (Updated 6/16/20)

First, I’m going to start off by stating that absolutely nothing in this post is meant to be offensive, so if anything feels that way, please tell me and I can work on making it not so(also, try to keep any discussion civil). This is meant to be a changing, open resource for writers/authors if they don’t want to start from scratch. Anyone is free to browse them and use what they want.

I’ve been around the CoG forums for years now and I’ve seen WIPs created, put on hiatus, or just having died(and maybe later resurrected). I’ve even worked/been working on my own stories. I’ve purchased new releases, playing and replaying them. Most, if not all, had varying degrees of customization for the MC/PC from appearance, personality, romantic/sexual orientation, and gender.

I want to develop stats in these four categories for helping writers stuck on stats. If there is anything in these four categories you wish or think should be added, modified, or removed(main post will get edited), feel free to post what and maybe why(if you feel comfortable) you think so. I’ve worked on it for a few days, but it is by no means feels complete to me(like hair colors :neutral_face:). Do you think anything here wouldn’t work well in implementation, make it difficult, or too complicated?


Would this or something like this work as a core personality?


*create introversion 50
*create extroversion 50
*create sensing 50
*create intuition 50
*create thinking 50
*create feeling 50
*create perceiving 50
*create judging 50

opposed_pair Introversion
opposed_pair Sensing
opposed_pair Thinking
opposed_pair Perceiving

Extroversion vs Introversion:
Extroverts like to be with others and gain energy from people and the environment. Introverts gain energy from alone-time and need periods of quiet reflection throughout the day.

Sensing vs Intuition:
Sensors gather facts form the immediate environment and rely on the things they can see, feel, and hear. Intuitives look more at the overall context and thing about patterns, meaning, and connections.

Thinking vs Feeling:
Thinkers look for the logically correct solution, whereas Feelers make decisions based on their emotions, values, and the needs of others.

Judging vs Perceiving:
Judgers prefer structure and like things to be clearly regulated, whereas Perceivers like things to be open and flexible and are reluctant to commit themselves.

MBTI Alternative: Thanks to E_RedMark

*create introverted 50
*create extroverted 50
*create sensing 50
*create intuition 50
*create intellect 50
*create heart 50
*create flexible 50
*create structured 50

opposed_pair Introverted
opposed_pair Sensing
opposed_pair Intellect
opposed_pair Flexible
Personality Traits

For Use As Non-Opposed Pairs:

*create charming 0
*create easygoing 0
*create optimist 0
*create caring 0
*create playful 0
*create outspoken 0
*create brave 0
*create daring 0
*create courteous 0
*create amiable 0
*create honest 0
*create stoic 0
*create stubborn 0
*create absentminded 0
*create competitive 0
*create confidential 0
*create sarcastic 0
*create deceptive 0
*create determined 0
*create emotional 0
*create formal 0
*create assured 0
*create innovator 0
*create conventional 0
*create shy 0
*create pessimist 0
*create hotheaded 0
*create calculating 0
*create cautious 0
*create arrogant 0
*create humble 0
*create covetous 0
*create gullible 0
*create skeptical 0
*create quirky 0
*create glib 0

For Use as Opposed Pairs:

*create charming 50
*create easygoing 50
*create optimist 50
*create caring 50
*create playful 50
*create outspoken 50
*create brave 50
*create daring 50
*create courteous 50
*create amiable 50
*create honest 50
*create stoic 50
*create stubborn 50
*create absentminded 50
*create competitive 50
*create confidential 50
*create sarcastic 50
*create deceptive 50
*create determined 50
*create emotional 50
*create formal 50
*create assured 50
*create innovator 50
*create conventional 50
*create shy 50
*create pessimist 50
*create hotheaded 50
*create calculating 50
*create cautious 50
*create arrogant 50
*create humble 50
*create covetous 50
*create gullible 50
*create skeptical 50
*create quirky 50
*create glib 50

Trait Descriptions: Empty; WIP

Charming - Pleasant or attractive; polite, friendly and likable.
Easygoing - Relaxed and tolerant in approach or manner.
Optimist - A person who tends to be hopeful and confident about the future or the success of something; a person who believes that this world is the best of all possible worlds or that good must ultimately prevail over evil.
Caring - Displaying kindness or concern for others.
Playful - Fond of games and amusement.
Outspoken - Frank in stating one’s opinions, especially if they are critical or controversial.
Brave - Ready to face and endure danger or pain.
Daring - (of a person or action) adventurous or audaciously bold.
Courteous - Polite, respectful, or considerate in matter.
Amiable - Having or displaying a friendly and pleasant manner.
Honest - Free of deceit and untruthfulness; sincere.
Stoic - A person who can endure pain or hardship without showing their feelings or complaining.
Stubborn - Determination not to change one’s attitude or position on something, especially in spite of good arguments or reasons to do so.
Absentminded - Having or showing a habitually forgetful or inattentive disposition.
Competitive - Having or displaying a strong desire to be more successful than others.
Confidential - Can be entrusted with private or restricted information.
Sarcastic - Using irony in order to mock or convey contempt.
Deceptive - Giving and appearance or impression different from the true one; misleading.
Determined - Having made a firm decision and being resolved not to change it.
Emotional - Having feelings that are easily excited and openly displayed.
Formal - Prim or stiff with outward form or appearance.
Assured - Confident.
Innovator - A person who introduces new methods, ideas, or products.
Conventional - Based on or in accordance with what is generally done or believed.
Shy - Being reserved or having or showing nervousness or timidity in the company of other people.
Pessimist - A person who tends to see the worst aspect of things or believes that the worst will happen.
Hotheaded - Having a quick-tempered nature.
Calculating - Acting in a scheming and ruthlessly determined way.
Cautious - Careful to avoid potential problems or dangers.
Arrogant - Having or revealing and exaggerated sense or one’s own importance or abilities.
Humble - Having or showing a modest or low estimate or one’s own importance or abilities.
Covetous - Having or showing a great desire to possess something belonging to someone else.
Gullible - Easily persuaded to believe something; credulous.
Skeptical - Not easily convinced; having doubts or reservations.
Quirky - Characterized by peculiar or unexpected traits.
Glib - Fluent and voluble, but insincere and shallow.


*create het_sexual false
*create het_romantic false
*create homo_sexual false
*create homo_romantic false
*create asexual false
*create demi_sexual false
*create grey_sexual false
*create aromantic false
*create demi_romantic false
*create gray_romantic false
*create pan_sexual false
*create pan_romantic false
*create bi_sexual false
*create bi_romantic false
*create so_closet false
*create ro_closet false
*create sam false

Alternative: Thanks to Szaal

*create sexuality 0
*create romantic 0

Orientation Example Key:
0 = orientation not set.
1 = likes men.
2 = likes women.
3 = likes both men and women.
4 = likes all genders.
5 = likes none.

Gender: Stat Intensive

*create woman false
*create man false
*create tm_gender false
*create tw_gender false
*create g_fluid false
*create n_gender false
*create g_closet false
*create gender “”

Gender: Stat Conserved

*create gender 0

Gender Key Example:
0 = gender not set.
1 = cis man.
2 = cis woman.
3 = transman.
4 = transwoman.
5 = genderfluid.
6 = nonbinary.

Alternative: Thanks to witchmark

*create gender 0
*create trans false
*create presentation “”

Pronouns/Honorifics Example

*create they “she”
*create them “her”
*create their “her”
*create theirs “hers”
*create themself “herself”
*create child “girl”
*create person “woman”
*create sai “lady”
*create ser “milady”

Eyes: Stat Intensive

*create amber_eyes false
*create hazel_eyes false
*create brown_eyes false
*create blue_eyes false
*create gray_eyes false
*create green_eyes false
*create red_eyes false
*create violet_eyes false
*create l_amber false
*create l_hazel false
*create l_brown false
*create l_blue false
*create l_gray false
*create l_green false
*create l_red false
*create l_violet false
*create l_amber_hazel false
*create l_amber_brown false
*create l_amber_blue false
*create l_amber_gray false
*create l_amber_green false
*create l_hazel_brown false
*create l_hazel_blue false
*create l_hazel_gray false
*create l_hazel_green false
*create l_blue_gray false
*create l_blue_green false
*create l_gray_green false
*create r_red false
*create r_violet false
*create r_green false
*create r_gray false
*create r_blue false
*create r_brown false
*create r_hazel false
*create r_amber false
*create r_amber_hazel false
*create r_amber_brown false
*create r_amber_blue false
*create r_amber_gray false
*create r_amber_green false
*create r_hazel_brown false
*create r_hazel_blue false
*create r_hazel_gray false
*create r_hazel_green false
*create r_blue_gray false
*create r_blue_green false
*create r_gray_green false
*create heterochromia false
*create sectoral_heterochromia false
*create central_heterochromia false
*create right_eye “”
*create left_eye “”
*create eye_color “”

Eyes: Stat Conserved

*create eyes 0

Example Key:
0 = eye color not set.
1 = blue eyes.
2 = green eyes.
3 = hazel eyes.
4 = gray eyes.
5 = amber eyes.
6 = brown eyes.
7 = red eyes.
8 = violet eyes.
12 = heterochromia blue and green eyes.
13 = heterochromia blue and hazel eyes.

Hair: Stat Intensive

*create wavy_long false
*create wavy_medium false
*create wavy_short false
*create straight_long false
*create straight_medium false
*create straight_short false
*create curly_long false
*create curly_medium false
*create curly_short false
*create loosecurls_long false
*create loosecurls_medium false
*create loosecurls_short false
*create kinky_long false
*create kinky_medium false
*create kinky_short false
*create curlykinky_long false
*create curlykinky_medium false
*create curlykinky_short false
*create straightkinky_long false
*create straightkinky_medium false
*create straightkinky_short false
*create wavykinky_long false
*create wavykinky_medium false
*create wavykinky_short false
*create buzzcut_long false
*create buzzcut_medium false
*create buzzcut_short false
*create bald false
*create dark_brown_hair false
*create medium_brown_hair false
*create light_brown_hair false
*create copper_brown_hair false
*create dirty_blonde_hair false
*create sunny_blonde_hair false
*create wheat_blonde_hair false
*create ash_blonde_hair false
*create auburn_red_hair false
*create copper_red_hair false
*create honey_red_hair false
*create black_hair false
*create hair_color "”

Hair: Stat Conserved

*create hair_color 0
*create hair_type 0

Hair Color Key Example:
0 = Bald/not yet selected.
1 = Ash blonde.
2 = Sunny blonde.
3 = Dirty blonde.
4 = Dark brown hair.
5 = Black hair.

Hair Type Key Example:
0 = Bald/not yet selected.
1 = Short, straight hair.
2 = Medium, straight hair.
3 = Long, straight hair.
4 = Short, wavy hair.
5 = Medium, wavy hair.
6 = Long, wavy hair.

Skin: Stat Intensive

*create albino false
*create fair_pink false
*create fair_beige false
*create fair_golden false
*create fair_olive false
*create light_pink false
*create light_beige false
*create light_golden false
*create light_olive false
*create medium_rosy false
*create medium_beige false
*create medium_golden false
*create medium_olive false
*create rich_rosy false
*create rich_neutral false
*create rich_honey false
*create rich_olive false
*create deep_rosy false
*create deep_neutral false
*create deep_bronze false
*create deep_olive false
*create skin_color “”

Ethnicity: Stat Conserved

Based on Fallen Hero’s ethnicity choices.

*create ethnicity 0
*create albinism false

Ethnic Key Example:
0 = not selected.
1 = Black.
2 = Latino/Latina/Latinx.
3 = Asian.
4 = Middle Eastern.
5 = Mixed.
6 = White.

Body: Stat Intensive

*create curvy false
*create slender false
*create athletic false
*create muscular false
*create average false
*create stocky false
*create bodytype “”
*create r_short false
*create short false
*create average false
*create tall false
*create r_tall false
*create height “”
*create freckles false
*create scar false
*create tattoo false

Body: Stat Conserved

*create height 0
*create bodytype 0

Height Key Example:
0 = not set.
1 = short
2 = average
3 = tall

Body Type Key Example:
0 = not set.
1 = slender.
2 = average.
3 = athletic.
4 = muscular.
5 = stocky.
6 = curvy.


that’s alooooooot of stuff…you gonna swim and drown when you start coding all this stuff :grin:

1- for the Description, some of those things feel a) redundant and b) a bit limiting. Because peoples can be for exemple both thinking and feeling at the same time .

2- feeling and perceiving vs Judging vs thinking all feel too similar. I would replace Judging (with intellectual or something else really, cose Judging feel…wrong? you are talking about someone who like structure right? that’s someone who is often rigide.

You can replace Thinking by Intellectual vs Emotional for feeling.
And then replace Judging by Rigid or inflexible vs Perceiving…hum replace it Undecided lol


Before you start fiddling with any of these stats, ask yourself which are needed:

While e.g. character appearance is often nice at first glance, it can get a bit grating when it’s never ‘actively’ taken into account. As in, there might be code to name the correct color for your eyes/hair/outfit, but it’s purely cosmetic.
There are some game that do this and it can come across as being meant to push the wordcount to sell the game for more.


Those personality traits are based off of the Myers Briggs personality test, or MBTi for short. It’s a well established test based on genuine psychological research. It’s been around for years now and is generally accepted as being one of the most accurate personality assessmemts there is, so your analysis is a little… off.

The wording choices can seem contradictory at first glance, but the definitions of those words in the context are very thorough. I’m certain it’s these definitions OP is basing theirs on.


That’s quite a fair amount of stats.

Just looking at the skin color stat list, I think at that point you could probably replace all of that with a input_text command instead. Depends on how you implement that variable however.

Actually now that I think about it, maybe having an input_text command for picking appearance customization options, especially if you offer a wide array and they’re just purely used for stat screen customization, would be the best bet.

That one you have one variables (eye color, skin color, hair color, hair length, etc.) without having to make tons of variables and then keep track of them… on top of any story related variables.

Specific to the personality traits, I honestly have to wonder if they’re all necessary, but I do not know how you plan to implement them into your story.

I will say this… it doesn’t matter how many stats you have or how creative their names are, what matters is how you implement them in your story in interesting ways that capture your reader’s attention and encourage them to engage with the stats.


wasn’t talking about their definition. It’s what they are called that seemed off to me. Judging? he wanted an opinion, he got one. I went with mah gut and all lol


@E_RedMark Yeah, it does seem a bit limiting, but the way I planned on implementing was that during certain scenes it would go by the core personality. Such as, if MC happened to fall more on the introverted scale and they were at a social gathering, there would be a scene where they go off to where nobody is to collect themself and maybe another such person joins them to enjoy the silence and lack of crowd, where as if they’re extroverted, they’d go about the room to talk to people. Same with the others. They wouldn’t keep someone from choices to do the opposite, though it would affect what happens in the story.

@MeltingPenguins and @AChubbyBlackCat Yeah, it would probably be easier, but I created them as is to count and have an effect on the story, one way or another. The stories I’ve worked on have characters that will like certain things, like someone likes red or brown hair whether it’s short, long, or in-between, or someone else thinks freckles are cute. Or that one person who likes butts( :unamused: ).

It’s all meant to have an effect on the story in some way, be it how a RO/FO(friend option?) comments on how they like your hair, or you meet someone new who doesn’t like being in crowds for long as well, all because you went to find a quiet place to chill for a bit before going back to the party… Or you like being with crowds and end up being challenged by another party goer to see who is true Party Royalty.

Anyway, instead of skin color, do you think ethnicity would be better?

I think (for the appearance at least) that having eye_color, hair_color, etc. string variables would be easier for you. For example, you could have

*set eye_color "brown"


*if (eye_color="brown")
      scene text here

somewhere else.

While this is an interesting idea (and it’s been discussed on forum before! I’m just not sure if it has been implemented in a published game), I would caution against giving the appearance variables too much weight? I think that if an NPC character’s tastes are too specific, it might alienate players.

Regarding the personality traits, you could use several opposed pair variables for the personality core MBTI traits, unless the contradicting traits can be in effect at the same time?

Also, some of the personality traits seem a bit redundant, and in my opinion, there’s probably too many of them :sweat_smile: Allowing the players to just imagine part of their MC’s personality can be beneficial.

For the orientation code, I wonder if having string variables with sexual and romantic orientation might be easier, or just having true/false booleans for “attracted to men,” “attracted to nonbinary people,” etc. Nonbinary MCs might also have trouble with the “hetero/homo” orientations, since there isn’t exactly a quote-unquote “opposite gender” for them.

edit: Posted too early.


I’d like to give my personal opinion here. It is just personal and given without the wish to offend.

Having about 40 personal stats is for me, too much. Thats just a personal favorite but less stats for me is better.
But when you want to take 40 stats into account, you either get a personality based on just one or two questions, since you need a lot of choices to determine a trait, or you get a lot of options for each choice. And for that, I would not want to scroll 10 answers just to get one I absolutely like.
For me if you need a description for a trait or stat, you named them wrong, I want to play a game and not read ten minutes what stat means what, I might be ok with that when there are only about five stats that need a descrition.

Another thing you could take into consideration for the appearance stats. Most players play your game once, even with choices this is the reality, so if you have a RO that likes Strawberry red hair, so only 1/number of options players read this comment and see, that you took that stat into consideration. so most of the people would consider having chosen a hair color was useless. A clever way to move around that is to have the RO love every haircolor the player has chosen, so everyone gets a line like “I like your chosen haircolor” Since most players do not replay noone will mind, and the few players who play the game more than once, well they already like it a lot, otherwise they would not play it again.

my other point were already statet be others, so I won’t repeat them. Hope this helped


My personal opinion at the moment I see there are 40 personality stats is the moment I don’t bother to keep reading the game. It will be wreckage. Except it is a Psychiatry class or a game about going to psychological treatment.

Why the game will be a gimmick. That will be a focus on stats and not in the story and judging any single choice like choose a banana is a highly moral choice.

Each day I believe more and more that stats are a pure annoying wall put there in most cases to minor cosmetic changes that add zero to stories or just because is the supposed cog way. In many stories, stats are just there hanging .

Each author has to adapt the game structure to their story to be seamlessly integrated into the game to be one. A general Stats for all stories I suppose can be a guide. But thankfully no single game has 40 personality stats yet


One specific thing I don’t like here is you have this:

*create woman false
*create man false
*create tm_gender false
*create tw_gender false
*create g_fluid false
*create n_gender false
*create g_closet false

Pointless. Redundant. No one is going to be both man and transwoman. Instead, you can do a single variable

*set gender 3

Where “3” indicates transman in your gender list of 1: man, 2: woman, 3: tman, etc. Even you already have a general [gender] variable at the bottom, so why the list?

Also the same for your orientation list.

The only exception to those if you prefer writing *if man rather than *if gender = "man".


I’d recommend against using Myers-Briggs labels, for the reason @E_RedMark highlights: lots of your audience won’t be familiar with them, and to the uninitiated, they’re confusing verging on meaningless. P and J in particular need a lot of explanation. (Perhaps especially when you’re talking about their magnitude; talking about one’s “miniscule P-ness” or “huge J-ness” is prone to be misunderstood. But that’s not important right now.)

And I’ll just echo what so many others have said: the personality trait list is overambitious. It’s almost impossible for one author to do justice to a list that long and varied. Less is more.


This number of personality traits will be a hell to track and distribute equally. 4 pairs of opposed stats are problem enough, and on top of it you’ll have to make a lot of additional options to make sure that all of traits have more or less same min/max score.

Can’t say for all players, of course, but in my opinion so deep customisation is a bit too much.


Sounds intriguing. I’m not opposed to ROs having distinct personalities, which can be argued to include what they like in a dating/romance partner’s physical appearance. It would depend on when in the relationship they rejected me based on physical appearance and how they rejected me. Also as long as they don’t act like we can’t be friends because they’re not interested in me as an RO is acceptable.


Ah, there seems to be a misunderstanding. This isn’t something to pull all stats from(though if someone wanted to for some reason, they can). It’s more like a resource where someone decides to start writing a story, but they’re having trouble coming up with customization stats. They’d come here, browse the stats, then take the ones they like best or maybe get inspiration for what they need if it isn’t here.

@poison_mara and @Kaelyn The 36 personality traits up there already, really isn’t much… I have a list of over 600 words and went through it to cut down(cause that’s quite a bit considering I checked the meaning of nearly, if not all, the words on this list here including those not on the list). They could also be used as opposed pairs(and I will add that version up there) instead of the personality core or use both core and traits(but that’d most likely make things more complicated then they need to be). In a story more focused on social interaction it might not be too bad if there are few other stats(I have one story that has tons of other stats already, thus probably wouldn’t get more then four opposed personality stats, if that). @AChubbyBlackCat As for characters liking certain features, I only used it as an example as I have a couple stories that are more on the social side and there are characters who like certain features(physical or other), but it doesn’t stop them from ending up liking a MC who doesn’t have said feature(s) and may come up several times by either MC and/or someone else. Then there were others that if MC had features they didn’t like, they’d use those to throw insults(mainly people who antagonize MC and others). Again, just an example I’m using from a story of mine.

@Szaal With the gender stats, I don’t quite mean for someone to be a man and transwoman at the same time. If someone selected being a transwoman, only tw_gender would be set to true(if it was me using those stats), not both. The only time any two of those gender stats would be true would be the non-cis genders with the g_closet stat. The reason I created them that way is because I do best at visual stuff(remembering is not easy for me most days) and seeing visual representation of them helps me. I do like your idea for it(though I’d need to make a key on what number meant what) and even gave me that the same idea could be used for other stats to cut down on the number of stats created. Thanks for that.

@Havenstone The MBTI is something I like the idea of for use in games(at least for some of mine) and I get not everyone would know what it means or understand it. @E_RedMark did have some good suggestions for it to make it more easily understood by everyone and I will add them up there as soon as possible.


No I agree, I personally find too much customisation overwhelming :sweat_smile: I do feel like its the sort of thing other people would really enjoy tho

Ditto on tracking all those stats! I think MeltingPenguins has the right idea about stats and necessity. Like, which stats to keep track of should be a reflection of the game, if that makes sense? For example Fallen Hero, Tally Ho, Heroes of Myth, and Way Walkers are all very different stats-wise, by their systems work wonderfully for each game because they’re tailored specifically to its themes!

I think you should work out what the story is and figure out which stats fit the themes later :slightly_smiling_face:


Like others have said, most peoples’ personalities don’t run along such binary lines (despite what Myers-Briggs may say; as popular as it is, it’s not that scientific and is somewhat deprecated). To use your party example, what if I’m a keep-to-myself kind of person who enjoys a good party, but finds it exhausting and wants to go home afterwards and spend a couple hours holed up alone? Those kinds of things are probably better handled by asking the player what they do, instead of having their stats pick for them.

For appearance I would note something to beware of that I’ve noticed in other games: narration that’s inconsistent with what the player set. Not directly contradicting, but for example I’ve set my character’s hair as kinky and buzzcut in some games only to read a page later that I’m brushing it out of my eyes or that the wind is mussing it up- which from experience is all but impossible. So you may want to be careful if the extra physical descriptions could make you include alternate versions of some scenes.


Noting that @Outrageous did comment on this, I’d like to add my own coding two cents here. Rather than have a long list of numbers corresponding to a variety of gender identities, I separated mine into three variables:

*create gender 0
*create trans false
*create presentation "unknown"

When the player declares their character’s gender, they are assigned a number from 1-3 (man, woman, or non-binary) which corresponds with their gender identity, the trans variable is either left alone or changed to true, and the presentation variable is either left alone or changed to masc, fem, or androgynous, but only if the player selects a non-binary gender option. So a non-binary person’s values, if they chose the option that lets them present femininely, would look something like this:

gender = 3
trans = true
presentation = "fem"

I use the trans label to unlock options for the player in dialogue with other characters who also ID as trans without having to go into a long list of if statements that has to include all the trans identities (which, in my existing code, would be around 5). It allows me to simply specify *if trans true in front of a statement like, “I know what it’s like to be seen as something you’re not”, etc etc instead of having that if statement blossom into an array of parentheses.

Having these three variables be separate allows for a greater degree of gender customization for the player as well.

If you really want a more visual system, having three variables, two of which are pretty transparent with their meaning and the third only requiring you to remember that 1 = woman, 2 = man, and 3 = non-binary/other, might be helpful. It all depends on the kind of story you’re writing and how easy it is for you to understand how you’ve organized it.

However, your existing code does account for an explicit genderfluid identity, which I don’t feel is well-represented by my system (yet- but I am working on this). I’ll likely add a fourth variable or a gender = 4 to account for this, though my existing code does allow the player to change their presentation and pronouns in the Stats page whenever they’d like. But having a presentation variable would allow you to do something similar with your g_fluid variable as well.


I think there is already engagement on the other parameters (love some of the gender code examples), but:

Respectfully, I think this is where you lost me…

I’d like to suggest that instead of having your code decide which scene the player gets based on the coded personality, maybe instead… give the player the option of which action they’d like to take?

The choice in itself would likely be much more well received by the player (at least if I was the player) than having it technically taken from them - even if the scenes they get are nice and according to the personality they got. I think personality traits are great as long as it adds to the player experience and reacts to the choices they make, rather than being used as arbiter of what the player gets to experience.

I’ll use your example to explain what I mean: instead of the game deciding which scene the player gets, therefore basically acting on behalf of the player, instead let the player choose: “I need some space / I will mingle”. If their personality is introverted, but they still choose to go about the room to interact, you can have the game react to that instead (a comment about the player wanting to do something that wouldn’t be usual for them, a character interaction along those veins… etc).