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:
“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.
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.
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 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!