Mmmm, sexy sexy dialogue trees. Oooh. Aahhhmm. Anyway. . .
This week was spent on quests, dialog tree and NPC personalities.
I've got the quest system working quite well. I am very pleased with it. I have a few types of triggers that are very easy to set up. One type simply needs you to be in a certain area and you'll get a screen pop-up to interact with an object. Another type requires that you actually notice something and click on it. To help with that, the cursor will change and when you click on the thing you'll get a screen pop-up. An update type that's built into the dialogue system just needs you to go to a certain conversation node. There will be some more to come, but that'll go quite far.
While working on the dialogue trees I realized that I needed to have NPC personalities. I needed to figure out a mechanism for how the NPC would react to you based on the difference between their personalities and their perception of your played personality. This was a very interesting revisit of the Big 5 OCEAN personality types and I went looking through quite a few scholarly articles that I had a fair amount of trouble following along with. So I just stared at the perceptions list for a while. I realized that each core-trait should be a circle that connects to itself. I think that the Altruistic spectrum really highlights what I'm talking about. If you're a greedy person, you'd enjoy being with a wasteful person. You'd probably also be fine around other greedy people. But if you're around someone who is considerate, they might be a pain in your ass since they'd be highlighting your greed.
So, instead of a scale of -100 to 100 I changed it to a scale of -180 to 180. This would allow me to use a function that calculates the difference in angles to see how far away the NPC is from you (or their perception of how you're playing your character.) The further away, the higher the number and the more they'll find you disagreeable. Then the categories are averaged in multiple layers for various granularity depending on whatever interaction you're having. A few disagreeable categories with more that are agreeable, well, you'll probably get along just fine. Too many disagreeable categories, and you might have yourself an enemy.