About Ultima Ratio Regum

PhD student, game designer, curry eater.

Finishing 0.8 Part III

Before anything else, I had some unexpected donations this week. I don’t push for donations – although such a button is hidden on my site – but one donation in particular was unusually generous this week, and I must express my sincere appreciation to BP (that seems anonymous enough!) for the support; it’s very generous and very much appreciated. Otherwise, I am pleased to report another productive week of coding for the books. Instead of playtesting everything I did last week, I decided to add another large body of new code, then playtest everything from the last three weeks next week instead. So, here’s the new code implemented this week:

  • Most importantly we have three new elements that influence how NPCs respond to conversations: sensitive topics are “tagged” as such, NPCs are more or less inclined to respond to those sensitive topics, and they have three kinds of basic responses when explaining why they don’t want to respond to something you’ve said for personal reasons (as opposed to not knowing the information, which is factored in elsewhere, and isn’t a case of “not wanting to reply”, but rather “being unable to reply”).
  • Every possible question now has what I’m loosely calling a “conversation tag”, which denotes whether it might be a sensitive topic on any of seven possible axes – “individual”, “political”, “national”, “religious”, “military”, “cultural”, “geographical”. Some of the questions will be potentially sensitive on more than one count. For example, if you ask about the politics of an NPC’s nation, that will naturally be flagged under both the “political” and “national”. Most questions have no tags, then it looks like around a third have one tag, and then a very small number have two tags or more; the most tags are questions asking people about the ideologies of their nation, which might be “political”, and “national”, and then “religious” or “cultural” or whichever other applies. What this means is that when you ask someone a question, it will check whether this is a sensitive topic, and the answer to that question will influence whether or not they are willing to give you an answer at all.
  • Then the next part is inclinations – how inclined are people to tell you about potentially sensitive topics? Each NPC has a rating for religious topics, for political topics, and so forth, which varies hugely across NPC classes. This is on an internal scale of 0-4; at 0, they will rarely talk to you about a sensitive topic (of the sorts listed above), at 4 they will always talk to you (extremely rare: only national and religious leaders, and then one NPC class per category, will always tell you about X). All other classes are spread out along 1-3 (default “humans” are almost always on 0, or if not, they are on 1 instead). If you ask a non-sensitive question, whether or not they answer will be dependent on other factors (how much they like you, etc) – if you ask a sensitive question, it will check which conversation tags are listed for that question, and compare their rating.
  • This might seem incredibly complex, so here’s an easy example. You ask someone about their religion. The game checks how inclined that NPC class is to talk about religious matters; a priest is very inclined, your average innkeep doesn’t have much time for religious matters, and so forth. An appropriate die is then rolled for the question; if successful (and other tests are passed, e.g. the NPC likes you enough), you get your answer. So what happens if they say they don’t want to talk about X?
  • Well, I’ve split the “I don’t want to talk about X” into three categories, I’m calling “stupid”, “uninteresting” and “suspicious”, which are the reasons NPCs will give you for not wanting to give you a reply. The “stupid” option means that the NPC is baffled why you are asking them about that particular topic: for example, asking a monk about military matters, or a farmer about sculpture, or an officer about plant life, is likely to elicit this response. The “uninteresting” options is the default, and simply means the NPC doesn’t want to talk about it right now, for which they might give a bunch of reasons. The “suspicious” option means that the NPC refuses to talk on the topic, and is puzzled, concerned, worried, anxious, or most obviously suspicious about why you ask – this happens most often when happening about military matters, but can crop up for any conversation topic except the “cultural” ones.
  • In some cases NPCs will give you a specific reason for not wanting to continue the conversation. If you asked about a religious topic, and they don’t want to reply, and they are from a particularly zealous nation, they might say something like “That knowledge is only for loyal followers of [god]”; or if you asked about a political topic, and they are from an isolationist nation, they might explain a dislike of talking to strangers about the politics of their homeland.
  • So, a “I don’t want to reply” looks like the following. If “Uninteresting”, they say “[Sorry, I don’t want to talk about that]. [Cultural reason why not]”. If “Stupid”, they say “[Am I really the person you want to ask/I dislike that topic/why are you even asking this?]” (without cultural reason). If “Suspicious”, they say “[Cultural reason why I can’t answer. And why are you even asking?]”.
  • I noticed very few questions have the “Cultural” tag – I’ll have to add some more in later versions.

So: these were the things that last week I wanted to get done this week, and they’ve been done. Very please with the week’s coding! You’ll also probably note there are a lot of elements going into how and whether NPCs reply to you. What is their mood? What culture are they from? What culture do they think you are from? What topic are you asking them about? How has the conversation previously played out? What NPC class are they? And if you’re thinking this is a lot… it is! But I think this is what goes into making a reasonably realistic, and hopefully gameplay-interesting, conversation system. When you “fail” to get a reply, for any of the above reasons, the “failure” messages are all being designed so that you know why you didn’t get a response. If the NPC didn’t reply because they don’t like you, because you’re asking about a sensitive topic, or because they dislike the nation you seem to be from, it should always be clear, and allow the player to learn what it takes to find people who are willing to talk to them, and to talk to them in an appropriate way to actually get an answer.

Next week: playtesting and screenshots!

Finishing 0.8 Part II

Lots more progress this week! Still feels so great to be back into coding, and make solid and rapid progress on the conversation systems too; it’s striking how much can be done in a day when one really focuses. In keeping with our new method of rapid blog-entry-writing which is something akin to a changelog, here we go:

  • Finished off all the possible “annoyed responses”, which fall into four categories, which I’m calling “general responses”, “class responses”, “default responses” and “special responses”. When you ask someone the same thing twice or thrice, they give increasingly annoyed or puzzled responses; then, when you ask again, one of these comes into play. 50% of the time when you ask someone the same question over and over, they’ll give a response similar to the responses they gave when you’d asked the same question twice or thrice, i.e. “why are you still asking me this?”, which will sound more or less annoyed depending on their mood (“general”).
  • However, sometimes instead of a general response they will give a “class” response, which is a response tailored to their class. For instance, a ruler will specifically scold you for wasting their time; a torturer or a gladiator might make veiled threats about wasting their time; monks will express anxiety about the fact they aren’t getting on with their studies; and so forth. These give a nice little bit of flavour; roughly half of all the NPC classes have “class responses” of this sort when you get on their nerves, but they don’t always come into play. These will also later on appear when you ask irrelevant questions, as well repeated questions.
  • Then, the other 50% of the time (when general/class responses are not triggered) the game will look to see if there is a special response for being annoyed about that particular topic, which might be annoyed after giving a positive response (the NPC answered you, yet you keep asking) or a negative response (the NPC didn’t answer you, yet you keep asking). Some questions have special responses for positive/negative original answers, others just for one. If one exists, it then picks one; for instance, if you asked an inquisitor about heresy, and they didn’t answer, and you repeatedly ask, they might say “At this point, I begin to find your fascination with heresy concerning…”, or if you asked them about nearby volcanoes, and they answered, and you keep asking, they might give a snide response like “I’ve said all I can – these things are hard to miss”. If a special response exists, it is chosen 75% of the time.
  • Then, if there is no special response coded for the question and the specific positive/negative modifier in question, the game then goes for a “default response”. If they responded positively, they might say something like “I’ve told you everything I know about [topic]”, or if negatively, something like “I will not speak about [topic], can we move on?”. The [topic] in this case will be drawn from a large library of phrases, like “buildings”, “my health”, “my homeland”, “weapons”, “fighting”, “these tombs”, “noble houses”, or whatever makes sense for the topic.
  • These also vary according to mood, so an NPC who still likes you after your constant questioning might say “What interests you so much about [x]” or “I’ve already told you about [x]”, whereas an NPC annoyed with you will give sharper “Why do you persist in asking about [x]” or “I have got nothing more to say to you about [x]”.
  • What all of this means is that the responses of NPCs when you get on their nerves is tremendously varied according to their mood, their background, their NPC class, their origins, what you’re asking about, how many times you’ve asked them, a wide range of other factors. It would take a tremendously long time for anyone to come close to seeing all the possible annoyed responses in the general/ class/ default/ special response categories.
  • Some questions being asked repeatedly cause a bigger mood drop than others. For example, if you ask about sensitive topics, they get miffed much faster; if you ask about particularly mild topics, there is now a small chance they will not lose 1 mood; in general, though, asking a question twice will, 90% of the time, cause mood to drop by 1 (for those who don’t recall, “mood” is on a nine-point scale, and if it drops to 2, there is a 33% chance they end the conversation; at 1 there is a 66% chance they end it; if it’s at 1 and should drop again, they will always end the conversation).
  • Also, asking people from more hostile or more closed nations the same question over and over comes with a die-roll for an extra mood drop alongside the default “1”. What all of these points mean is that (in the extreme cases) asking someone from a friendly nation about a neutral topic will take a while to annoy them if you repeat the same query; asking someone from a much more hostile nation about their work as an inquisitor is going to tire them out extremely quickly; and all other interactions fall somewhere in the middle of that spectrum.
  • Lastly, some NPC classes will always have their mood drop faster if you annoy them: this means rulers of various sorts, top-tier military officers, inquisitors, archivists… basically any high-rank NPC will get annoyed with you far more rapidly.
  • I’ve also coded in what NPCs say when they want to leave a conversation with you; for now, this only happens if you ignore them. There are a wide range of default goodbyes that any class can potentially use, and some classes can only use because they don’t have special goodbyes. Other classes do have special goodbyes, where they will explain that they need to go and do X, or talk to Y, or handle Z, or otherwise that your inane blather is generally less important to them than whatever else they might be doing. They then conclude with a “goodbye”, “farewell”, or similar.
  • Note that these are very different from the goodbyes you get from NPCs if you say goodbye first and they echo the goodbye; they will give you at least a reasonably nice response back, even if their mood value is getting quite low. These goodbyes only happen if the NPC decides on their own account to end the conversation because whatever the player is saying is too annoying/irrelevant/distracting to continue the conversation.
  • On some goodbyes where appropriate, NPCs might mention the time, e.g. “Good day to you” or “I bid you good night”, etc, and the word used will be appropriate to the time of day, i.e. morning/day/evening/night.
  • Also, of course, made sure illogical goodbyes cannot be said – for example, a prisoner will not say “I must attend to other matters now!” and then just go back to walking around their cell; whereas free NPCs might say that, a prisoner might instead say “This conversation has become too trying”, or “Your tedious questions have become too much”, or whatever.
  • Added another 100 words/phrases that can be unpacked and spoken differently in each nation, and made sure they can conjugate all the other versions of the phrase sensibly; so “say” can be “say”, “utter” or “speak”, then “said” could be “said”, “uttered”, “spoke”, and “saying” can be “saying”, “uttering” or “speaking”, and so on and so forth. Also added new conjugations of existing phrases or words which hadn’t previously been put into the database.

Next week? I’ll be playtesting all of this stuff, and once that’s all working fine, working on some other aspect of conversations. As mentioned before, I am actually not trying to do everything needed for conversations per se for 0.8 – the “metaquestions” (“What do you think of [artwork]”, etc) are being omitted until 0.9 at least, for example – but just enough to get the release off the ground and let people explore the central elements of the conversation system. As well as playtesting these elements, I want to start going through all the questions you can ask people, and check those work – I’m sure there are some bugs or typos in there I haven’t spotted yet. I’m confident by the end of next week I can have all that done, after which I’ll start working on having things like “[god]” or “[nation]” or “[house]” or “[officertitle]” or whatever correctly appear in speech. Those are a complex set of variables which will have to draw on a lot of different parts of the game, and I don’t want to tackle that until everything here, and the standard Q&A, are all implemented. See you all next week!

Some of the new word variables/extensions, where the comments remind me which other conjugations also need to be covered:

The general words people will use when they ask things like “why are you still asking me about X”:

As you can tell, a large part of this week has been writing massive lists! At least next week it’ll be back to playing the game itself and seeing how things play, so hopefully some in-game screenshots will come your way next time…

Finishing 0.8, Part I

Firstly, I’d like to express my sincere and heartfelt appreciation for the outpouring of kind wishes after last week’s blog post, both here, and on Reddit, and Twitter, and by email, and elsewhere. They are deeply appreciated and deeply felt, and are a real credit to what a supportive bunch of people the roguelike community (and those who read my blog for the non-roguelike posts!) are. I don’t think there are a lot of games communities that would have responded so positively, and it really means a lot to me. I won’t disappoint you all; we’re back to coding, and 0.8 is back in development. I’m also going to get back to weekly updates, which will mostly be development logs/patch notes in style – however short they might be – with some longer pieces interspersed.

So, as mentioned in last week’s entry, my objective is now to devote one full day – either Saturday or Sunday – each week to programming until 0.8 is released, and beyond. As such, this weekend has been the first weekend of that new pattern (I’ve actually been coding both Saturday and Sunday), and for the first time in months I opened up URR’s files (or rather, file…) and took a look at where everything was; I also took some time wandering around the game world to see how everything was functioning and what still needs to be done. My first feeling, I must be honest, was a deep satisfaction at coming back to the project and wandering around the game world. Having slightly forgotten where I was up to before the monograph crunch/burnout began, I was pleasantly surprised to see just how many topics one could talk to NPCs about, and how intelligently (I think) they responded; how alive with activity the cities and towns were; and just how different the world felt to anything else that I’ve played, something in its texture, or the potential to fall down a rabbit hole of conversation, or ‘l’ooking in detail about the world. It was a tremendously motivating return, and one long overdue. So, without further ado, here’s the changelog for this weekend:

  • The second I loaded up and tried to ‘s’peak to someone, we saw the first problem: the speaking crosshair seemed able to traverse the entire length of the screen, which was deeply puzzling. I discovered this only happened when the player was near the edge of one of the 200×200 grids the player actually walks around in, and this was because of a piece of code designed to prevent the crosshair from slipping off the screen; in this case it was registering that the player was near the edge, but thinking the player was using an infinite-length crosshair (e.g. the ‘l’ook crosshair) instead of one which is supposed to be contained to a 3×3 area. A quick fix took care of this, and told the game to handle edges differently depending on the crosshair the player is using.
  • Then discovered that if the relationship between your nation and another nation was classed as “Unknown”, then one particular piece of code relating to greetings wouldn’t work, because it was looking for a friendship_value which didn’t exist. Instead, encountering an “Unknown” civilization now sets the friendship_value to a number determined by the ideologies of the nation in question, so a more outward-facing nation will be more friendly to total unknowns than an inward-looking nation.
  • Have added the start of NPCs commenting when you ask the same question twice, and also forgetting after a lengthy period when you last asked something. In the first case, NPCs will give a new response if you ask or say the same thing a second time, and a third time, and then a final response at the end when you’ve asked over twice. The final response will be more or less exasperated depending on the mood of the NPC. Also, asking the same question over and over again will cause the mood variable of the NPC to drop. In some sensitive topics – e.g. talking to an inquisitor about a heresy – will cause mood to drop extremely quickly, and they might even get suspicious about why you keep asking…
  • In the second case, all NPCs now have a hidden “forgetfulness” trait, which is influenced by a small number of other factors and determines how quickly/slowly they forget when you last asked them a specific conversation. In all cases, though, it’ll take at least days, and potentially weeks. As noted in a previous entry, there also needs to be some kind of “geographical memory” function to prevent you just asking Person 1 Question 1, then asking Person 2 Question 1, and going on and on in that manner. Instead, people will know when you’ve asked many others the same questions – they “heard on the grapevine” or whatever – and will refuse to answer. This is an important element to prevent tedious grindy gameplay, and I’ll implement this a bit later.
  • Fixed some issues with asking people about their parents, grandparents, children, siblings, etc, which sometimes led to crashes when the game couldn’t construct a sentence properly. Will need to also come back to this later when special NPCs have relationships to other special NPCs.
  • I’ve also done a lot of fixing of grammatical and spelling errors, which are (as expected) significant in number given the complexity of the conversation system. I had it print out every possible sentence stored for every civilization in a particular world generation – well over one thousand – then went through them all, found every typo, found where in the sentence generation that typo had arisen, fixed it, and moved onto the next. I must have fixed at least a hundred possible errors. I think I’ll do this again, to get another set of sentences, and go through those, and I’ll do this once or twice more before 0.8’s release. Should get the number of errors down to a tiny number by the end.
  • I also discovered that fifteen of the “negative replies” – e.g. when you ask “Do you have X” and they say “I do not have X”, or whatever – were returning “This is a placeholder” instead of an appropriate hand-crafted response. This took a little bit of hunting down, but in the end I discovered this all just came down to fifteen typos in the thousands of words/phrases the game now stores! Things like “unimportant” being accidentally written down in another location as “unimpotant”, and things like that.
  • Also made a list of questions which need special replies if you appear to be of the same nation/religion as the person you’re talking to (“Why are you asking me that?”, “Shouldn’t you know that”?, “The same as you, surely?”) or a particularly hated nation (“Why do you want to know that?!”, “There’s no way I can tell you that!”, etc). This will connect to the function that allows NPCs to estimate what nation/religion you’re from, which I’ll be working on soon.
  • Added a ton (100 or so?) of new words that can be varied across nations, allowing nations to say even more things in a greater variety of ways than they could before. I also found a few cases where a culture would choose a way of saying X1 (e.g. “interested”) but wouldn’t always transfer that to ways of saying X2 and X3 (“interest” and “interesting”), so you would wind up with a culture whose people said “interested”, “intrigue” and “fascinating”, instead of “interested”, “interest” and “interesting”, the latter of which is far more logical and consistent for a single given dialect. I think I’ve now fixed all the cases where this could happen, and the differences in dialects should now consequently be just that little bit sharper.
  • Started to think about how to implement what I’ve taken to calling the “metaquestions” that player can ask, e.g. “What do you think about [artwork]” where [artwork] can be replaced by the title of any artwork. I’ve put in general responses for NPCs on these questions now, i.e. I don’t know what this is, I have no opinion, I’ve already told you about this, etc, with more detail to come soon.

So: for a first week back, I’m incredibly happy with this progress! In the coming weekdays I’ll be focusing on my current academic work and continuing to put the final touches and edits to the book, then next weekend, I’ll be back to coding for at least one of the two days. I really feel incredibly invigorated by this weekend, I have to say – I’m really excited to continue pushing the conversation system to point where I can release the first version of it in 0.8. Lastly, and very briefly, here’s a little debug of some sentence generation and whatnot; you’ll see the sentences (on the right hand side) are almost entirely grammatically correct (they are the generated versions of the default sentences on the left); I really like letting these run and just seeing what the game can produce, and the different ways the game can utter the same sentence. And now, to conclude this entry on a sentence I’ve been wanting to say again for months: see you all next week for another URR 0.8 update!

Burnout and the Future

So… this is what burnout feels like.

I’m almost now ready to submit the manuscript for my first academic monograph. It will have taken two months longer than anticipated, which was a great disappointment to me – it’s the only piece of academic work I’ve ever had to ask for an extension on. There were many factors at play there, some within my control, and some outside of my control, but the bottom line was that had I taken on less than I wound up taking on (and had the circumstances I was working within been different), I would have been able to get it submitted on time. Although I’m very happy with the final product, and I’m confident the work will be a valuable contribution to the study of unpredictability in games (of all its forms), I find myself reflecting specifically on the process by which the final parts of it – the crunch, if you will – were written. From around the start of March until the start of June, I can truthfully say I did effectively nothing with my spare moments except writing the book. All day on both days of every weekend was book writing; every evening was book-writing; every train journey and flight and coach trip was book writing. During this period I spent effectively no time with friends, no time exercising, and no time whatsoever doing any programming, much to my chagrin.

During this period, I began to experience for the first time what I believe is called “burnout” – my appetite dropped, I developed some anxiety (a deeply new experience for me), I developed some depression (similarly), and it felt at times as if there wasn’t really any point to what I was doing; that was I just speaking into the void because nobody else would read it; that I was letting everyone down by not working on URR (which I still feel quite acutely); and other feelings I’m not going to share here. Although certainly not the darkest time in my life, it has been, in many ways, a deeply unpleasant three months. Travelling a lot in this period helped me, and finding some times to engage with nature – whether meeting wild bison and wolves in the frozen tundra of Northern Canada or meeting wild tropical birds and lizards in the equatorial jungles of Hong Kong and Singapore – helped my mood a lot, but it only stemmed the bleeding, without addressing the underlying issues.

Academia, especially early-career academic before one secures a tenured faculty position, is notoriously stressful and time-consuming. One is always in competition with vast numbers of recent PhD graduates for a ludicrously small number of postdoctoral or junior faculty positions; one is constantly bombarded with requests and obligations and things that need to be done; one is strongly encouraged to submit only to top-tier journals, and yet doing so leaves one waiting for potentially years until publication, damaging one’s employability in the short term. The other crucial element of academia is that there is always more one can do. As academics, we don’t really have working hours, as such – just contracts that say we must “fulfil the expectations of the job”, or some equivalent language, using however many hours across however many days per week that takes. Many contracts even explicitly state we are expected to use evenings, weekends and holidays to meet those requirements where necessary – and that, assuming one wants to spend one’s academic career actually doing research, will always be true.

Up until now, I’ve always been able to field this and maintain the other things I want in my life, but in these last three months, I am not exaggerating when I say every spare moment has gone into the book. For the three months before that extreme compression of my time, almost every spare moment went into the book, and looking back, I can see my free time shrinking into a smaller and smaller gap with every passing day. Something inherently enjoyable – and I do enjoy academic work tremendously – quickly ceases to be enjoyable when it is something one must do, and when it is the only thing one is spending one’s time doing. Because of this the book became something of a chore, which itself made it harder to write, and which itself made it more of a chore, and made more painful my inability to spend my time on other things, and so forth. As a result of the stress leading up to and during the book-writing, I screwed up. I made two serious errors of judgement – one being a different but major piece of academic work I submitted, and another being a piece of work I submitted elsewhere. In both cases I made poor judgements about what I wrote, and over-estimated my knowledge of those domains, and was – quite appropriately – brought down a rung by those who do know those domains. They were both humbling experiences, which really brought home how much my judgement had been impaired by the stress of finishing the book.

But now, the book is basically finished, and I’m on my final visiting position of the year, having also just been offered an amazing new two-year postdoc opportunity in Canada where I will be able to drive my own research and make my own hours. However, as I sit here for now in a cafe in Nevada, trying to take stock of things, I realise that there are four things I must make time for, and a fifth change I need to make overall, from now, moving forward, no matter what, in order both to be the kind of academic I want to be, and to have the life I want beyond the academy.

Firstly, I need to make time again for programming, starting now. It’s something I enjoy tremendously, it’s creative work which forms a crucial balance to the intellectual work I make my income from, it’s something a lot of people are following and counting on me for, it’s something absolutely tethered to my online presence, and it’s something I simply deeply want to start doing again, and which gives me valuable balance in my life. It makes me deeply sad that I wasn’t able to get 0.8 out before I went into this period of total time compression and book-only-focus, and I want to put this right and get 0.8 released as fast as possible, and certainly before my new position starts later this year. Once 0.8 is out URR will be more than half-done, and psychologically, that’s an important marker I need to hit. Therefore, starting next weekend, I intend to devote a day per week to programming, no matter what else might be looming over me or might be requiring my attention. Either Saturday or Sunday each week, but probably I think Sunday, my intention is to always spend that day – as a minimum – programming. Despite the long hiatus, URR is not cancelled, but has certainly been on hiatus, and it’s finally time for that hiatus to properly, and truly, end.

Secondly, I need to make time again for fitness and exercise. I haven’t exercised once in the last three months, with the exception of hiking up and down Victoria Peak in Hong Kong and a couple of hikes in Alberta and Nevada. Normally I would exercise for at least an hour at least four or so days a week, but the book has simply dominated my time and my thought to such a degree that I’ve let this slip completely, down to zero. I can tell and feel that I’m less fit now, I’m less strong now, and less healthy now, and I don’t like it. It’s an unsettling and disturbing change from the state of being I’ve become used to, and I want to get back to my previous level of fitness as soon as possible. I’ve now managed to get this back to exercising twice a week, and hopefully I can push that back towards four as I decompress in the coming months. As I’m moving to Alberta, I’m keen to do lots of hiking there, too, and I have some interesting future travel plans which should also help with that.

Thirdly, I need to make time for a personal life. The fact that I am likely moving to a new country/city in a few months feels like a good time to make this kind of resolution – both to renew existing acquaintances in the UK and elsewhere, especially important now that I’m no longer in physical proximity to my friends in the UK, but also to go out there and find new friends and new colleagues. I’ve always been someone with a small group of close friends instead of a far wider social circle, but this, also, has shrunk to nothing in recent months, and my personal relationships have definitely suffered for it. I’m making amends to those I have unintentionally hurt, which I believe to be an important first step, and from this point onward I’m going to make a lot more time with friends and family in the coming months. It seems that the importance of this to one’s mental health only appears after it is lost, and that’s a lesson I don’t want to have to repeat again in the future.

Fourthly, I need to make time to actually play games. I got into game design and game scholarship and game writing and competitive game play because I love games; because I’ve played hundreds, probably thousands, and certainly own thousands; and I’ve been playing them since I was as young as I can remember. But I no longer find myself with the time to actually play any; in the last year I’ve played only two games for pleasure, which were Bloodborne and Dark Souls 3. Both were incredible experiences, but that’s only a fraction of the time I would normally spend playing games. Even in other periods of stress – such as when I was simultaneously finishing my PhD and dealing with a life-threatening illness – I still found far more time to play. It’s fun (most crucially), but it’s also important for my ability to be a good game designer and good games scholar. As such, my goal is now to at least double the number of major games I play each year for starters, and hopefully increase this number as time goes by. Right now, The Witness, Demon’s SoulsShadow of the Colossus, The BridgeAntichamber, and perhaps even returning to playing roguelikes all look very appealing, and that’s where I plan to start.

Fifthly, and lastly, I need to focus. Forgive the cliched phrase, but I now realise I need to work smarter, instead of working harder. I’ve been trying to be a game scholar, and a competitive game-player, and a game designer, and a game writer, and all the other things in my life outside games. This is just too much. As a result, I’ve decided to permanently “retire” any competitive gaming from my life. I want to really focus on scholarship/writing/coding, and in turn, to present myself specifically at the intersection of those three things. My background in poker remains a major informing element on my academic career – especially as I move toward studying gambling more seriously as a topic of study – but I think I’m spreading myself too thinly, both in terms of my effort, and in terms of how I appear. I want to focus in on my strengths, instead of trying to be everything, and do everything, when it comes to games.I think this will, without a doubt, be for the best, and strengthen my ability to work in my core domains without “distracting” myself with others.

As for the wider future, academia certainly remains my career path of choice. I take tremendous satisfaction from the unfolding of intellectual ideas on paper; I love travelling around the world to do research, to attend and present at conferences, to meet colleagues, and to experience new parts of this earth; I enjoy the freedom of working hours that academia (generally) gives one, even if that same freedom means working a lot of those hours, and the ability to largely work where and when I want. But these last three or four months have shown me what can happen when I take on too much – I make mistakes, and my ability to do anything else with my time beyond academia gets reduced down to a minimum, and then disappears altogether. This is not a “New Year’s” resolution, but this is certainly a mid-year resolution: I need to adjust my life back toward the kind of life I want to have, and I am confident this will have benefits both within and beyond my academic work. So with this written, and with this posted, I’m going to head to the gym in this hotel and work out for an hour, then head back to my hotel room and play something, anything, on Steam, then do some programming in the evening. The change starts now.

How Basic is Basic Gaming Literacy?

I’d like to start this entry with an anecdote, which outlines the basic issue I’m pondering far more effectively than an abstract discussion. A few years ago I found myself in the position of trying to teach someone who had never played a single video game in their life – and had extremely limited experience of board or card games – the very basics of video games. I chose Castle Crashers as an introductory game. I’m sure some of you will think that was a great choice for the reasons I did (fun, witty and amusing, easy to get into, not very challenging on the standard difficulty, simple mechanics), although I’m sure there are reasons why it would be a bad game compared to some others (if you had to choose a “first game”, which would you choose, and why?). Nevertheless: that was the one I went with, and even though something very strange happened, I remain fairly confident that it was a good choice.

So, maybe half an hour later and some way into the game, I noticed that my friend’s character was nearly dead. I said something along the lines of “You’re nearly dead, be careful, and I’ll finish off the enemies”, and they replied with “How can you tell?”. That surprised me just a little, but then I realized: ok, they haven’t connected the health bars at the top of the screen with their character’s status. Perfectly reasonable for a total video game novice. I said something like “Your health is at the top of the screen”, and they replied: “Ah, you mean that blue bar?”.


Here is a screenshot of Castle Crashers. As you can see, each player has a health bar and a magic bar.

Now, hold on! Stop there, and just think. You just read that previous sentence, and that all made sense to you, didn’t it? You didn’t need to ask “which is which?”. You glanced at the screenshot, and it was obvious from the get-go that the red bar will naturally be health, and the blue bar – since this is a game of swords and sorcery – must, therefore, be magic. Were it something like Deus Ex, for example, you’d have probably thought that bar was something like “Energy”, right? Nobody needs to be told that the red is health and the blue is magic… and yet my friend didn’t know this.

Now, the friend in question is no idiot: far from it. But when this happened, I wasn’t even sure what to say for a few moments, and it almost felt as if I’d been bodily removed from the situation: it was as if we’d been reading a book, and I’d said “hey, look at this scene where the heroes go to the shop”, and they’d said “which scene?” and I’d said “this scene”, and pointed to the appropriate paragraph, and they’d said “ah, you mean the scene where Bob steps into the shower”. It was, for a brief moment, just inconceivable; I even briefly entertained the notion that they were joking. Again, I must stress: I wasn’t trying to be rude at the time when I think I then uttered a puzzled “No, it’s the red bar…”, and I’m not trying to insult this person here recounting the story; I’m trying to focus on the shock of this comment, and the fact that this person’s comment about the blue bar was entirely honest, and innocent, and just thought the blue bar must be their bar of health since (presumably, though I don’t recall exactly) it must have been very low. Naturally, had there also been a green bar, we as experienced game-players would instantly know that has to be a “Stamina” bar (what else could be a green bar be?!), but perhaps that would have been mistaken for the health bar instead (an example of a classical three-bar system would be Oblivion, as shown below, where the nature of each bar seems “obvious” to us even if we’ve never played the game).


In a manner of speaking, this event has been a major influence on my entire academic research agenda. It got me thinking about so much: how much gaming literacy do we take for granted? Why do we take these for granted? How have we all learned these assumptions? How can someone learn them for the first time, and can these even be learned without being explicitly told?

In trying to answer these questions I first came to think about the different sources of cultural assumptions in games. There are some aspects of games which speak of other games, and only other games, and never speak of books or films. By this I mean: once we’ve seen dragons in cinema, and read about dragons in literature, we can reasonably know what a dragon looks like in a game, and come to some fair conclusions about what kind of powers and abilities that dragon might possess. By contrast, nothing in literature or cinema prepares us for the health bar. Shakespeare never said that Mercutio and Tybalt wisely checked their health bars during their duel and adjusted their tactics accordingly; Michael never checked the DPS of his pistol before executing Sollozzo and McCluskey in the restaurant in the original Godfather. Health bars are only in games, so you have to play games and use health bars in order to learn how to use health bars in games… as it were. These things are reciprocally defined through one’s use of them and one’s knowledge of that they are, and both the embodied everyday experience of use, and the knowledge of certain norms and standards and games, mutually inform one another.

I feel now it is impossible for me (or any other gamer) to unlearn the ability to “read” a game based on these “obvious” assumptions, every bit as much as it seems impossible for me to forget how to read the English language. We can vaguely understand what it might be like to be illiterate by glancing at a language we do not understand (and ideally one with a script which is completely alien to us, so Arabic or Mandarin rather than French or German, speaking as a native English speaker with no other language knowledge), but that doesn’t really do it: we (as literate people) still have a model in our heads of how one reads, and we can try to pick out the gaps in symbols and identify words and phrases, we might be able to identify common words, or important terms via their capitalization or placement in a sentence, and so on and so forth (something that, one assumes, an illiterate person would not be able to do, regardless of what language or script is placed in front of them). I can look at a language I know nothing of and still draw some vague conclusions about how it might be read or structured, even if I couldn’t decipher a single word of it.

Increasingly, I also find myself thinking of these questions in terms of eSports. Many in the competitive and professional gaming world are keen to see eSports expanding onto “mainstream” TV rather than or alongside Twitch, but there’s definitely a literacy issue here. Someone who has never seen Tennis, for instance, can watch a match of Tennis and, within perhaps a minute, have a reasonable appreciation of the rules – hit the ball back and forth, don’t miss it, don’t let it bounce twice, don’t hit the net. By contrast, consider someone inexperienced watching a MOBA game. I own several thousand games, have played most of them, and have been playing since I was a toddler, but I’ve never actually played a MOBA myself, and when I watch one, I can barely make any sense of what’s taking place on screen. This question of game literacy strikes me as a crucial barrier to the growth of eSports into this kind of domain, and although systems like “spectator modes” do much to ease the transition for the inexperienced spectator, they certainly don’t go far enough. But how else might we raise the game literacy of the average spectator, without making such games simpler? Is that even possible? Watching some eSports games (like Counter-Strike) are relatively clear even if one misses the tactical nuance, but MOBA games are profoundly visually indecipherable. Game literacy strikes me as a fascinating topic as a whole, but in eSports, in some ways it reaches both its most extreme form (given the complexity of some games), and in some ways its most politically important form, as concerned as many eSports actors are with the expansion of the medium.

To answer the initial question in the title of this entry, I think there are two elements of game literacy that demand our attention. Firstly, the question of basic game literacy in the sense of the colours of bars and other questions of that sort; absolute, almost unquestioned, almost axiomatic norms that pass across multiple games, multiple genres, multiple eras, and which have reached a point of being taken-for-granted by most players and designers that they are never even considered. How do people learn those absolute basics, and how does the assumption that everyone knows those basics shape the experiences of new players? The other aspect, however, is a question of how much game literacy is required to understand the entirety (or at least enough to appreciate it) of one game, rather than concepts and ideas that cut across multiple games. This is surely an integral part of game broadcast as a whole, but has found a new importance with the push in eSports toward “mainstream” television, and in many ways is question is harder to answer. How would one convey the information about a MOBA to someone who doesn’t play? Can enough information even be conveyed? Will viewers hang around for long enough to get that information? There’s a growing body of academic work on game literacy, and it’s a fascinating domain; in some ways, however, I think the absolute foundations of this question (for all games, for one game) are where we want to start, understanding the precise processes by which this kind of information is acquired and learned – or, possibly, not.