Questions, International Relations, Geography, PCG Alcohol, Relics

A big update this week, summarising everything from the last three weeks of coding work. Succinctly, the game now has NPCs who can reply to even more “list questions” than they were previously able to, adds in what I am calling “meanderings” into speech from time to time in order to make everything feel and read more realistically, boasts a rather more developed international relations system which NPCs can draw on when making comments to the player, and procedurally generated alcohol is now present in the game. This last one is, obviously, the most crucial of the bunch. Oh, yes, and I’ve also expanded and finished the system for generating the names of relics, although their procedurally-generated images are of course not yet present. So without further ado, read on:

More List Questions

I have now finished off almost all the “list questions” – which is to say, questions where the answer often takes the form of a list, such as “What towns are nearby?”, or “What animals are sacred to your people?”, and so forth. Here are some examples of the recent additions:

Animals and Plants

You can now ask people about the animals and plants that are local to their homeland, and whether any animals or plants are considered especially important in that homeland, as part of your conversation. They’ll now give you a list of the local flora or fauna as appropriate, which is always grammatically correct, and also lists these things in a fairly logical order. The number is never too high, either, so you never find yourself reading through a gigantic list of things. Although not currently implemented, in the very near future these animals and plants will be spawning, and should be found referenced throughout a culture, and are designed to be another clue the player can potentially use to find out about the world.

International Relations and Geography

The game can now generate appropriate and logical sets of relationships between nations, based on their ideologies, religions, proximity, and so forth. You can now ask people about their relationships with other nations, what they think about other cultures in general, what kinds of cultures are nearby, what tribes and nomads can be found nearby, and so on. The same system is then used for overall geography, so you can now ask a range of questions about things that are near to where the player and an NPC are having their conversation. For example, you can ask whether there are mountains (or mountain passes) in the proximity, and so forth. These questions then redirect to a function which chooses an appropriate area for the NPC to have knowledge of (more educated NPCs will have a wider area, and NPCs more well-disposed towards you will think about giving you a longer response). This system needs expanding to all kinds of conversations, which I will talk about more in the future, but for the time being, people can tell you quite a bit about the surrounding areas:

Laws

Also, here are the law responses from last time:

You’ll notice the first of those is rather long. This is an example with a nation with a lot of laws on violence, and talking to someone who is well-disposed to you, and is therefore willing to actually talk to you. I think I need to find some way to chop this down; for such a long potential answer, maybe even people who like you the most will tell you the top laws or bottom laws, or maybe they’ll say “Do you want to know punishments for the worst crimes or the most common crimes?”, or… something. I’m not quite sure yet. Either way, it’s pretty clear that a reply this long isn’t really workable, and is very hard to read, and will probably lose the reader’s interest part-way through.

Meanderings

Secondly, I added in a set of what I’ve now taken to calling “meanderings”. As part of making conversations as realistic as possible, I felt it was important to add in code for people thinking for a moment before they reply, or being semi-reluctant to quickly reply, and just generally having the umms, ahhs, and oks, that characteristic real speech. At the same time, of course, having too much of this would quickly get annoying. To balance this out, there are two elements. Firstly, people will only start to use these phrases if they begin to get annoyed about the conversation, and they’re starting to lose interest in you. When their full interest is on you they won’t falter in the conversation, but this might change as time goes by. Secondly, they will not use it too often; an NPC that has just used one will definitely not use it on the next sentence, and beyond that, it is randomised, but becomes more and more likely the less and less interested in the conversation the NPC becomes. If you look at the conversations above, you’ll see a few of those present here and there.

International Relations

As noted above, the game now generates appropriate relationships between each nation in the game, whether feudal, tribal, or nomadic. In essence, the game looks over the ideologies of each nation, and looks at where they match, and where they clash. In some cases a pair of ideologies could be seen as a match or a clash; for instance, two monarchies might get on well because they have the same system of leadership, maybe the families are related, and so forth; or they might hate each other and have a rivalry between their ruling families. In these cases the game chooses at random whether these are “good” commonalities or “rivalry” commonalities. Equally, some shared ideologies will always cause conflict – two theocracies or two especially religiously zealous nations which do not share religions are never going to get on, and likewise two imperialist nations – whilst others will always generate friendship, such as a shared commitment to religious tolerance, or a shared appreciation of gladiatorial combat. Then, in turn, various religious beliefs, geographical distributions, and so forth, further affect matters. These are then categorised into nations that are close allies, friendly, neutral, disliked, or firm enemies; these five categorisations then affect speech, whilst the more specific like/dislike values will play into other elements later on. This is basically akin to the kinds of systems one sees in the recent Civilization games, but somewhat more complex and with many more factors at play determining what cultures think of one another.

Along the civ.relations dictionary, there is also a civ.trade_relations dictionary. This is similar, obviously, but actually somewhat distinct. Whereas relations simply tells you what one nation thinks of the other, in the case of trade_relations, we’re talking specifically about how much trade passes between two nations. Of course, trade is not going to be passing between nations that loathe each other, but two nations that share a massive border and are somewhat friendly are likely to trade more than two nations that are the best of friends, but half the world apart (bearing in mind, of course, that we are talking about the renaissance rather than the modern day here). Trade_relations therefore tells you the volume of trade going on between each nation and each other nation, and in some stores the player will therefore be able to sometimes find the items of other nations for sale. The reverse will actually happen in black markets – if X and Y hate each other, the goods of X might secretly appear in the black markets of Y, and vice versa. In this way I’m aiming to make the potentially someone “abstract” idea of international and trade relations much more concrete; it shapes who appears in each nation, what items appear where and under what conditions, and will also – of course – affect where the player can safely go.

Alcohol

For a fun little diversion for an hour this week, I also implemented the system for procedural alcohol – I’m sure we’ll all agree, a truly vital component of any procedural world. Each nation now selects an archetype of drinks that they tend to enjoy drinking, which can be beer, spirits, or wine; these are designed so that a full world will not have a completely equal distribution, but some generations should have a high volume of beer, spirits, or wine drinkers; much as in the real world, we don’t see these equally distributed. It then generates an appropriate set of alcoholic drinks for each nation, with words drawing on the terrain and climate types enjoyed by that nation, a wide set of default words for each alcohol type, and names – a class of alcohol might be named after the particular monastery where it is brewed, a particular town where it is particularly favoured, and so forth.

The player can also now ask innkeeps about the kind of alcohol they sell, and they’ll give you an appropriate list! Taverns stock a high percentage of all the alcohols drunk by one nation, but will never stock the full collection; equally, I’ll shortly implement a system so that taverns particularly near the border with another country will (assuming that is a nation with a particular set of alcohols, so not a tribal nation) sometimes carry one of the alcohols from “across the border”. Later on I will also add actual “breweries” in the locations where the various alcohols in a nation are brewed; these will have minimal gameplay value, so I certainly won’t spend more than a few hours on that, but for the sake of completeness I think they need to go in to make the world look just that little bit more complete, more varied, and so forth.

Relics

In the last fortnight I also finished the generation system for relics, and here are some example debug logs, where “RT” means “Relic Type”. Some of these do have rather lengthy names, because the names of the people associated with the relic can be quite long. It’s a little unwieldy, but honestly, I think it’s fine. I’m extremely happy with how these work and how these look, and I don’t think I’ll make any more changes here before the 0.8 release, beyond making sure everyone in the game can speak about relics of their religion correctly.

Blog Update Speed

So, once again, this has been a fortnightly update. As such, I’m just going to stop commenting on this for now or trying to predict when the next update will be, and I’ll just say to everyone: I’ll update as soon, and as rapidly, as I can. I am developing URR actively again, as you can see from the above, but I am also changing jobs, taking up two visiting positions in two other continents, and finishing my first academic monograph… so we’ll see how it goes. See you all next wee-… er… next time!

Be Sociable, Share!

19 thoughts on “Questions, International Relations, Geography, PCG Alcohol, Relics

  1. In regards to conversations I would love to figure out how to make NPCs respond to questions with anecdotes. I wouldn’t expect any one person to have more than a few stories to tell and if you’ve ever followed a friend around at a party they will tell the exact same story to different people many times during the evening.

    So if you asked about religious animals they wouldn’t just reply “We Fear Bees” instead you might get an entire story that starts “Let me tell you about Bees.” and the person gives you a layman’s regurgitation of their religious poetry, prose and mythology about why Bees are awesome.

    Maybe some people would give a synopsis about a their favorite bee ritual while a different person would focus more on what it means as a moral person to serve bees.

    “Our grand apiary has rituals every afternoon, you should join us, bring fresh flowers, lilacs are in season. Bees are lovely with their warm sounds and the sweet smells.”
    VS
    “We are servants of bees, We are industrious but kind in all aspects of our lives. The bee does not harm a flower when it gathers nectar, neither do we needlessly harm the world around us. Beware of actions such as littering, it is taboo here.”

    I know it is much more complex and requires linked attributes but rather than “we worship [Worship_Object]” the answer would be, “Our [Worship Object] is venerated at [Upcomming Ritual] where we [Ritual Attribute] for [Important Religious Virtue]. [You should join/uninitiated are forbidden].”

    Maybe a person who has a teaching personality would provide more information while other personalities might be less verbose and/or suggest the player take an action or warn of a taboo.

    Keep up the good work, brother.

    • Oooh, I second this! With fauna and flora in the mix, it does make sense that if someone in the clergy or something that was heavily involved with ritual and practice, some of which a nations animals may have some special involvement in, it would be unique to be able to hear anecdotal stories of some of those practices and beliefs.

      I mean, I’m sure that’d be a lot of work for Mark to try and build a sense that this story is unique to this NPC though. But it definitely would add depth to be able to hear NPC’s talk about rituals, special animals and relics involved all in a single sweep!

      Either way, I’m pumped with the game. I wonder if when it comes to the flora and fauna release in .9 if we’ll also occasionally get to see an albino animal. An albino caribou for a nomadic peoples who subsist on hunting and gathering could potentially exist some place in their sacred beliefs, stuff like that, so it’d be neat if you managed to stumble on one in game if you could interact with that to a degree – i . e slay it and present the hide to the local tribe and pretend to be confused as they chase you out of town.

      I am interested in knowing how combat will be implemented into the game. I know Mark has said that combat is not a main element of the game, and I think that’s neat. It takes its place in the game as something you no doubt end up doing when you just find yourself in a hairy situation, perhaps.

      But most roguelikes, with combat being a persistent and core feature, we end up seeing various classes and a series of ways to deal with challenges as they arise, so in a completely physical world such as this, it’ll be interesting to see what options are presented (I doubt Mark would just make a generic system, but I am eager to see what we have!).

      Either way, eagerly awaiting .8!

      • Yeah, definitely; as with everything else in the game, I need everything to be interwoven to get out of it the kind of gameplay that I want to emerge from the game as time goes by. But yeah, I want to let NPCs tell stories that give you a lot of information, alongside and as well as the more traditional replies where they just answer the question (albeit, sometimes, with a bit of a flourish or a bit more information or something).

        Albino animal: haha, what a fantastic idea. I’ll be sure to implement a tiny, tiny volume of those into the game :). Yeah, combat should be a last result; whereas in most games combat is the standard and the conversation route is the weird one (like people completing Bethesda games conversation-only), I want to do the reverse, and I want to make combat the unusual, obscure, *much harder* way to play the game; although I think it will make its way in there.

        Anyway, thanks so much for all the detailed thoughts! Do keep them coming 🙂

    • Yes yes yes, I absolutely think anecdotes are vital to include. They need to always be relevant, of course, and I think I’d want both personal and global timers to ensure NPCs don’t spend all their time blathering anecdotes at you, but I agree that that’s a really important extra thing to add on. I like the idea about a “teaching personality” too – I might vary who is willing to say an anecdote of some sort depending on their NPC Class, and maybe their traits more generally…

      But yeah, I love this, and it’ll definitely go in there soon.

  2. I can’t wait till you finish this game! I’ve been watching on and off since I first saw this landed on IndieDB. It’s been an impressive journey, well done!

  3. Huge fan of the project, and really looking forward to 0.8! One thing I noticed in the law response screenshot, however, is that murdering a delegate is less severely punished than murdering any person, which is in turn less punished than attempted murder. Is that working as intended? I think it actually could be pretty cool, frankly, to have a society where they view delegates as less protected than everyone else and where successful murders get less punishment than failed ones.

    Also, I’d urge you not to worry about a completely perfect version prior to release. I would be thrilled to play the version that’s generating these screenshots, even if buggy, and I think the same would be true for most followers of this project. You can always release .81 to fix things that people notice.

    • Hey, thanks Mitchell! I really appreciate the kind words. Huh, that’s… odd. Well spotted! I’ll need to fix that. This is true re: 8.0 and 8.1, and to be honest, I probably will; I want to make CRASH bugs are dealt with, and then release. At the same time, though, having been two years in development, the level of expectation is understandably high, and I don’t want to release something buggy; but the longer it takes, the higher the expectations go! It’s a weird balance to strike, but I’m really trying to get 0.8 out, regardless…

  4. The long recitation of punishments for violence seems backwards: murdering a delegate is punished by confiscation of a minor item, while attempted theft is punished by a republic-wide manhunt to the death. I assume that’s a bug.

    Also it is probably a bit too long, but you already knew that.

  5. I really like all of the generated animals, drinks, and relics. I’m really looking forward to see what URR cooks up for me in future releases!

  6. Why won´t tribal nations have specific alcohols?

    Seems it is a trade item they could make without needing too much in the way of technology, materials, that could become reasonably expensive in other nations.

    • Hmm… that’s an interesting thought. They will; I’ll add in a separate generator there, for a much smaller volume of alcohols, and maybe name them specifically after the plants they are distilled from?

  7. I dont want to comment this time but after i come back to read this post again this come to my mind:
    PLAYER: What kind of men do you Like?
    NPC WOMAN: Woahh, what is this Senpai, i cant talk with you about it…
    You can Start think about put Romantic relationships on this game Mark =p A Roguelike Visual Novel With Procedurally Generated Waifus of Procedurally Generated Nations of Procedurally Generated World of a Procedurally generated Planetary System… That can be Interesting for some people =p

Leave a Reply

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