Conversation Options, Scrolling, Changing Dialect, Meta-Options

An even bigger update this week! I made a lot of headway on my academic commitments (one of which can be seen at the bottom of this update) and so I managed to carve out quite a few evenings to really focus on game development for a bit. This week I added the current list of every single standard conversation option (which is then generated for each culture when spoken), implemented the scroll bars for going through some of the longer lists, allowed the player to change their dialect and see what they can see in each dialect (I haven’t yet decided how much dialect knowledge will be present in this release – we’ll see), and then implemented a system for keeping track of all the meta-questions (such as “Please tell me about [novel]”) and what dialects the player can say those in! Lots of big progress therefore, and all the underlying aspects of the conversation system are now there – except selecting options and having them appear in the conversation itself – and all the elements of the dialect generation system are now there – except for exhaustive generation of every possible statement. My task for this week, therefore, is to make as much progress as possible in these two areas. I have no idea how fast/slow these will be, but I’m confident about having something solid to show you all in a week from now. In the mean time, though, here’s some more detail about the latest developments:

Conversation Options

I’ve created a draft list of every single default conversation option in the game. I haven’t actually counted them up but there are several hundred default options, and these will be available in every conversation, as well as another hundred or so “default” options limited to a specific class of NPC (so you can ask a guard about guard duty, an archivist about their archives, etc etc). Here’s a screenshot with an entirely incomplete section of potential default questions, and a gif of looking through the default question options for a whole bunch of conversation options:

ICCC2

ICCC 1

I’m sure I’ll keep adding new questions here, but I’ve built the rest of the technical architecture (i.e. the parts more complex than the lists shown here) in such a way that just adding something to the lists here will implement a new question in all the relevant parts of the game’s code where it should be, and allow me to put in a system for generating that question. You’ll also note the different colours! After some excellent thoughts in a comment last week, there is now a range of knowledge the player can have about a given sentence. A green diamond means you can say it perfectly in that dialect; a red diamond means that there is absolutely no chance you will say it correctly; but the interesting ones are the numbers, which range from 1 -> 9 and mean you have a tiny -> very high chance of saying it correctly. If you select one of those options, a die will be rolled to decide if your character says it correctly. If they do, that sentence is then elevated up to a green diamond; if no, it is reduced by 1 or 2 (we’ll see how this goes in gameplay) making it harder to correctly guess next time you try (since you thought you knew it, but didn’t, so actually have less info than you thought). In terms of how these numbers will go up – learning a single sentence in a dialect will means that X other unknown sentences in that category will be moved upwards by Y values; X and Y will be both dependent on the size of the category. The “greeting” category, for instance, only has three options – “Polite Greeting”, “Neutral Greeting” and “Blunt Greeting”. If those are all at values of 0, and then you hear someone give you a polite greeting so that becomes a 1, the others will also immediately go up to around 0.3, for example. By contrast, the ideology category contains almost two dozen standard entries, so learning from from 0 -> 1 might add a 0.1 onto three or four of the others. This means two things – firstly, some interesting and I think valuable chance-based gameplay where you decide whether or not to risk a sentence you might be able to say correctly. Secondly, the player character’s knowledge of a particular dialect will be a more gradual development process, rather than an absolute (although some things will still immediately move you from “0” to “1” knowledge). I think this is a really good development, and I’m so glad it was suggested last week – it also makes the UI look far more interesting!

Scrolling

The scroll bars in the conversation window now work correctly. I don’t know if any of you have ever tried to program in scroll bars, but these things can be surprisingly nightmarish to code, I’ve found, but they all work rather nicely. Here’s me scrolling through the list of dialects (which is entirely complete for now, but will of course start off almost empty in future versions) and the scroll bar adjusting appropriately. I know it’s only a small thing, but these sorts of UI elements are definitely important when you’re going to have potentially large volumes of stuff to look through. Which leads onto the next section…

ICCC3

Search

On the topic of large volumes of stuff, I’ve also implemented the system for being able to search through a particular block of possible questions and narrow them down based on some typed letters. As you type letters into a particular window, they show up at the top; backspacing then remove them; and the game quickly updates the list of possible questions. Here’s an example of           – I typed quite slowly in this example to show the list shortening, as it shortens quite fast as soon as you’ve got a few letters in there, and then backspaced back and typed in quickly just to demonstrate that the system works effectively. In the future, therefore, even in conversation categories where there might be hundreds of options – towns, artworks, novels, etc – you’ll be immediately able to just type in “Red” to find the “Town of Red Eagle” in a second without having to scroll through potentially a hundred options. I was actually very surprised by how easy this turned out to be – I was expecting implementing search functions with large volumes of entries to take far longer. Here’s a gif of me typing in “when” into the “Past Life” category – this short category is not one you’d necessarily want to search, but it illustrates how the search function works (note the “when” appearing at the top of the window as you type it, and then the questions are narrowed down).

ICCC4

Changing Dialect

You can now change dialect. Selecting a new dialect switches the player’s current_dialect value, and all the conversation options then update based on whether or not you know the new dialect. Fairly simply, but obviously important. For now, all dialect knowledge is totally randomized for the sake of testing – not sure how I’ll leave this for the release. Depends on timing!

Meta-Questions

I’ve also implemented a draft list of meta-questions. There are the “What do you think of X” questions where the full list of such questions slowly expands as the player discovers more and more of the world. As there aren’t too many of these meta-questions, these are just being stored in a separate list. These won’t be present in the 0.8 release, as these need integrating with the system that’s going to replace the encyclopedia in the near future, but the basic implementation is there. This will probably be one of the first things I start doing for 0.9, although since 0.9 will include generating weapons and armour for soldiers and guards, and it has been a long while since I did any artwork, it might be hard to resist starting there…

Metas

What next on conversations?

This coming week I’ll start developing the sentence generation. All the “abstract” dialect generation is in place, so the game can select word elements, appropriate cultural/historical/geographical reference lists, sentence complexity for a dialect, various ways of speaking about various things, and so forth, and so now I need to translate this into actually spawning different sentences! I have a good idea of how to structure this, so it’s time to get started on that.

Other News

A few interesting points of other news! Firstly, in the middle of July I’m co-organizing a quasi-game jam event at the University of York (where I work), which is also something like a hackathon at the same time. If any of you who live in the UK fancy coming up to York, we’d love to see you there! Some information can be found here. I should also say that I made the banner using the excellent REXpaint, which I highly recommend for all your ASCII/ANSI art needs. Let me know if any of you are nearby and fancy coming along! It’s my first time hosting an event of this sort, so we’ll see how it goes…

DDD

Also, today I’m giving a talk at the Computational Creativity and Games Workshop in Paris on some of the more abstract/cultural procedural generation stuff in URR, which will hopefully be going on Youtube; I’ll also 100% be at this year’s US IRDC at NYU! I’ll be in NY on the 6th and 7th, and probably sticking around two more days, and it would be great to see any of you roguelike folk there at the conference. We’ve got a good bunch of talks lining up, and based on previous experience we can fairly expect more people to submit talks just before the event starts, and we’ll have quite a few big-name roguelike developers and hopefully some game design staff from NYU stopping by as well. Unfortunately the timing is less than ideal, since it overlaps with the end of FDG/DiGRA in Dundee (which I’ll also be at, before then sprinting across the ocean on the 5th), so I fear some of the NYU staff who would otherwise attend might be absent. Still, last year’s was the quite success, so I’m excited about attending this year’s! Hope to see some URR fans there.

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:

Conv1

Conv2

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.

farewell

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!

Chapters, Twitch, Graphics

Hi everyone! I’m afraid this is the only blog post we’ll have this week. Basically, a particular and extremely exciting games-related opportunity has just arisen very unexpectedly that requires me to absolutely focus on putting together what is effectively an application by the middle of this coming week. I’ve been working almost entirely on this for the last few days, as well as finishing several book chapters I need to write for an upcoming textbook on procedural generation edited by Tarn Adams and Tanya Short, organizing a funded “hackathon” event at the University of York next month, preparing for a conference presentation on modding and glitch-hunting in Belgium next weekend, having a meeting at Twitch with some absolutely fascinating future research potential…

Meetery…and creating a quick mockup of ANSI art for an intriguing external game project whose lead designer is keen to hire me to do the artwork (and I’m keen to work on!)…

Nuclear Mockup…and generally catching up with my emails and whatnot post-Canada. Sorry everyone! We’ll be back in seven days with lots of conversation screenshots, as the menus of conversation options and the technical implementation of tracking dialects and sentences and whatnot are *almost* ready to show. See you then!

Dialects: The Technical Side

Remember that technical stuff I talked about last time, and the dialect learning system we discussed the week before? This is going to be one of those rare URRpdates which is actually semi-technical, and I’m going to talk a little bit about how I’m going to implement and store the player’s knowledge of each dialect.

Dialects vs Languages

Firstly, as mentioned last week, I’m talking currently only about dialects – which for the sake of URR I’m currently defining as “a way of speaking English” – rather than languages, which in the URR context I’m defining as a totally different set of characters being used for speech, which might be unintelligible to the player character. The latter will be used for tribal nations (once I figure out a way to implement it that isn’t totally infuriating), but for 0.8 and all immediate future releases, we’ll be focusing on dialects rather than entire languages. It was suggested on URR’s Bay12 thread this week that languages could actually play a small role in the “main” civilizations of the world, i.e. the feudal and nomadic ones, by having 3/4/5 languages across the world as well as dialects, so that you have a lot of nations you can visit that speak your language (which would offset the potential annoyance of having exploration curtailed by language problems) but there are still multiple languages even in the large nations of the URR world. I’m pondering this option and haven’t reached any conclusions yet, but it’s definitely an interesting option.

Technical Specifics

So, I am faced with a bunch of interesting challenges here. I see these four in particular, and I have four solutions I’m currently implementing, with the target of having a working model by this time next week, and some nice screenshots to show off!

Firstly, a system is required that can both keep track of standard “sentence meanings” – such as [Standard Greeting] – and however many custom sentence meanings might be required within a particular game world, such as [Ask about the painting “Sunrise over the Empire of Nurnek”], which will obviously be unique to that particular playthrough. These should all be given to the player in the same way and at the same time, so that the player starts with just a bunch of standard conversation options, and then as time goes by and they learn more about that generated world, they’ll gain a massive range of other conversation options. My intention is that upon world generation, the player will be given a range of sets of the sort greeting_questions = [], farewell_questions = [], and so forth. These will then be populated with a standard set, but they can also be added to manually by the game as a particular playthrough proceeds; so encountering a work of art will append a new possible sentence about that work of art. In turn, each of these additional sentences will be part of an archetype, e.g. “ask about painting”, “ask about sculpture”, etc, and a “tag” on each will keep track of what each sentence means, so that when the player learns how to say [Ask about painting “X”], every sentence of that sort becomes ask-able. A quick mock-up of how this should look, if the player had clicked on the “Past Life” option:

mock

Secondly, the game needs to track what dialects the player character can and cannot say each thing in. This has two obvious options – either the game tracks sentences and lists for each one the appropriate dialects the player knows, or lists the dialects and tracks the sentences that can be said. It became immediately clear that it should track the sentences and then record valid dialects for each sentence, rather than the other way around – if I tracked the dialects, then each dialect would quickly fill up a massive list of valid sentences which would take a long (“long” by roguelike standards) time for the game to sort through each time. Therefore, the game tracks all sentences, and in each sentences has a list of numbers, which relate to each civilization whose dialect the player can say that sentence within.

Thirdly, a method for storing dialects themselves is needed. I’m not currently completely sure about the correct method to do this, but it’s one of the things I’ll be thinking about this coming week, and then implementing the week after. If you look at the URR slides below, you’ll get a good impression of the variables that need to be recorded, and those need to be put into each civilization somehow. More on this later!

Fourthly, we need a method for sorting through certain conversation options that might come with a particularly large volume of viable options. For example, regardless of your dialect, the “Greeting” menu might only have a few options – “Warm Greeting”, “Greeting”, “Terse Greeting”, etc. By contrast, the “art” menu will end up including every piece of artwork you ever see, and if you reach the end of the game, and you’ve investigated a lot of galleries, mansions, cathedrals, castles… it’s going to be the pretty colossal list, and there probably needs to be some way for the player to immediately sort through them. Maybe options to sort by civilization, or start typing in a word and it tries to match that up? So once you know a particular piece of art called “Sunrise over the Great Southern Ocean”, you can type in “Sunri” and it’ll immediately offer you that option. There could be other methods, but I think some combination of those might be the best.

My intention for this week, therefore, is to populate all the option menus with an appropriate set of options, and to start figuring out how exactly to store dialects and therefore generate sentences. More soon! And here’s another mockup I put together for this week’s presentation:

mock

Canadian Conferences

I’m very pleased to report all my talks up in Canada went well – the URR talk on dialect generation was very popular, and we got a great turnout for both the “bullet hell live” event, and for the actual paper I presented on deep play and dark play. I’ve uploaded all three of the presentations for those interested: obviously these lack my own comments, but they’re a pretty good summation of the stuff I was talking about, along with a few mock-ups of the conversation system I put together for the URR talk. You’ll also note a few slightly more light-hearted bits in the deep/dark play; it was the final talk of the final panel on the final day, and I sometimes like to make talks that I feel are particularly well-suited to really engaging and capturing the interest of the crowd slightly humorous (hence the “capitalism” image on one of the earlier slides!). Similarly, the danmaku “paper” was only an intro to the presentation, so those around last year will recognize much of it from my full talk about bullet hells in 2015, and the deep/dark paper is so big it has to be two files in order to actually upload them here. Anyway, with all those explanations sorted, here they are – enjoy!

URR presentation:

Bullet hell intro:

Deep and dark play in cinema, #1 and #2:

Next Week

Implementation of all default sentences, and the ability to add new sentences, and track the meta-sentence those sentences refer to!

Television, Canada, Dialects, Talks, eSports

This week I’m up in Canada for the Canadian Game Studies conference, where I’m giving a talk and a bullet hell presentation, and the Canadian Digital Humanities Conference, where I’ll be talking about URR’s dialect generation system (which, thanks to the incredibly valuable comments from everyone last week, is now coming along rather nicely). I’ve been travelling and working on my presentations all weekend, so I’m afraid this week is a short entry, and next week’s will have some more info about how I’m going to build the dialect system, then after that we should have a big update on how the conversation system is developing, and any remaining bugfixing. This week’s update is therefore a bit more of a “what are my ongoing projects” kind of update, with various components:

My First TV Experience

This week I found myself on live television in front of apparently 90,000,000 people (many of whom I’m sure will have been TVs in hotel lobbies, but even so) talking about eSports! This was a follow-up to a brief interview request for an article the BBC posted about Overwatch’s release, and all happened rather suddenly. The piece lasted around three or four minutes, and I basically talked a bit about the appeal of eSports, its potential growth, how/when/to what extent it might compete with physical sports, etc. Sadly, I wasn’t as fluent as I am ordinarily. As I’m sure many readers know, I still have the remains of a physiological speech disability (i.e. it has nothing to do with “nerves”), and unfortunately it played up quite strongly that day. Some of my replies went well, but some far less so. It’s deeply infuriating and dispiriting when this happens, but for my first appearance on TV (let alone live TV!) it isn’t too bad, and I’ve learned a few tips about how to conduct myself in the TV studio context which should come in handy next time around.

GMT4

Comic Con and eSports

Myself and Dr Jamie Woodcock (on the left in the below picture) are in the process of starting to really accelerate doing eSports-y work, and myself and a number of colleagues in my research group are starting to put together some early thoughts about developing a highly innovative kind of analysis software package for eSports games. We’re hosting a workshop on it in a couple of months thanks to some funding acquired from the University, and everyone is invited, although we can only support the attendance of a small number of guests we’re hoping to bring in from the various aspects of eSports! I’m really excited about developing my engagement with professional gaming outside my own gameplay currently and history with poker, and this could go in some really awesome directions in the near future. I’m increasingly trying to make professional gaming/eSports my primary research direction, and these aspects are really helping in that task. As part of this, on Friday we went to Comic Con London on the back of some passes kindly provided by our growing eSports contacts, and caught up with them and had a look around lots of the stalls provided by eSports (or eSports-related companies) at the event. It was very interesting to see how they were presenting themselves during their push for competitive gaming towards the Comic Con crowd, a community which I would say, in many ways, represents a part of “geek”/”nerd” subculture not necessarily all that close to competitive gaming.

We also found some rather excellent cosplayers. I’m pretty sure this is a Dota 2 character, right…?

comic

Canadian Talks

As above, I’m up in Calgary right now giving three talks. The first will be on URR’s dialect generation, with a focus on its various components (names, cultural references, sentences, greetings, etc etc) and how they’re all put together, and how the game adds in variation elsewhere, such as in city names (as below). This is the first of hopefully several talks I’ll be giving on the system as it develops, but since the system is still in development right now, this talk is a little more of an overview, and a little less technical, than the later ones might be!

Calg1

The second will be me playing Blue Wish Resurrection on-stage for the entire (or the overwhelming majority of the) crowd at the Canadian Game Studies conference, with an excellent commentator on-side to explain what’s happening whilst I focus on actually playing the game. It’ll be preceeded by a few slides I’ve put together about the history of the genre, the evolution from “shmup” towards “danmaku”, and so forth, and then it’ll be onto the playing! That’ll be followed by a competition with some kind of prize, which I should really decide on very soon. I’ve recently acquired the #2 world high score in the game, so expect a blog entry on that in a while once I get the WR!

Calg1

The third talk is then going to be on “deep play” (play/games where the outcomes will have genuine and substantial material effects on one’s “real” life) and “dark play” (play/games which cannot be consented to engaging it, and/or in which consent cannot be withdrawn) and the recent explosion of films that have these kinds of themes in them (see the slide below). The paper is basically a close analysis of these films, especially with regards to how closely linked to portrayals of various forms of capitalism they all are (if you look through the films below, you’ll see what I mean about at least 11/15 of them). This is a pretty weird paper, but I’m really looking forward to presenting it.

Calg1

Dialect System

In light of all the excellent comments last week, I have some idea of how dialect learning will now take place in the game. The overwhelming answer seemed to be “some combination of 1 and 3”, and I agree that this is the best solution. If you’re talking to someone about a topic and they make mention of a particular aspect of that topic, then you’ve heard someone say that particular thing in that dialect, and that’ll get added to your list. Alternatively, you’ll be able to buy books or ask someone to specifically tell you about extensively about a particular topic (for a price), both of which will add appropriate information to your database for that dialect. There were also five really interesting ideas raised which I hadn’t thought about, and here they are, and my thoughts on them:

  1. General books? It was suggested that perhaps one could build up a reserve of “points” which are acquired through “general books”, perhaps, which allows you to talk in a dialect for quite a while without needing expertise, but once you exhausts that knowledge of the “basics” of the language, you then pursue more specialist information. I quite like this idea for the basics, and perhaps a system where you can choose where to focus this basic learning? It needs a little more thought, but I think it has promise. Verdict: Probably. 
  2. Event learning? The idea was put forward that your character can learn dialect information by attending particular events. I think this could be a fantastic middle-ground between learning language bits just by hanging around in a city, and learning from items – if you go to an arena you’ll learn how to talk about combat, going to a religious festival will let you overhear info about that religion, etc. I’ll have to think about how exactly to put this in to prevent farming/tedium, but I really like it. Verdict: almost certainly. 
  3. Fast forward feature? One comment suggested that you can choose to spend time in a city just learning the dialect as another means of acquisition. I think if I implement this you will not be able to pick up language just by hanging around in a city normally, but you will be able to choose to click a button to spend X time in a city talking to people, and at the end of that time your dialect proficiency will go up; spending time as a resource, therefore, which is always a good option in a roguelike. Verdict: Probably. 
  4. Learning basics helps you learn advanced? It was suggested that you learn advanced parts of a language faster the more of the basics you know, but I’m not sure how well that would line up with learnings in “chunks” through books, events, etc, but the concept makes a lot of sense. I’ll think more about how to add this. Verdict: Maybe.
  5. Mastery? The idea came up that when you reach over a certain % of a dialect, you are automatically given the small parts you don’t have – so when you have 90%, for instance, everything is automatically filled in, since your player character can “work out” how everything else would be said. This makes a lot of gameplay and thematic sense, and I like it. Verdict: Definitely. 

Also, I realize that I should make explicit the difference I’m intending here between “languages” and “dialects”! All the major civilizations in the game world will “speak English”, but different dialects of it which produce different phrasings, different ways of speaking, etc. By contrast, smaller tribal civilizations will speak their own languages, which will need their own systems I haven’t quite decided on yet…

Next Week

A full run-down of how the dialect learning system will be developed in a technical sense, some decisions on the above dialect points (most of which will likely be “yes”), and starting the implementation of that learning!