August 28, 2015 Christian

Dev Blog 8 – They’ve Gained Sentience!

Intro

It’s a strange feeling when you watch the AI you’ve programmed do things you never expected it to do.  When characters move around and react to the world in a natural way, it feels as though they are real people, and watching them becomes a constant surprise as they go about their business! Today, I’d like to talk to you about where our NPC’s are headed and what our vision is for them in PAMELA.

One of our main goals for the game is to make everything as immersive as possible. For everything that we create, we first ask ourselves; how does this fit into the world we’ve created? Does it make sense in regards to gameplay, history of the universe, and lifestyle of the inhabitants of Eden? All in all, we want the player to be so immersed that they feel as though they are standing upon Eden 052 themselves. Naturally, the AI had to fit within these guidelines, and to accomplish that it needed to be something very special.

Goals

We decided as a team early on that the NPCs in PAMELA had to be more than your average game AI. After all, you’ll be interacting with them a lot! They needed to be unpredictable, ever changing, but most importantly every encounter had to be a unique experience. The last thing we wanted players to do is merely see a character, kill them without any meaningful interaction, and then move along with their business.

Personality

Each NPC has a unique personality and random attributes associated with how strongly they feel emotions (both positive and negative). Overall, each NPC can feel different combinations of the following emotions:

  • Joy
  • Distress
  • Relief
  • Disappointment
  • Hope
  • Fear
  • Pride
  • Admiration
  • Shame
  • Anger

On top of this, they also have relationships with other NPCs as well as players. These relationships dictate how characters perceive each other, and are comprised of the following attributes:

  • Liking
  • Dominance
  • Solidarity

Well that sounds fancy… But how does this transfer to awesome gameplay? WHAT DOES IT MEAN!?

double-rainbow

What all this equates to is NPCs that will always react differently. Here’s a quick hypothetical example!

Example

Say we’ve got 2 NPCs, John and Jane. Jane loves cupcakes, but John thinks they’re a bit ‘meh’. I give John a cupcake and Jane sees me do this. John likes the fact that I’ve given him something, so a bunch of emotions are triggered, and he feels mostly Joy. Jane and John are friends so she admires the fact that I’ve given her friend something, but she also hopes that she gets one too. If I don’t give her one she will be disappointed, but if I do she will be super happy because she anticipated the event and her ‘dream came true’.

Once these emotions are triggered, it will alter how they act within the world. If someone is extremely distressed and angry, they will probably act out of anger, be ruthless and unpredictable.

Those are some super simplified examples, and typically a lot more goes on behind the scenes. As you can imagine, with all the emotions that I’ve listed above, some really interesting and unexpected things start to happen! The same event can trigger different emotions in different people and sometimes those emotions aren’t what you’d initially expect. Some people are more mentally ‘unstable’ than others, some still have a bit of humanity left, and some characters react exclusively on primal instinct. Some are psychotic but others might actually help you if you assist them.

But Wait… There’s more!

On top of the personality system, I also want to touch on a few other aspects that we are currently working on.

There’s a lot of things that I can’t talk about yet as it hasn’t been officially announced (something big coming pretty soon ***wink, wink, nudge, nudge, say no more!***), but we’ve got a NPC grouping system that will involve NPCs working together to accomplish a common goal. That might be to fight an enemy, find shelter, food, water and other items. On top of this there are a few NPC factions (that might not always be enemies by the way) that will interact with each other in different ways.

Conclusion

The world will be ever changing, always unpredictable, and cause you, the player, to react to it as it evolves. Once we experiment with more of the features we have planned, and actually decide to keep them, then I will be sure to post an update with more specifics and can actually show you some of it in action!

Thanks for stopping by everyone and be sure to check out our Dev Blogs each and every Friday.
If you’d like to receive monthly updates as well as important news…

SIGN UP FOR OUR NEWSLETTER!

About the Author

Christian
Christian Christian is the Lead Developer at NVYVE Studios.