Hello everyone! Welcome back. After a month or two of incredibly rapid progress on the 0.11 release in a range of rather exciting ways, I’m pleased to announce that we have… another fortnight of huge progress. I realised a while ago that I wanted to add in a riddle generator specifically for the university you start in. Before the player even gets onto the world map and starts thinking about bigger things and places, I want to get them exploring this starting location, since it’s a much smaller and more contained area to begin familiarising the player with these core gameplay ideas. Right now the rhyming riddle generator can of course produce clues which might indeed be pointing towards a university – either the one you start at, or any other – and the same is true of the world map clues, the local map clues, and the picture clues, but none of these are specifically about universities, or indeed the player’s starting university. Rather than the earliest and easiest clues setting you off on a world journey, therefore, I think it’ll be much better to give the player two sets of starting clues, and maybe one set is about the starting university and one of them is sending them off afar. Thus, the new player can get used to the gameplay by exploring the starting university and hunting down the locations and actions described, but the experienced player can immediately get going on clues taking them outside the university. However, I don’t think I want these initial ones to lead to specific rewards as such, because then there’s a risk of the experienced player wanting to skip these “tutorial” riddles and get into the game, but perhaps feeling obliged to complete them anyway from an optimised play / min-maxing perspective. So, instead, the framing is going to be for the university ones to be explicitly within the game’s diegesis presented as a tutorial – e.g. “I’ve created some riddles around campus to get you used to all the mysteries you’ll find out there!” – and they won’t lead to a specific in-game reward, I think (or at least not an item or a clue – maybe instead just some unique dialogue with the initial quest-giver where they tell you more about the game and how to play it, so rather like a tutorial info-dump). Anyway, let’s get into what I’ve been able to build here in the past couple of weeks, and the unique generator now set up to produce these:

Starting off the game

So, for starters – my basic plan for the game’s start is that you get given a bunch of materials (right now some clue notes, in the future maybe some clue notes, plus a previous explorer’s journal, plus maybe one or two other resources?) with which to get started. Before that, however, you’ll have the option to also get the tutorial set of information first, which is a bunch of stuff explicitly framed as designed to get you started and give you a sense of what you’re doing. I’ll make sure it’s very clear that all of these only apply to the university, i.e. you don’t have to go outside of the initial starting map. I might even add a prompt whereby, if or when you try to go outside while still working on the tutorial clues, it gives you a little reminder that all the tutorial prompts are found within the starting local map, but if you’re content to move on, you can drop all the tutorial clues you haven’t finished yet and get on with exploring the wider world. Anyway, the first thing to do was to create a special rhyming riddle generator for this area, and that’s been the main focus in this last week or two. Of course, in keeping with basically all the game’s generators, I want it to be really comprehensive – you should never end up with two players being given exactly the same thing, or hopefully anything even close to it. As a basis, then, I set up a bunch of rhyming pairs based around the buildings which are guaranteed to spawn on a university campus (e.g. great hall, library, accommodation, etc) and those which might or might not appear (a religious building, a gallery, a garden, etc), bringing for each between a half-dozen and dozen logical ending words for a sentence that would sensibly and unambiguously (given that we are going for simplicity here, given the tutorial nature of these) describe the nature of the building in question. This meant creating a ton of generating sentences each of which would always end in a certain word – e.g. for a gallery we can have a sentence that, however it ends up being created, will always end in “art” – and then finding a set of rhyming words for that so that the second sentence to go with it, forming the stanza, will always rhyme with “art” – in this case “chart”, “heart”, “part”, “start”, “apart”, “depart”, “impart”, and “rampart”. Now, some of these later turned out to be a bit too difficult to find a logical rhyming sentence for, so what we see here is the list before a little bit of editing wound up in the final thing being chopped down, although not by much:

With that done, the next step was to implement the rhyming sentence generators. As you’ll see, there are a few hundred rhyming words, which mean a few hundred unique one-sentence generators to ensure that a logical sentence relating to the thing being generated – and not overlapping with the first sentence, and always being within a bracket of acceptable numbers of syllables, otherwise the rhythm in the pronunciation will be way off – can be created. These are always time-consuming, but actually satisfying and gratifying little bits of design, and after the better part of a day’s work, I did indeed end up with several hundred of these one-sentence generators to produce a rhyming sentence while adhering to the requirements above. Another complexity here, however, came from the fact that several end words (i.e. those from which the rhyming word is selected) can come from various places. A good example of this is the final word “statues” which can be deployed for the “hall of worship” building or the “museum” structure, e.g. “In a place where many gods are found in many statues” (for the first), or “Where the whole world contributes its finest relics and statues” (for the second). So, for these, it also has to track what the origin building is which is actually being discussed, to ensure that it picks the correct rhyme when forming the second stanza. Unfortunately I didn’t fully click this until I was partway through working on these, which did result in a bit of awkward coding, having to go back and change a few things, and so forth, but that didn’t end up adding too much time. With these done, then, I was soon able to get the game creating some really pleasing sentences to point the player either to inside, or outside, any building on the university campus where you start. I’m really happy with how these read! While I will add a tutorial prompt to make it incredibly explicit to the new player that, hey, these are pointing towards buildings on campus, and you can either walk around campus yourself or press ‘T’ then enter to view a list of buildings on this map grid you can fast travel to, I think they are all very unambiguous in what and where they are directing the player to investigate. I also actually tried in creating the sentence generators to be just a little more explicit than in the other generators, i.e. to use fewer metaphors, to be a bit more direct in the language, and so forth – though there is ultimately a limit to how transparent you can make a “clue” to something without just generating something like “Go into the library, it is a stunning space / Just leave this building and then to the east pace” (or whatever), which I think would be just too transparent to achieve anything useful.

With those done, I then found myself in a deep period of consideration that lasted several days, and it was all basically around the following question: how do I want to distribute rhyming clues, and local map clues, for this introductory tutorial? I soon realised that the “picture” clues, i.e. which convert a top-down graphic into a normal human’s eye view graphic, would be a bit too complex for this tutorial (and I liked the idea of giving those to the player afterwards as just another way to immediately denote their transition from the tutorial quest into the actual game), but I wasn’t sure quite how I wanted to combine them. I considered having some initial tutorial riddles here which purely used the rhyming type, but I worried that it wasn’t really showing off the full complexity of the game’s riddle generation straight off the bat (I mean, obviously, it can never show the full thing immediately, but rather, I felt it just wasn’t showing quite enough of it). I also realised that generating the second stanza here to direct you to specific locations is always going to be tough to code – i.e. that’s the one part of the rhyming riddle generator that isn’t fully integrated yet, and which I’ll be coming back to in the very near future – and so that further discouraged me from going all rhyme for the first clue, while I also liked the idea of getting the player to immediately triangulate information across multiple sources, even if it’s just two clue notes instead of one, and even if it’s just in a tutorial. So, instead, I settled on the idea of giving the player pairs of clues, where one is a rhyme, one is a local map clue, and in each case on the tutorial quest you’re combining the two of them in order to hunt down whatever it is that you’re trying to locate. So, I then made another stanza generator for the tutorial riddles that is designed to tell you how to use the map, and what to then do once you’ve found the spot, having gone to the general location on the campus which the first stanza is directing to you. In this way the first stanza tells you roughly where on campus to go; the second stanza tells you what to do with the local map; and then a local map clue you also acquired tells you the exact spot to do the thing in. I like the idea of one outdoor clue and one indoor clue, so here are examples of the second stanza telling you to follow the local map, and then dig with the shovel the player will be given at game start:

I really do like these! Tons of variation to just make the same point, i.e. look at the local map I just gave you, find that spot in the area the first stanza directed you to, and then dig. Perfection. I then turned to what should happen for the clue directing you inside. Obviously I don’t want that to tell you to dig down through the floor inside a campus building – surely the dean would never allow that! – and so, instead, I’m going to have campus buildings spawn with chests in them. Upon completing the outside clue you’ll be given a key along with the clues, and then directed to the inside clue (this quickly became the logical order). That second set of rhymes will start with the first kind shown above, i.e. directing you to another building, but it’ll be a building you didn’t visit for this first stage, and then the second will instead tell you to use the key you’ve been given on a specific chest inside a specific building. I’ll of course make sure that lots of chests soon spawn in the university campus where you start, so that it’s not just blindingly obvious which is the right chest (i.e. by virtue of being the only chest). So, next thing was to make some nice stanzas for chests instead of the digging solution. Here I focused on thinking about what the points of reference will be for pointing the player towards the correct chest rather than the wrong chest – it might be framed in reference to a statue or an altar, a chair or a table, or perhaps in terms of the overall geography of the building in question – and developed, as usual, a nice set of pairing words. In turn, each possible sentence (around a hundred here) is also heavily generated with a lot of synonyms and different phrasings which can potentially appear, and overall I think these will serve nicely as the second stanza for the second clue, which will take you to the chest that yields something to take back to the curator, and complete that first quest. Across these two steps for this tutorial quest, then, the player will get experience of local map clues, rhyming clues, digging for stuff, and using keys and opening chests – which are a large part of what will be required for 0.11!

Finishing in the museum

So, where does this tutorial sequence take you? Well, as above, I don’t think it’s correct to take you to a material reward in the game. The problem is that is that experienced players will feel obliged to do the tutorial each time because it will advantage them in some way (useful items, more clues, more money, whatever), and that’s not a good thing. For an experienced player I’d expect these clues specifically in and around the starting university to be pretty trivial, so we want the experienced player to just be able to politely decline the tutorial notes (maybe you can actually decide whether you want them or not? Or maybe they’re just clearly labelled and you can just drop them in a corner somewhere if you don’t want to pursue them?) and get on with the game proper. While some experienced players wouldn’t bother, we all know that players often pursue very optimal strategies and look to squeeze out every inch of resources in games, especially roguelike-style games where resources are limited and unpredictable, and so we really don’t want to encourage that behaviour. At the same time, I obviously do want something to happen for the player who does complete the tutorial sequence, beyond just having learned some of the game’s key ideas and gameplay styles. A lot of players struggle with the idea that death in classic roguelikes – or indeed roguelite games with far shorter runs or gameplay loops – has value, and I don’t like the idea of expecting players to just feel “oh, great, I learned something!” is sufficient reward for deciphering the clues. As such, there’s a tricky balance to strike here that ensures the tutorial feels worth pursuing for the player for the first time, but doesn’t give anything material that more experienced players might feel obliged to gather when they start a new run, even if it’s absolutely trivial (and hence uninteresting) for them to follow the tutorial thread every time they play.

So, to resolve this, I have several pieces in mind. To begin with, the final clue in the initial sequence is always going to bring you back to the museum, I think – that’s where you start the game, so I think there’s a nice narrative thing here in bringing you back to the museum and perhaps back to the NPC who is the original quest-giver? I think that would work rather well, and would also once again – by putting the player back in the museum, which is filled with generated stuff selected from around the world, just to hint to the player about the size and detail of the world’s generation – serves an additional role of reminding the player again about that very size and detail of what lies beyond the starting university’s walls. That should bring the tutorial to a clear end and by bringing you back to the start, it should give that sense of setting off on the “real” quest after finishing the tutorial. Equally, though, I think returning the final end of the quest back to the quest-giver will have them tell you more information about the game in abstract, but not specific terms – and that’ll be the reward you’ll get first time, but not something you’ll need or want to go and get another time. By this I mean that we’ll have the quest-giver essentially give some more tutorial-type information, telling you (for instance) that there are many other kinds of clues out there, the sorts of things one should look out for and pay attention to, some thoughts on places to start (this would be generic and not generation-specific), some important things to consider (e.g. factions, money, these kinds of things), and then wish you on your way. I think the extra information will be a satisfying way to end the tutorial and set the player out on their journey into the wider world, but as I say, would not be something you’d go and get twice. It also fits logically in the game’s narrative and context, which works very nicely. So that’ll be the conclusion of the tutorial thread, and will probably also include a tutorial notice telling you that you can now discard all the tutorial clues – but that later clues might have several layers of meaning, so one shouldn’t be quite so willing to bin them there. I’m overall pleased with this solution, and I do feel this meets all the required gameplay objectives here, for both new and experienced players, while still remaining within the game’s fiction very clearly. Once I’ve got quest generation going, this’ll be the first one I playtest, which’ll be an exciting milestone indeed!

Curator’s trinket

Finally… I felt even more rewards at the end here would really not be the end of the world, even if the tutorial sequence is very short and so it won’t be very hard to earn them. I wanted to give a sense to the new player that you actually get, you know, rewards for completing a quest, and I also wanted to take another opportunity to show off the game’s item generation work to the new player, particularly if they perhaps didn’t look at a great deal of stuff during their time working around the university to complete the tutorial path. Again, though, it couldn’t be a reward that has any actual effect on the game from a mechanical point of view (again to prevent experienced players from feeling obliged to do the tutorial every time), so I settled on creating a generator for an item category I’m calling “Curator’s Trinket” (or rather, the plural, but you can only ever find one in a given game world). Since I anticipate the museum curator being the first NPC you meet and the initial quest-giver who sets you off on your journey, I thought that a little reward from that character would be a very logical addition here. Additionally, as a fun extra – while the item will never have gameplay value, I might give it some easter egg value in the future, e.g. showing it to certain NPCs might elicit easter egg responses, and things of this sort (think something like giving the “Delicate Flower” to characters in Hollow Knight). To facilitate this further, and again prevent experienced players from feeling obliged to do the tutorial if they want to find these, we might have a system where later on in the game (once you’ve solved a few) the curator sends it to you anyway to express how impressed they are with your progress. I think that covers every possible base for all levels of player on this one.

Anyway, below you’ll see two examples of what can be produced by this generator. I really dig how these came out – they are necklaces and can indeed be worn (although again that’ll have no gameplay value whatsoever), and have a generator that is totally independent from the generator used for the necklaces in general. A shape is chosen for each of the five main shapes that sedentary civilizations might select as their chosen shape – so square, octagon, diamond, cross, circle – and then the colours are populated from the colours of that nation’s flag (which of course also percolates into a thousand other things, like ornate flooring, or the hilts of weapons, and so forth), sometimes divided horizontally and sometimes divided vertically across the medallion, and then a random string graphic is selected, a nice “?” is placed in the middle, and at that point, it’s good to go. Necklaces more generally are indeed one of the few things remaining on my list of graphics to update to the quality I’m working with now, but these use a different generator so I can deal with the other stuff separately at another time. As a final thing, the item description also clearly states its use (or lack thereof), and once the quest is generating and running, I’ll also add in a tutorial which describes it as a reward for completing your first riddle thread, and explicitly note in doing so that other riddle threads will have more substantial rewards. With this done, I think there’s enough non-gameplay rewards to the player for completing the tutorial (i.e. game advice from the curator, and the curator’s trinket), and I think several objectives are being served here, while letting the experienced player move on and get straight to the main game. Really happy with how all this has come together.

And, just for interest, here are some very early sketches, ideas, experiments (I debated having a sort of treasure map path as the graphic but it proved too busy, and a compass wasn’t really clear as being a compass, so I settled on the “?” instead) for the trinket, before I settled on the final version:

What next?

So – we now have a specific generator for the player to engage with when doing a handful of brief and very simple tutorial-style riddles (alongside the actual “Tutorial” function, i.e. the gold-coloured prompts which appear on screen to give the player information), and I’m very pleased with what these are producing. They are in the style of the others, of course, but they’re certainly designed to be much simpler, and to be paired with the other clue types in ways that should be as clear as possible for a new player. I’m also pleased with both ideas for the rewards – the trinket, now generating, and the curator giving you a bunch of other “gameplay tips” information – which will be useful and hopefully satisfying for a new player, but not required for an experienced player. This was a very discrete block of work for the last couple of weeks, and I’m pleased with how this will develop the tutorial system, settle a new player in, reward them for completing a tutorial quest, and do nothing to limit an experienced player. And while you can’t actually follow the thread yet, we can now comfortably create every clue (from all three types) that might exist in such a tutorial riddle thread – it’s just the code to tie them together which is actually required now. With these done we’re closer than ever to quest generation – incredibly close, honestly – and it’s super exciting to be moving closer and closer to this place. It was also, honestly, very fun to do a bit of graphic generation for a couple of days since I haven’t been doing much of that recently, and it remains one of the most enjoyable and satisfying parts of the project. Anyway, that’s all for this week, so as ever, please do let me know your thoughts in the comments, and I’ll see you all in a fortnight!

Leave a Reply

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