Hey everyone! We're back with our January update and we have a number of things to share with you. Chris has recently been working on the implementation of backstories and how they shape your characters. Here's some insight into the process:
Character backstories are dynamically created by selecting a number of events that build off one another, shaping how that character came to be. These events take into account the world history and what has transpired so far in your play-through. We do this by first determining how old a character is, and then during each major milestone event in their life(their birth, childhood etc), we can look back at what was happening in the world during that time, and select events that are appropriate to build out their backstory. For example, a character born during the events of a war might have a part of their backstory detailing how their parents were killed by invaders during said war.
In order to create a character an "Origin" is selected. An "Origin" is the broad overview of where they grew up. This determines if they were born in a small village, a large city, or out in the wild, etc. Next, we select a "Family" event. This is what kind of family were they raised by. Were they raised by farmers, did their parents own a shop, were they bandits, did they even have parents? Only certain "Family" events can be selected based on the "Origin" for the character. So if the newly created character has an origin of growing up in the wild, it won't be possible for their "Family" event to be one of a noble family who lived in the capital. After the "Family" event we select a "Childhood" event and then a "Young Adult" event. These events also build off the previously selected ones. There might be a childhood event that says their parents were murdered by bandits while working on their farm. This event would obviously only be chosen if the "Family" event dictated that their family were farmers.
The goal is to build out a dynamic backstory that makes the characters feel more realized, with a sense of belonging to the game’s world. Additionally these backstories are not just fluff, and most events will play into that character's loyalty quest. If their parents were murdered by a well known group of bandits, they may approach you once you have earned their trust, and request your assistance in bringing their parent’s killers to justice. Additionally, these events will generally play into which character class they ended up becoming, and what traits they possess.
Here is an example backstory generated for a new character:
"Braeda Wheatfield was born in the heart of Langster in the year 1181. She was raised by a couple of farmers who led a mostly quiet life and kept to themselves. One day, soldiers from House Haevir attacked her home and slaughtered her parents. Braeda managed to escape but never forgot the faces of the men who crossed her. She vowed to get revenge if it was the last thing she ever did. Alone and distraught, Braeda managed to eke by an existence by stealing food and supplies. This life in the shadows helped hone her budding talents, teaching her to move and attack without being seen."
From the above example here is how the childhood event was selected.
- Id : Unique Id than can be referenced later in other events that need it as a prerequisite.
- Category: What type of event is it. "Origin", "Family", "Childhood", "YoungAdult", "Adult"
- StoryPrereq: This event is only possible if one of the events listed here is a part of their backstory.
- OtherPrereq: These are other determining factors for if an event can be used. This one has "DuringWar" so it could be be selected if there was a war in their region during the years around their childhood.
- Text: This is the written description for the player with details about the event. They are written to splice together so the different event categories flow well into each other. Everything inside of brackets are keywords we parse and replace with the appropriate text needed. So [firstName] is replaced with that character's first name where appropriate.
- ProbabilityWeight : This can be used to determine how rare certain events are.
- DaysUntilRepeatable: How often can this event be used as a part of a backstory. It can also be set to -1 meaning it could be unique and only come up once.
- LoyaltyQuest: Does this event have a loyalty quest tied to it? This is where that is set.
- Traits: Does this event add a trait to this character. If during their childhood they had a frightening encounter with the undead, a “Fear of the Undead” trait can potentially be added to that character. Personality traits are also chosen this way, for example if a family friend murdered their parents we could add a trait that makes them distrusting of others. This would affect their relationship with other characters (their Affinity), and their relationship to you and the company(their Loyalty).
As you can see there are quite a few variables that go into creating a character’s backstory. With hundreds of possible events to choose from, every character created should have a unique story and personality to add variety to your playthrough.
On the art-front, Nik has been continuing with enemy designs and we have a couple more timelapses to share with you, along with a look at the "Hoarwulf" creature variants.
We've also added a new member to our team to help out with the animation workload, so please welcome Rafael Ventura (@rafaelborven). Here's a look at an enemy he recently animated for us:
Thanks for reading and we'll see you next month!