Post navigation

Default Conversation Options, Expansions, Scrolling, Personalities

To make up for last week’s rather short entry, here’s a bit one. I’m pleased to report that a very pleasing volume of new stuff has been done this week, and things continue to look very exciting indeed. Read on!

Default Conversation Options

At this point almost all the “default” conversation options are done! This means everything that you can ask every character, and also the class-specific questions (like “What are you guarding?”, “What nation do you represent?”, “How long have you ruled this nation?”, etc). This was a totally huge volume of work I’ve been putting together over the last fortnight and it’s great to see it all nearly done,. and it’ll certainly be all done by this time next week. Here are some examples of conversations with people from specific classes, in this case with a priest, guard, and diplomat:

Default “Expansions”

“Expansions” are what I’m calling bits of a sentence that certain NPCs will add to certain words in a sentence. For example, as we’ve seen rather than just saying “What is the greatest battle your nation has fought?”, someone from a particularly militaristic nation might be “What is the greatest battle, that glorious arena in which all are equal, that your nation has ever fought?”. Similarly, rather than asking “Are there any mountains nearby?”, someone from a particularly exploration-focused nation might ask something like “Any there any mountains, those peaks that inspire us to great deeds, nearby?”. Almost all of the expansions for the default conversation options are now in place, and wow, there are a truly huge number. There are close to a thousand expansions I’ve written for various ideologies with various words, and much like everything else, the inclination of a person towards using expansions is contingent upon their sentence complexity value – a higher sentence complexity means more expansions. As a result of making conversations more human as we discussed a fortnight ago, these are now far rarer, but here are some examples from the generation system, which gathers all possible expansions for a certain word for every nation into one place, then if a random number is rolled that is lower than the nation’s sentence complexity, it selects an expansion for that nation for that term and stores it. Again, by this time next week these will be totally finished.

NPC Personalities

NPCs are now generated with four personality modifiers that will structure how they behave. These will now be explicitly visible, although they will be noticeable from the kinds of replies you get, and also in some cases I suspect I’ll get other NPCs to tell you about the personalities of other relevant NPCs.

Sentence Complexity – this has been shifted from nations to people, and reflects how much people give in answers they’re willing to give. By this, I mean let’s say you ask someone about whether they know about any nearby towns, and they know about five towns. Will they tell you all five, or just one, or somewhere in the middle, and will they comment on what they think about those towns? This modifier will determine that, but it’s different from whether they’ll reply at all – replying is a binary, and then the detail of the reply will be structured by these metrics.

Education– this affects how much someone knows, i.e. how often they’ll wind up saying “I don’t know!” to a question. Naturally this will vary according to class, and expected educational levels, and so forth, and therefore certain questions will be more likely to give you an answer from certain NPC classes, because others simply won’t know the answer!

Patience– this is a modifier for how much an NPC is willing to speak with you. This will combine with modifiers for each civilization, and also for each NPC class and the player’s current status (so a guard will be disinclined to talk to a random person automatically, whereas a merchant will naturally be more inclined to talk to a random person in the hope of making a sale).

Privacy– this modifier affects how willing the person is to talk about their own personal details, and probably how willing they are to tell you information about their culture, religion, etc. This won’t vary too much, but some NPCs of the same class will certainly be more or less concerned about telling strangers their thoughts.

These four metrics are being generated for each NPC, but I can’t say yet whether they’ll make it into the conversation system in 0.8 – I’m really trying to get an absolute core conversation system done, with the kind of scope and variation I want, and then release that. It’ll probably be in 0.9, but I thought it was worth drawing attention to these elements now, as more ways to vary the conversation experience.

Conversation Scrolling

Added a scroll-bar to the main conversation window. I pondered for a while how best to do this. Firstly, I was going to have the scroll bar only appear to the left-hand side of the right face when the conversation gets long enough, but that would mean that the conversation window would then slightly resize itself (which didn’t look nice) and it could slow things down a little to have to measure the size of the conversation before printing it, and then altering the size of the printed conversation. I then tried having a scroll bar only appear on the right-hand side double-grey border when you needed to be able to scroll, but this was very inelegant and seemed disconnected from the actual conversation you were scrolling through. As such, my third try was to do what I’m now going to stick with, which was to add a dark version of the scroll bar always present on the right-hand side, and then have that scroll bar expand and light-up once the conversation is too long. See below:

(Though you’ll note just for testing purposes I asked the same question a lot, and they didn’t get bored – boredom still needs implementing!)

Next Week

Next week I’ll be finishing off the final parts of the elements above, and I’ll be working on the non-default responses. This means answers which are negative, e.g. you ask “What size is your army” and the reply is “We have no army”, and also special answers, like “What do you think about [nation]” which doesn’t easily fit into a sentence structure where you just switch out words, as they’d express positive/neutral/negative feelings very differently, so these need more complex answers. See you all then!

Awesome work this week Mark, I can’t wait to play .8 . Question: would the player’s data base of information(or whatever you replace the encyclopedia with) have knowledge of their home culture and city? It seems a bit strange that someone who grew up in a place would one day start asking tons of questions about it that they would likely already know.

Also would things like patience and privacy be affected by your relationship with the NPC? Like how much they like or dislike you?

Thanks! Yes, you’ll start with all knowledge of your culture’s stuff, which should be enough to be interesting to look at when the game starts but not so much as to be exhausting; patience/privacy, yes, definitely!

The former; just from how they talk, no actual “meter” or whatever. I like keeping that kind of thing under-the-hood! But a lot of ‘!’ is a good sign they’re enthusiastic, ‘.’ is neutral, and ‘…’ is probably not a good sign…

The conversation expansions are a great addition to URR! The samples you’ve posted give the conversations a mythic feel — which will help make playing the game feel the same way. The personality modifiers will also help make NPCs seem more realistic. I wonder, if you encounter a “motor mouth” NPC who is extremely verbose and talkative (max Sentence Complexity, zero Privacy, etc.), might they be offended if you terminate the conversation early? I know a few people like that in real life…

(And I see that our good friend Orangejaw Moonblizzard is still hard at work playtesting URR.)

I think so too! Heh, yes, you’ll definitely encounter some people like that, and some other people who aren’t really willing to say much to you. As for terminating a conversation EARLY… that’s interesting, I hadn’t actually thought about that. I don’t know yet!

And oh yes, OJ MB is quite the trooper. We may see more of him next week!

I didn’t immediately pick up on the ‘…’ meaning that the person was impatient with the conversation. You might animate the responses a bit to emphasize that they really don’t want to talk about it and you’re kind of dragging it out of them.

For example, you could draw out the ellipse as an animation ‘.’ then ‘..’ then ‘…’, and then on the next line add the actual reply (followed by the ‘…’ again if you want).

But that’s not the only thing that you could do to emphasize their mood.

My suggestion from long ago about putting in occasional blink animations for the eyes might be used to show some kind of insight into the state of mind of the NPC. Perhaps a slow moderate blink would be a normal mood, and a slightly quickened blink could indicate excitement. Lastly, a half-closed eye-lid could indicate slight annoyance and impatience (the eye would still blink, but it would only open half-way up).

I like this idea! I like it a lot, actually; it won’t be in 0.8, as I’m trying to close things down to only the absolute essentials, but I’ll definitely add in blinking and eye expressions in the future. I think it would be a really nice addition.