Finishing 0.8 Part IV

This week I’ve basically been playtesting everything that I coded in the previous three weeks since development actively restarted: this meant playtesting the mood system, playtesting NPCs becoming annoyed with you, making sure NPCs can say a tremendous range of things when you ask repeated questions (as ever, variation and believability are central here, and the two go hand in hand), and then seeing what happens when you ask NPCs all the questions you can ask, and making sure they can give some kind of logical response to them. NPCs should also be able to end conversations, make appropriate comments when they don’t want to respond something, choose what to not respond to, and so forth. I’d say pretty much everything in this selection seems to be working now! Here are some nice screenshots, all taken with one person from one civilisation for each demonstration. You’ll note the [thing] sections remain ambiguous, which is one of the tasks for the coming weeks, but hopefully here you can begin to see how NPCs give you reasons for not responding in various ways, or commenting when you say the same thing too regularly:

Some more work still needs to be done on the “naturalness” of what people say, and ensuring variation of all sentences, and so forth, but you can immediately get some idea from these about how things are shaping up with some of their more detailed responses, and the variety in responses, and there’s also of course a vast amount shown here with unique responses for certain classes, certain questions, certain questions asked to certain classes, asking certain classes from certain nations about certain topics, and so forth. As above, my goal is always to ensure the player might be able to see a new kind of statement in a new context, something that makes the conversation system feel truly deep and open-ended and potentially-infinite, whilst also being able to understand the many factors and many elements encouraging the NPCs one meets to respond in the ways they do. (One might also note a strange name for one NPC – need to fix that! I also got one NPC called “Son of Sluts”, which was pretty great – I’ll be sure to add that to the list of excluded terms). These screenshots have also shown me I need to find a way to add more facial variation to people from the same racial background; although in a global sense the variation is still huge, people will be spending significant blocks of time in one area, and that needs to vary more. I won’t be doing that in 0.8, but probably in 0.9. Next week: more conversation programming! Will be focusing on expanding “uninterested”, “stupid” and “suspicious” responses, people giving political or religious reasons or whatever for not answering things, and how to handle repeated insults and repeated compliments. See you then!

Be Sociable, Share!

20 thoughts on “Finishing 0.8 Part IV

  1. I am loving your conversations. Some thoughts on response variations:
    >You ask many questions about [topic], go ask [authority or expert] [and stop bothering me.]
    >It is not wise to speak about such things with strangers
    >If you continue the guards will think you are a spy!
    >Stop pestering me. Are you here to [do business] or talk?
    >I’d rather talk about [suggest more comfortable topic].

    I’m not sure if NPCs should ask you questions or for a mechanic where the player talks about themselves for introduction and to put minds at ease. Might get kinda boring or weird for the player.

    Also that one NPC that won’t stop talking about themselves and gives you pages and pages of stories never end and that don’t go anywhere

    • Or picture after similar picture of “this selfie I took on my vacation to [place] then my holiday to [place] it was so beautiful. Do you like selfie sticks too? It’s crazy that they don’t allow those everywhere! It’s not like I’m going to use it as a nightstick or one of Edinburgh’s famous truncheons of totalitarian jurisdiction! Like Embra’s great an’ so is Police, and that beer war gut. Kin we have summair? No, don’t open the window, get us summair…

    • Glad you like them! I think those are *all* great variations on responses! I really like some of those a lot. The first one will direct you to relevant nearby people, but should happen very rarely; second is nice, I can easily add that into the “suspicious” response set; I love the spy one, again, into the suspicious response set, but a response they only give if they really like you and you’re asking strange things; and as for the [business] one, there a couple of possible responses, from doctors, blacksmiths, merchants, etc, which basically say “Can we trade [x] instead of blathering about this?”.

      Introduction: VERY interesting idea, but as you say, risk of boring. Will have to ponder. Blathering NPC: heh, I definitely want to add “stories” into 0.9, but not sure about some freakishly talkative NPCs; runs a risk, perhaps, of the player just trying to seek them out and farm them for knowledge?

      • How’s this: you can avoid „farming” by having npcs only give vague, evasive or hinting answers unless they are specifically asked about »Topic«, and to know about »Topic«, the player would have to have gathered (not casually talked-npcs-to-death) some information beforehand.

  2. You *know* you’re bad at asking questions when your conversation partner finds guard duty more interesting than you are. Seriously though, the conversation system is looking great and has developed a lot since you first showcased it.

    Question: is it possible to annoy or insult someone to the point where they attack you? Similarly, is it (or will it be) possible to converse with someone who is attacking you, perhaps to calm them down or possibly enrage them further?

    • I like that Idea. Let’s hope Mark does, too. Why not take it a step further still… like a game of „insult challenge” like medieval bards played it (the loser being the one with the less good/appropriate answers). That would be really cool… especially if it actually influenced the morale and combat abilities.
      quoting from Secret of Monkey Island: „You throw your sword about like a stable sweeper.” – „That’s only appropriate, you fight like a cow.”

    • Thanks crowbar! Very glad you think it’s shaping up well. Attack: not yet, but yeah, definitely in the future. Converse with an attacker: interesting question… I guess the answer will be yes!

  3. Some of the responses given are, as you say, a little formal. If I didn’t want to answer someone’s repeated question about something I probably would use fewer words on successive attempts to solicit said information.

    before: “I do not want to divulge a response to your repeated enquiry because [reason + reason + reason]”

    after “You tell me and we’ll both know!” …or… “don’t ask me.” …or… “Although I think I once knew that, I can’t remember. Ask someone else.” …or… “What do I look like a help desk? [pause] I do? well, I’m not. please ask someone who wants to answer you.”
    then: “*your only response is an exasperated look from [person]* or “ask me again and I’ll have you escorted from [premises].” or “Try inquiring someone whose is more enlightened than a guard like me who will sooner throw you out than answer questions. *You get the impression that [person/guard] is suggesting that [he/she] will toss you out without much kindness if you ask again.*

    so many options… you’ve probably considered and rejected/incorporated many or all of them into your code already.

    Good luck!

    • also, increases in brevity [quicker responses] might in some cases incorporate more contractions… “I’m” instead of “I am”.. “I’ve” “You’ve” “That’s” etc.

      depending upon the culture and speech patterns of the region, of course…. and the individual personality of the person responding.
      I personally tend to respond to queries with more than the basic answer because I’ve discovered it means that the person asking me for info will be less likely to return for an expanded response. In the IRL world these days, though, the longer answers usually get berated and called “spam” … but shorter responses still tend to lead to followup questions.

      I guess I got that habit as a kid answering other students’ questions and while programming to try to be certain that every possible exception/result, no matter how trivial or unlikely it seems, is accounted for in the code to prevent strange bugs from cropping up.

      (A potential for infinite recursion? not if the user is what I expect or even a little weird, but adding or to clarify the variable and its size in RAM will eliminate that possibility and keep the other parts of the code in an expected state.) Of course, if your code is limited to a maximum compiled size of 127 bytes (etc… early 80s hardware limitations), you cross your fingers and hope bugs, if any, can be called features instead of game breakers

      • I guess it didn’t like my greater-than/less-than signs. oh well. Any place where a [line x] or [subroutine y] would fit in that (such as after the word “adding”) you can probably do that mentally if it makes sense to you. that part of the comment was mostly disposable anyway…

      • Some of those contractions are already in the game, though I definitely need to add some more in, too; I also need to make sure the most common sentences vary more, since it’s easy to get big cultural variation in a complex response, like “Here is all the info about my religion…” but getting people to say “No” in a hundred ways is somewhat tricky…

        • Hmm… If you don’t mind bloating your response text databases, you could always fall back on descriptive or local-native „strange” responses. In the case of „no” I’d suggest something like:
          „oh, sorry, what was it?”
          „[this is] improbable”
          „[seems [to be]] unviable”
          „That’s in [deity or local authority]’s Hands.”
          „[I guess it] might [, or might not]”
          …or abruptly switching to another topic.

          • Heh – I’m pleased to report quite a few of those are already in there! Lots of the “I don’t want to respond” statements can vary hugely for ideology and for religion, and in one or two cases, even the climate zone that the speaker originates from :). That said, I’m sure I will add in more in 0.9; I’m trying to do enough now that the variety I want is there, but not so many that it takes longer than it has to.

  4. I’ll gladly echo the comments of others here that this conversation system looks amazing! It’s come a long way, and I’m excited to see where it will go from here!

    A few thoughts. The second photo shows a bug, or at least what I would consider a bug. First you ask about armor and the person responds “I have none”. But then you ask about the quality of that armor, for which the answer should be “I don’t have any armor”. Instead, the person replies with the quality of the armor that doesn’t exist. That could be a response if slightly changed, such as “I have no armor, but the armor of our people is usually [quality].”

    Also, you mention the formality of the responses. I think it only seems formal because most English speakers on the Internet are used to slang and informal conversations. However, you could incorporate that into the game as well. People of a “high” social status (or maybe just highly educated) will talk in a formal way while people of a lower social status (or lower education level) will talk more informally. Informal language could include increasing usage of slang (“hi” instead “greetings”) and contractions (“g’day” instead of “good day to you”). Not only would this add to the variety of responses, but it also provides more information about the person you talk with (e.g., why does that scrawny prisoner who looks no different from the others talk in a significantly more formal way?).

    I remember a discussion I had with a friend who spent a while working and living with the Inuit of Canada. He mentioned that some of the Inuit seemed impolite in the way they talked. For instance, he would ask “Where did you put that bottle of water again?” and get “Fridge” as a response. However, after talking with them more and researching it, he came to the conclusion that their language evolved to minimize the amount of speech necessary so that they could conserve energy (the arctic is cold after all). Thus, they would only say the bare minimum needed to get the point across because talking was energy intensive. Long conversations would be valuable, because of the cost involved, but the informality was unrelated to education, social class, or even politeness. I bring this example up because it highlights a possibility of cultural variation in the politeness of responses. Just as the formal/informal aspect could be included in the culture, the length of responses, the level of detail, and additional phrases or words of courtesy could be cultural variations. I think you already included some of this in previous examples of the conversation system, but I wasn’t sure how you’d taken that idea.

    My last thought is on a similar topic of formality, but has to do with Asian languages. I met a teenager from Vietnam recently who had visited Canada for a month and was just learning English. She was so excited that she could talk to me using the same level of formality as someone her age. In Vietnam (like some other Asian countries), there are different levels of formality in greeting and method of speech depending on the relative ages of the speaker. This teenager disliked the fakeness that came with needing to be more polite and respectful in tone and speech to someone simply because they were older, not because they actually deserved or earned that respect. For the context of URR though, the manner of greeting and speech, and the kinds of questions that could be asked, could also vary with the relative ages of the speaker. This would impact who could answer certain questions based on their age, in addition to class, but only for cultures that had that language variation. You could also adjust the appearance of your character so that they look older (adding another meaningful disguise option), changing the kind of information available through dialogue.

    I don’t know if any of these ideas would be helpful, but I thought I’d share them in case they can inspire improvements to an already excellent looking game.

    • Thanks AquaTsar! There’s so much more to be done with it, and a lot is going to come down to playtesting and iterating, but I’m definitely happy with what we have here so far. Thanks for the extensive and detailed thoughts: they’re very much appreciated. Bug: yep, that’s a bug; probably because armour doesn’t exist yet. Formality: I do want to add social status into formality, but for 0.8, I don’t think I’ll be able to properly implement that. Inuit: fascinating story. I do like the idea of brevity, and it was one of the original goals, but the dialogue system has now become so complicated I think it got lost somewhere in the mix, but it’s definitely something I’d like to bring back and develop a little more fully. I also love your idea for an age disguise option which will affect the responses you get in certain cultures! Really fantastic idea; consider that to now be on the list. Argh, so many layers. Exciting and daunting at the same time…

Leave a Reply

Your email address will not be published. Required fields are marked *