Non-threaded

Forums » Writing Workshop » Read Thread

Find proofreaders here, useful resources, and share opinions and advice on story crafting.

Building characters

7 years ago
Hello, I'm building a story with multiple characters that are procedurally generated. I'm looking to add structured depth so each has a personality and an emergent narrative arc based on their mechanics and the random events the game side throws up. For now, I plan to track character's Expectations. Aspirations. Fears. Knowledge/Experiences. Traits. I'd like to have feedback on whether this would be enough to create a reasonable facsimile of a character for the purpose of a storygame. Looking forward to your thoughts. If you'd be kind enough to share how you go about writing your characters, that would also be appreciated.

Building characters

7 years ago
Could we get a couple of examples of this in action? I'm assuming they'd have different scenes throughout the story based on these variables, but I can't really speak to how realistic or natural it would look without more details on how you're integrating it all into the story.

Building characters

7 years ago
I'm working on structuring a meaningful example, will share it in a couple of hours

E: I've got an example of the Experience system, most of the rest of the game will follow the same systems design

Example 1: How Experiences work

7 years ago

Characters:

Ray, an 8 year old boy

Hunter, 8 year old boy, Ray’s friend

 

Everything has a value, between -100 to 100 (Scale and system are both WiP).

1-20 is minor

21-40 is noticeable

41-60 is significant

61-80 is important

81-100 is extremely important

For example ray.hunter.friendship = 70 means they’re best friends, -20 means they annoy each other, -100 means they’ll start picking up things to throw at each other the moment the see one another. Values experience decay over time (e.g. if at 100, will gradually decay if not maintained, though barriers may be sticky)

 

Scene: Ray and Hunter go to school

Default version: Children go to school, commenting on the weather on the way

R: It’s hot today (External Observation) | Priority 50

H: Yeah, we should hurry up, I’m getting thirsty.

Priority 50 means that anything that would over-ride this event would have to have a priority score >50. If multiple items are priority >50, they’ll all be raised unless the event has a hard cap (e.g. only two events max in this setting)

 

IF R’s parent’s were fighting that morning, he’s feeling down. Knowledge/Experience: Parents fighting | Priority 70

If Hunter.Social > 50 OR Hunter.Ray.Friendship>70 otherwise, move to next

H: What’s wrong, Ray? You look sad.

If previous Experience on Record (i.e. ray.parents.fights >0)

If fights are common (ray.parents.fights>5)

R: Mum and dad were fighting, again. They promised they wouldn’t, but they keep fighting, I hate it! I hate them!

 

If fights uncommon (ray.parents.fights<5)

R:Mum and dad were shouting, it was scary!

Default Response

H: That’s bad! | Priority score 20 (any response has to have a priority score of >20 to replace this)

Possible conditional response

If hunter.ray.parent.fights.discussed > 0 | Priority 60 AND hunter.parent.fights>0

H: They’ll be alright, like I told you, my mum and dad fight, but they get along

 

If hunter.ray.parent.fights.discussed > 0 | Priority 50 AND hunter.parent.fights=0

H: Aww, that’s bad. My mum and dad never fight.

 

If hunter.ray.parent.fights.discussed = 0 | Priority 60

H: Really? That’s bad. And this is the first time?

Each of those events also rolls a dice, and if the roll clears a Difficulty Check (which is a different value in each of those scenarios, Ray can have a bad day or a normal day, which feeds into later events. Not detailing those minutiae here because I fear this has already become fairly unwieldy to read. This is mostly a demonstration of story adaptivity with numerous Quality Based stances.

 

Each event updates variables, including personality traits, which is how story progression happens. This framework is extraordinarily painful to write and playtest, but fantastically adaptive and generous when you want to allow events to happen at and point of time during your game, but for them to react to what’s happened before and change what happens next.

 

Check for response statement, otherwise default to normal one

Residual add-on based on current state (e.g. if aloof, slight motion toward stoic)

 

Some traits are hidden until faced (and their presence is highlighted)