Conversation Options, Scrolling, Databases

I’m pleased to report a nice big (if two-day delayed) URRpdate this week! Lots of progress has been made in the last fortnight, and now we can scroll through all the standard options for each conversation options, with an appropriate pairing of colours to denote whether you know how to say it in the dialect you’re currently speaking (if you don’t and you select that option, it will say it in your home dialect, thereby “giving you away” somewhat if you pretending to belong to a different culture); and in the future I might add a language layer as well, assuming I come up with a good mechanic for language-learning and language-based gameplay.

So, firstly, here’s now the conversation menu looks now, with and without a scroll bar. I’m still finishing off the coding on the scroll bar as these things are really just remarkably awkward and difficult to program in well, especially when you have options that can take up multiple lines and change size, and be sorted into windows of different sizes depending on the player’s selected options. Nevertheless, screenshots/gifs:



These are all, of course, only the default options, as the system for implementing extra questions is not yet in place, but will be soon! So as you can see, we’re going for a two-part colour coding here: green and white means that you’ve got the knowledge to say that in the chosen dialect (obviously you can say everything perfectly in your home dialect, otherwise you’d be in serious trouble!), red and grey means you haven’t. For looking at dialects, the currently-selected dialect shows up with a blue diamond and all the other dialects you know anything of have a red ‘X’. When you’re in the “Challenge” and “Smithing” options and the other options that have two windows, selected/rejected options will be displayed the same way; when you’re trading, which has three windows (your trade goods, selected trade, their trade goods), the items in the middle window will have a < or > arrow next to them showing which person of the two trading parties (i.e. you and the person you’re talking to) they came from.

Now, some techy stuff. When the world is generated, the game now has an (in the process of being written) list of every possible question archetype. There will probably be somewhere between one and two hundred default questions, at a guess, and finishing these off is one of my tasks for the coming week. As for questions that are generated? Well, every question of the sort “What do you think of [work of art]?” will simply be a variation of a default “What do you think of a specific work of art?” question, and once that question is learned the player will be able to ask about any work of art. Those meta-level questions are not present in this initial list, since one would never ask “What do you think of a specific work of art?” without stating the work of art in question, but they are also stored, albeit in separate lists. I am still calculating exactly what the best way to store the player’s dialect knowledge of these meta-questions, but I expect we’ll have a large list of meta-level questions – since there aren’t that many (ask about an artwork, a city, a town, a book, a poem, etc) I think they should be stored fine in their own list.


You’ll note a “gap” between the top and bottom lists; the bottom list is for question topics that only show up when you talk to particular classes of NPC, whereas the top lists apply to everyone. Of the two special instances shown in the above picture, for instance, the “tombs” questions apply to priests and archivists in cathedrals, whilst the “harvest” questions (as you might expect) apply to farmers. In turn, each question in each category has a list added onto the end of it, which contains a set of numbers, relating to which dialects the player does/doesn’t know how to ask that particular question in. This system obviously requires me to type out all the standard question forms – which I’d have to do anyway, regardless of system! – but works very rapidly in the speech system when listing possible statements and whether they can be said in a particular dialect. Upon a particular sentence being selected, the game will then translate the overall question into a specific question for that dialect – so “Who built the tombs?” might become “By the efforts of what craftspeople were these tombs carved?”, or “What people created these great crypts?”, or “Under what ruler were this tombs mined out?”… and so forth, and the same then obviously applies to every possible question, including the generated ones. As well as finishing all the question lists, the other goals for this week are ensuring the scroll bars work correctly, storing the meta-questions, properly allowing the player to switch dialect, and allowing the player to start typing something and then have the list of potential questions adjust themselves based on the “search” – as we discussed before, this is going to be *vital* for some of the really long question lists.

Other Stuff

I gave a talk this last week at the first ever “Poetics of the Algorithm” conference in Liege about various gaming practices that subvert the intended play of games, like hacking, glitch-hunting, speedrunning, adding conducts (e.g. permadeath), modding, etc. It went pretty well, though unfortunately I missed most of the other talks due to other work obligations! The slides are vastly too big (100mb+) to put up here without a lot of effort into slimming them down, but suffice to say I talked about some fantastic glitches like super-swimming…

…and this hilarious memory-modification…

…and some counterstrike surfing (the music is unspeakable on this video, but the video itself is good)…

…and various other comparable practices of in some way “rewriting” the game away from how it was intended to played (I also got in a good mention of the Vaults submission processes in Dungeon Crawl Stone Soup and the massively distributed game design that it creates).

On Monday I’ll be giving a talk about URR at the upcoming Computational Creativity and Games Workshop in Paris (sadly one cannot buy a ticket for only a single day of the main conference it’s a part of, so this is a rather pricey excursion, but I’m generally trying to raise awareness of URR within computer science circles even if that isn’t my academic field, so I don’t mind), and then no more conferences until early August, happily, which will give me time to finish off 0.8 for my intended release date at the end of July. Now, I know I’m not very good at keeping deadlines, and I know putting this out there might be unduly confident, but things are really getting extremely close to completion now, and I think it’s feasible with some serious crunching next month once I get a few academic papers finished and submitted this month. Stay tuned, and see you next week for more URRpdates in the conversation system!

Be Sociable, Share!

6 thoughts on “Conversation Options, Scrolling, Databases

  1. Sometimes you get people who think they’re pretty good at a regional accent, but actually aren’t (because they’re out of practice, they’ve never tested on natives, they don’t notice the slight differences between geographically close areas that any local would pick up on, or perhaps their teacher was from a nearby region passing themselves off as a fluent teacher of the dialect). Will this be simulated or will it just be a case of ‘red option will get me caught so don’t pick it’.

    And then there are some people who are much more likely to spot a fake accent than others. Or if not a fake accent, then a trace of something that leads them to ask, ‘have you spent time overseas?’

    Are there going to be levels of perception/suspicion implemented. If a guard is on the look out for someone with a slight Southern accent trying to pass himself of as a Westerner he’d be slightly more likely to catch you out, wouldn’t he? Maybe even trick you into giving yourself away as I think I’ve seen in one or two spy movies.

    • Ah, this is true. Hmm. These are all really good thoughts, and I can definitely see the value of having some slightly unpredictable system; the more phrases you know in a dialect, or maybe in a sub-category of a dialect (e.g. Art, Towns, whatever). Perhaps I need to add a yellow option, or a range of yellow options, for taking a shot at something? I quite like that idea.

      Some more/less likely – yeah, I think so, although everyone will look out for how you speak, how you dress, etc. Guards as an example though – yes, definitely, I want to have things spreading around the news/gossip of a town or city and so forth, so that if they are warned beforehand someone from a particularly hated nation is trying to infiltrate them, they’ll be on the look out.

      Thanks a lot for this comment – gave me some really good ideas to think about!

  2. [0.8 intensifies]
    I’m so excited for this.
    I’m genuinely convinced that URR is something people will remember for a long time. Just an intuition.

    • As am I! And I do hope so too; I think this release, and the much shorter release afterwards, are really going to show the kind of scope and ambition I’m trying to work with, whilst also developing a large portion of the core gameplay. It feels so good to be past the 50% development mark, though!

  3. It’s good to see an example of how questions will actually appear translate in different dialects in the game. I had only a vague idea before of how this would be handled, but if the example with the tombs question is any indication, then URR will be able to generate some interesting and subtle variations of questions and answers. I look forward to seeing more.

    And that Wind Waker glitch is hilarious…it’s like Link is being sucked into some hellish watery portal, and then blasted out the other end at supersonic speed…

    • I hope so! Working on implementing that next week once I finish off the precursor today, for a blog update hopefully tomorrow. Ha, yes, it is rather splendid; apparently aiming it is quite tricky…

Leave a Reply

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