Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 18, 2024, 10:05:16 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsDwarf Fortress meets The Outer Wilds? "Ultima Ratio Regum", v0.10.1 out Feb 2023
Pages: 1 ... 40 41 [42] 43 44 ... 53
Print
Author Topic: Dwarf Fortress meets The Outer Wilds? "Ultima Ratio Regum", v0.10.1 out Feb 2023  (Read 177469 times)
Ultima Ratio Regum
Level 7
**


Game Studies Lecturer, "Ultima Ratio Regum" person


View Profile WWW
« Reply #820 on: December 18, 2016, 07:49:52 AM »

As you may have seen last week, the development on 0.8 is finally ramping back up again. It has been a long road here, and a far longer one than I would have liked, but I now finally find myself with enough time on my hands to actually re-open that famously lengthy Python file and finish off this gigantic release. Last week I put out something of an overview of where the game stands at the moment, and what needs to be done: which is to say, basically, finishing off the content for speech generation, finishing off the most basic version of the conversation system I would actually feel comfortable releasing, and then dealing with whatever bugs and minor issues remain that cannot wait unil 0.9 (which is to say, crash bugs, or other kinds of serious errors).

The easiest thing to resume work on is the content of conversations. All the data structures and whatnot are present for me to put this stuff in; I just have to actually write it. That’s what I’ve been tasking myself with this week, and I realised that this wasn’t really finished, and that there were quite a few new kinds of variation I could add – with only the tiniest alterations to code – that would bring a lot of extra variety to the whole thing. Therefore, for the last few days in my spare time I’ve resumed fleshing out, and adding more detail to, the conversation system. This basically means ensuring that for all the possible political ideologies, and the various religious orientations that might come up, and so forth, people will have something appropriate and reasonable to say which will (in some cases) hint back towards their backgrounds and beliefs. The central part of this was filling out all the possible “expansions” – where an NPC can say a little something extra about a particular topic, as informed by their background. I thought I had done so previously, but I now recognise this wasn’t the case and there was a lot of valuable (and easy to add) extra content I could include. These are now all complete!



I also went to the list of alternatives for certain words in sentences – where one is selected at random for each word for each civilization – and finished this list off as well. As with the above, there was definitely more to be added here, and doing something relatively coding-simple, but content-heavy, has also helped with getting me back into the swing of things.



Lastly, I also finished off another segment of the game’s conversation system, which is ensuring that multiple phrases with the same meaning, but slightly different contexts or grammatical structures, are consistent. Which is to say, if is a civilization might use the phrase “put to death” in place of “executed”, then “execution” should also be “putting to death” – see what I mean? In this case the game randomly selects the way of expressing the “base phrase”, in this case “executed”, and then cycles through all the possible derivatives of that phrase and ensures that they are all combined with the original base phrase, such as “executed”, “executing”, and so forth. In some cases this is trivial, and in some cases more complex. For example, the word “produce” might be rendered for different civilizations as “produce”, “create”, “cultivate”; to render them in the past tense, it simply needs to add a “d” onto the end. However, if the words were also “make”, “yield”, and so forth, these have different rules to be transformed into “made” and “yielded”; I’ve therefore implemented a set of fairly simple but quite comprehensive grammatical rules to ensure that different tenses and uses can be handled, and that the game will also use the right one for a particular civilization when it has someone from that culture say a particular word.

So, that’s now all there is to say this week. However, I’ve had several comments that have stressed the importance of keeping updates rolling now that development has resumed, even if things start out slow and quite minimal. As such, I would expect some of these updates to be quite brief (like this one), but I think it’s better for me to put out short updates than to save them for longer updates and do other pieces in the interim: it’s important to me that it’s clear to everyone that development is moving again, and to gradually regain the momentum I had until around last September or so. In the coming seven days I’ll be looking at the set of conversation variables that have to take account of potentially-changing external factors, and be generated in particular sentences, which are currently as follows…



These need to be always able to draw on the relevant bit of information being mentioned, and to “output” with an appropriate grammatical structure. So, for instance, [god] is the name and title of one’s deity or set of deities; [greatestbattle] is the name of the most important battle of that nation; and so on and so forth. This is probably the next big task in speech generation, I think, after which the conversation mechanics will be returned to. This week I’m hoping to implement a basic framework for these elements, and start to get characters drawing upon their backgrounds and life information to fill them out correctly.

See you next week!
Logged

gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #821 on: December 18, 2016, 10:09:49 AM »

Great job, can't wait to see it in action, I have join you in the glorious conquest of procedural generation as I finally put my old project to rest and make this! At least let see if I can figure out on the fly planet generation first lol
Logged

saluk
Level 2
**


View Profile
« Reply #822 on: December 20, 2016, 10:25:00 PM »

With a big project like this, keeping momentum is more important than progress, so yeah the smaller updates are probably better than trying to save up for a good one. Nice to see you delving back into it, hope the code you left behind isn't too smelly Smiley
Logged

failrate
Level 1
*



View Profile WWW
« Reply #823 on: December 20, 2016, 11:35:59 PM »

You, sir, are a machine.
Logged
Ultima Ratio Regum
Level 7
**


Game Studies Lecturer, "Ultima Ratio Regum" person


View Profile WWW
« Reply #824 on: December 26, 2016, 10:57:28 AM »

Great job, can't wait to see it in action, I have join you in the glorious conquest of procedural generation as I finally put my old project to rest and make this! At least let see if I can figure out on the fly planet generation first lol

Haha, thanks! Smiley

With a big project like this, keeping momentum is more important than progress, so yeah the smaller updates are probably better than trying to save up for a good one. Nice to see you delving back into it, hope the code you left behind isn't too smelly Smiley

Yeah, this is very true; it has been somewhat tricky to ease back into things, but honestly, the break has actually made me see quite a bit clearer how little still remains to be done, and the fact that I really should be able to do it reasonably speedily. This holiday period is proving very productive, and I expect the next few weeks to be the same.

You, sir, are a machine.

Why thank you, failrate. I do try.

---------

This week I’ve finished off the generator for greetings, farewells, compliments, insults, threats, and giving thanks; each of these can produce easily over tens of thousands of variations, and then when you factor in elements outside the sentence generator itself – the name of a god, the title of a ruler, and so forth – we readily push well up into the millions. In this entry I’ll talk a little about how these generate, give some examples, and look at the kinds of roles I want these elements to play within the conversation system.

In working on the speech generation, it quickly became clear that having a set of phrases distinctive to each nation will be an easy and quick way to potentially identify the national origin of a character you’re talking to (and an easy way to fake your own, if you know all the common phrases…) and so I’ve tried to break these down into appropriate groupings. In the end I decided that there were six major categories I could vary from culture to culture: greetings, farewells, insults, compliments, threats, and thanks. Each of these will be generated for each culture, and will also vary each individual time anyone says one, so one person from Culture X might say “So long for the time being, and may our great military leadership lead us ever forwards”, whilst another from the same culture might say “Goodbye for now, and let us hope our grand military leaders lead us forever onwards” – and so forth. This has required another large table of syllables, of course, but since these are very regular and common sayings I thought it was extremely important to make sure these varied even within cultures and between individuals, rather than (as with most phrases) having them vary only, or primarily, between cultures and religions and backgrounds, and so forth.

Greetings

For greetings I wanted to make sure that these would be sentences that wouldn’t be too lengthy and therefore potentially annoying to see repeatedly, but should also contain at least a little bit of detail in them (this applies to most conversation elements, but I think greetings are particularly relevant in this regard). I went through several iterations of how these might be generated until I was able to settle on one that hit these two requirements (brevity and detail) reasonably well. At this point, therefore, greetings tend to be of the structure time of day]”, “I greet you”, “My greetings”, and so forth. These can sometimes be pushed to the back, so you might get “From X, Greetings” or “Greetings from X” – some variations are grammatically correct in both variations, whilst some are only correct in one variation, and this is all coded in. The second element will vary in the same kind of way – “from”, “on behalf of”, etc – and so will the third, which is inevitably the most varied element. This third element will look at who the individual is and the kinds of beliefs they have, and then generate or select an appropriate greeting as a result. In most cases they will explicitly mention their nation of origin (e.g. “Greetings from the brave soldiers of [nation]”), though in some rare case they will mention their religious belief in their greeting instead of a national or cultural origin (“My greetings on behalf of the zealous defenders of [god]”). As you can see from those two examples, in the first case it seems reasonable to assume the speaker is proud of their army – perhaps a standing army, or perhaps an imperialist nation? – whilst the latter is clearly strongly religious, so perhaps they come from a theocratic or religious zealous nation? Here are a bunch of examples – see you can take some guesses about the political / religious / cultural / geographical / etc backgrounds of the speakers…



Farewells

So, farewells once more needed to be something that could vary sufficiently much and sufficiently often for them to not get boring when somebody might be talking to the player multiple times, or the player might be talking to numerous people in the same civilization or who worship the same religion. This varies by being broken down into polite, neutral, and sharp farewells. A polite farewell would be of the form

Compliments

Next up, a pair of related elements – compliments and insults. Each of these will come up less often, but I still naturally wanted these to be very distinctive for each nation, and each example will be worded differently on each generation. “I wager you are as wise and far-sighted as a hawk”, or “I believe you are as clever and sage as the hawk”, or “I know you to be as smart and far-seeing as a great hawk”, and so on and so forth; it’s clearly the same greeting, but each person says it in a different way and will say it in a different way each time, too, to ensure that kind of variety is maintained. These again generate according to ideologies and religions and so forth, and I think they yield a very pleasing level of variation. Examples:



Insults

Insults were slightly tougher. Whereas compliments can work quite well if saying pleasant generic things, insults have to be relevant to a range of reasons why they might be insulting the player – refusing a trade, stealing from them, challenging them in combat, being a worshipper of a forbidden religion, or whatever. You wouldn’t want a character to kill somebody in an arena, and then someone from a pacifist nation praises them for their pacifistic tendencies. I’ve mixed things up to therefore create broader, and more sweeping sentences that should be applicable to a range of possible situations, whilst still allowing the character to say a logical compliment. Originally my plan was to make insults and threats fairly interchangeable, but just alter the first few words. So an insult would start “May you”, or “You should be”, “You ought to be”, or whatever, whereas a threat would be “I will see you”, “You will be”, “I will have you”, and the like. In the end I decided not to go with this model and to introduce variation between the two and thereby more overall variety into the conversation system (the kind of decision I’ve usually made!) and I split these into two. It was much easier to build appropriate threat generation than insult generation, actually, but the insults have come out really nicely and have a rather unusual sense to them; they’re quite distinctive, and run through quite a range of different ideas and concepts. Examples once more:



Threats

Threats, then, are similar to insults, and the variation is best illustrated simply by showing some examples:



Thanks

Last, but not least: we have “thanks”. These start with words like “As”, “Being”, “Speaking as”, and so forth, and then something to do with their background, and then a form of thanks. For instance, someone from a conscript nation might say “Being a conscript proud to serve [herhis] [homeland], [thanks]”, or someone from a zealotry background might say “Being as one with the great light of [god], [thanks]”, and so forth. These are shorter and snappier than some of the other generated sentences in this set of six, but they work very well, and again get the point across snappily and effectively, whilst being relevant in a lot of situations. Whereas insults and threats were tricky because they were dependent on what the player had done to merit the insult/threat, thanks are dependent on the speaker who is relating what particular traits or characteristics they find especially valuable. Examples:



Next Week

By next week I should have these actually implemented into the game, rather than Python’s output log, and these will come up during conversations. I’m still deciding how exactly things will work with regard to when you say greetings – perhaps they will be automatic, or perhaps they will come up as a default option, or something like that – because I want these to be present to make conversations appropriate and smooth and realistic, but also not add unnecessary work greeting every time. Right now I think the best solution is for the game to automatically give you the greeting options when you open a conversation, rather than having you enter the greeting options manually, but I’ll try a few options and decide on which runs the best. Aside from that, I’ll be continuing work onto speech generation, and slowly moving towards the conversation system – the former is easier to get back into, so I’ve been working there so far, but I’ll now be slowly transitioning into handling the conversation system elements. See you all next week!
Logged

Ultima Ratio Regum
Level 7
**


Game Studies Lecturer, "Ultima Ratio Regum" person


View Profile WWW
« Reply #825 on: December 31, 2016, 06:45:56 AM »

Meanwhile, here's this week's blog entry, "2016 in Review", with a summation of URR development and everything else I've found myself up to in the world of games in the last year:

http://www.ultimaratioregum.co.uk/game/2016/12/31/2016-in-review/
Logged

Christian
Level 10
*****



View Profile WWW
« Reply #826 on: December 31, 2016, 10:57:39 PM »

Wow, you really made a ton of progress in 2016. Congrats!

Is combat still a thing? I recall a blog post talking about like thousands of weapons and different attacks, combat stances, and actions
Logged

Visit Indie Game Enthusiast or follow me @IG_Enthusiast to learn about the best new and upcoming indie games!
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #827 on: December 31, 2016, 11:17:27 PM »

Nop it's about talking now
Logged

Ultima Ratio Regum
Level 7
**


Game Studies Lecturer, "Ultima Ratio Regum" person


View Profile WWW
« Reply #828 on: January 05, 2017, 07:03:57 AM »

Wow, you really made a ton of progress in 2016. Congrats!

Is combat still a thing? I recall a blog post talking about like thousands of weapons and different attacks, combat stances, and actions

Thanks!

It is, but it isn't in yet, and certainly isn't a priority. I'm focusing on talking now, and then a set of other elements, and then working my way back towards combat towards the end of development Smiley
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #829 on: January 05, 2017, 09:32:33 AM »

Good. Combat is overdone anyway
Logged
PsySal
Level 8
***


Yaay!


View Profile WWW
« Reply #830 on: January 06, 2017, 04:43:59 PM »

Good. Combat is overdone anyway

Seconded! I kinda love the idea of an "information" based exploration game, which could work so well since the world is immense, you have to make smart choices to "mine" for the info you need. Well that's my $0.02!
Logged
Ultima Ratio Regum
Level 7
**


Game Studies Lecturer, "Ultima Ratio Regum" person


View Profile WWW
« Reply #831 on: January 10, 2017, 03:44:20 PM »

Good. Combat is overdone anyway

Seconded! I kinda love the idea of an "information" based exploration game, which could work so well since the world is immense, you have to make smart choices to "mine" for the info you need. Well that's my $0.02!

Thanks! And that is a pretty perfect description of the central gameplay goal. As you say, you should have to make strategic choices about what bits of information to acquire, and what bits to forgo. There are certainly some other games that I think come close to the idea of an "information game", but I think I'll hopefully wind up with something very new in URR Smiley.

----

This last fortnight has been extremely productive for finishing off the development of URR 0.8. It has been really great to properly get back into the swing of things and see, and be able to play, major changes to the game at the end of each night. I’ve produced three substantially new things this week – the first initial steps towards NPC personalities, the set of answers to questions that have a range of distinct options rather than only one possible reply with words being switchable in and out, and lots of extra detail for insults and compliments. I’m also about half-way through the establishment of a comprehensive baseline for conversations, meaning that the player can now successfully have a Q&A-esque conversation with any NPC they encounter on any topic, which is the biggest and most important first stage towards the full conversation system that’s being developed here. That will be finished by next week, and will be focus of next week’s blog post! For now, however, read on…

(Warning: due to the nature of this update being entirely programming, the adding of new content, and developing elements that aren’t yet finished and ready to show off, I’m afraid there are no images. Hopefully some screenshots will be back next week!)

NPC Personalities

Firstly this week, in the process of filling out the “options” responses (see below), I needed to actually come in and add some of the personality modifiers for NPCs. In some cases these apply to all NPCs irrespective of whether they are important or not, and in some cases they apply only to the important NPCs that game tracks independently as the player moves around the world, and then in other cases they are relevant only to important NPCs of particular classes (for example, only a gladiator needs to have a fully-formed opinion about the crowds who watch gladiatorial combat). There is now a pretty large set of personality traits that NPCs possess, which affect their actions and their responses – and as with everything, should give the player hints about their origins, backgrounds, allegiances, and so forth. There are definitely too many to look at them all in depth here, but there’s a few particularly interesting ones which I’ll recount here. These include:

like_of_other_countries: This personality trait, somewhat obviously, determines what individuals think about other countries beyond their own. As with many of the traits here, this trait is modified by a range of factors. These include the NPC class and background of the individual person, and the wider ideologies of their nation, and their religion, alongside a small random component throw in to ensure that two NPCs with the same demographics will not always match up exactly, but will still generally be within a logical variation on either side of a set of beliefs. For example, an “explorer” from an “internationalist” nation is likely to think very positively about the rest of the world; a “jailer” or “officer” from an “imperialist” nation is likely to think very negatively about the rest of the world; and so on across all the NPC classes, and potential modifiers for national and religious preferences. Taken on a broad scale, you’ll be able to identify commonalities and overall feelings in a culture, but individuals will still vary significantly according to their individual life experiences.

like_of_art: This trait determines what kind of interest the person has in artistic outputs (paintings, sculpture, etc – there is an equivalent for “literature”, which will cover books, poetry, etc). This is affected once more by the kind of NPC you’re talking to, and to the ideologies of the nation in question. For example, a nation with a strong cultural interest in aesthetics will naturally produce those who like art a lot more; whereas a nation with a strong intellectual interest in mathematics or mechanical engineering will likely be less interested in works of art. This will affect how much people are willing to tell you about the artwork of their homeland, how much they know about it, and give you some hints about the place of artwork in that culture and therefore where (and what) artwork you might be able to find, which might yield clues in your central quest.

religious_zeal: This is a trait affecting quite a range of responses. This will affect how NPCs respond to you if it becomes apparent that you belong to a different religion, what NPCs think about heresy, how friendly and well-disposed they are towards inquisitions and other religious rules and strictures, how they act towards priests, what kinds of money or resources they give to their church, and so forth. Although most obviously living in a theocracy will boost the average religious zeal, this still varies a lot between individuals, in large part from their status in society, their contact with other nations and religions, and their personal history and relationship with the religion in question. There’s a wide set of speech replies that draw on this particular trait, and I’m very happy with how these have all turned out.

policy_acceptance and X_preference: There is a set of nine related traits: the first is policy_acceptance, and the others are X_preference, where X is foreign, military, leadership, and so forth, for each policy grouping in each culture/nation. The first of these refers to the overall contentment of the individual with the general policies of their homeland. Leaders and regents will, naturally, be extremely positive about the policies that they themselves have implemented and oversee; nobles and lords will generally be very positive, but may express small amounts of concern about particular elements of policy; and so on and so forth across the full set of NPC classes, with some classes having much higher chances to have serious issues with the policies, and some classes having particular issues with particular policies – a jailer will almost always think building prisons is a great idea, a prisoner will almost always disagree, and so forth. The second of these, the set of eight preferences, refers to what policy the NPC would like to see implemented instead of the current policy in each of the eight areas. The number of “other policies” an NPC likes is dependent on their overall policy acceptance, and then what alternatives they like vary according to their NPC class and a range of other elements. For now these just lead to a wide range of interesting conversation replies, but in the future I’m hoping to do much more with these personality traits and individual/personal preferences.

leadership_like: This trait refers to how much the NPC likes the leadership of their nation. This is not to say the leadership policy of their nation, as above – theocracy, monarchy, etc – but the individual personality/personalities of the person/people at the top. There are a lot of elements which go into this particular decision for each NPC, and as with the above set, I’m hoping to later tie this into the potential for social movements, conspiracies, and the like…

fellow_soldier_opinion: For those who are within the military, this determines what they think of their fellow soldiers. This varies by rank, by leadership, and by the individual histories of particular soldiers. I’m not quite sure what else this variable will affect yet – beyond a couple of possible conversation replies – but I think it could be a nice way to build up a sense of how different military forces function in the URR world.

There are many others beyond these, but these should give a good idea of the kinds of personality traits that URR NPCs have. As with much of the game, these numbers will not be explicitly visible to the player, but rather should become apparent by the behaviour of the NPC, which – hopefully – should be rich and detailed enough that one can actually draw these kinds of conclusions, and then use this kind of information to make informed strategic decisions about your relationship to that NPC. In turn, all the sentences that NPCs can say which draw upon these elements have been finished, and offer a massive variety of comments and observations that NPCs can make through drawing on their perspectives, understandings, and past experiences.

Insults and Compliments Revisited

Secondly this past fortnight, I took the feedback from several people on-board about the insults and compliments, and decided to revisit these. Although the greetings and farewells vary substantially in length and detail – and, of course, one will never see lots of these in quick succession as we do in these blog posts – the same wasn’t quite true for insults and compliments, so I’ve adjusted these. There are now a range of shorter and snappier insults and compliments, and these have been added appropriately to the game’s databases of possible statements.

I also this week took all the farewells, greetings, thanks, insults, compliments, and threats out of the demonstration file and implemented them into the main game. This took a while because these sentences are generated in a unique way to give a particularly high amount of variation compared to other sentences (because they are so common) and they need to vary both overall between cultures/religions, and in individual moments of speech, so that two people from the exact same background will themselves offer different farewells at different times. This seems to be all in place now, however, and NPCs can now give these statements at appropriate times!

Option Responses

The third major body of work completed this week was what I’ve taken to calling “option responses”. Some questions are easy to answer, since the answer will always take the same form with a word or two exchanged – these are “basic responses”. Other questions are harder to answer, which split into “option responses” (where responses are very different depending on the nature of the answer) and “list responses” (where a response will always take the form of a list). This week I’ve been working on the option responses. Some of the questions that have these kinds of responses include:

What do you think of the leadership?
What do you believe your foreign policy should be?
What do you think of your culture’s art?
What are the religious policies of your nation?
How widely spread is your religion?
What is your job?
What is the history of this monastery?
In all of these cases the game can’t just take a default sentence and then vary it, but it has to instead select a sentence from a wide set depending on the data available, and then create that sentence anew each time. There are substantially more possible “base” responses for option questions than there are for all the basic sentences combined, which gives some idea of the kind of variation that some of these need to have. With this fortnight finished, I’ve now finished these off, and I’m very happy with the kinds of sentences they create – they’re varied, detailed, and will take far longer than the basic sentences before the player will ever come around to seeing the “same” sentences again.

Conclusion

This fortnight has seen some major progress in sentence generation and the conversation system, and we’re almost at the point where the player should be able to have a full – if thus far a little basic – conversation with every NPC you encounter. Stay tuned!
Logged

Ultima Ratio Regum
Level 7
**


Game Studies Lecturer, "Ultima Ratio Regum" person


View Profile WWW
« Reply #832 on: January 24, 2017, 05:17:12 AM »

Lots of major developments (and some minor ones) in URR this fortnight! Firstly, all the content I added last week meant that a whole new set of words and phrases had to be added to the lexicon; the best part of a thousand in total, if I’m counting correctly. I’ve now implemented all of these, and the game can correctly vary the words from all these new sentences by drawing on these new additions to the central lexicon. Secondly, I’ve now almost finished what I’m calling the “standard” or “basic” conversation system, which is ensuring NPCs can reply to every question they are asked; this should be done by this time next week. Thirdly, a wide range of further variables for individuals and the cultures they hail from have been implemented, and are now having an effect on what kinds of things NPCs will say. Another very, very text-heavy post this week – although next week’s will contain a lot of screenshots, this week continues to be lots of under-the-hood programming and content addition that cannot, yet, be reflected in screenshots, but is getting pretty damned close. Read on!

More Variations for New Words

Firstly, as above, there was a huge set of new words and phrases that needed to be varied for each culture, as with all the others. These entered the game because I was writing the new “option” answers (see last week’s entry), and needed to be written up. This was one of those tasks that isn’t especially intellectually challenging or needs a lot of programming experience, but mostly just involves adding a massive chunk of “content” which the game will then deploy in the appropriate situations. With this finished, I’m very happy with those look, and the sentences read really well and really nicely. Here’s a screenshot from the new set – I’m sure you can see how/where a lot of these fit in…



I also went through the existing words, and decided to statistically bias some of them back towards slightly shorter variations, and therefor slightly shorter sentences, as a response to the feedback I regularly get about some of the sentences being too wordy. You’ll see the same in the earlier example, where we have some sets using the same short word twice to boost the chance of that word being selected (this is of course not an especially elegant way to do it, but let’s be honest: my programming is not known for its elegance). This should ensure that sentences will tend to be just a little shorter and a little less wordy, and I’m going to continue this trend of chopping out irrelevant words whilst maintaining sentence variety – though this is a tricky balance to strike.

Nearing Completion on Standard Conversations

The development of the game towards what I’ve been calling the ability to have a “basic conversation” – i.e. the traditional question-and-answer session that one gets in most games, where the player asks something, the NPC responds, and this pattern continues until all conversation options have been exhausted – is now extremely close. NPCs respond correctly for all the “basic” questions (about 1/2 of all questions), and for the “options” questions (about 1/4 of questions), and are in the process of being programmed to respond appropriately to the “list” questions (also about 1/4 of all questions). This is the final step to them being able to ask any NPC any question, and get a response. For now these responses are all truthful, and they always answer, but this will still be a huge milestone once finished. As such, by this time next week, I’ll be able to show off the basic conversation system working universally, for all possible inputs and outputs, even if a few placeholders like �
Logged

saluk
Level 2
**


View Profile
« Reply #833 on: January 24, 2017, 11:44:12 AM »

'deadparrot':['dead','not living','ceased to be','ex-parrot','pining for the fjords']
Logged

Ultima Ratio Regum
Level 7
**


Game Studies Lecturer, "Ultima Ratio Regum" person


View Profile WWW
« Reply #834 on: January 25, 2017, 02:19:55 AM »

'deadparrot':['dead','not living','ceased to be','ex-parrot','pining for the fjords']

Hah!
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #835 on: January 25, 2017, 06:07:40 AM »

Best comment of 2017 right there
Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #836 on: January 25, 2017, 01:33:55 PM »

How it's not on the epic thread yet?
Logged

RujiK
Level 2
**



View Profile
« Reply #837 on: January 26, 2017, 09:42:22 AM »

Do you have any plans for languages other than english? Seems like it would be a massive undertaking with all the generated messages and how grammar varies from language to language. (I only speak English, I'm just curious.)

Also will NPC's be able to talk to each other? It'd be awesome if you could sneakily listen into other peoples conversations trying to get some info, but that may be more work than it's worth.
Logged

Ultima Ratio Regum
Level 7
**


Game Studies Lecturer, "Ultima Ratio Regum" person


View Profile WWW
« Reply #838 on: January 31, 2017, 02:59:22 AM »

Do you have any plans for languages other than english? Seems like it would be a massive undertaking with all the generated messages and how grammar varies from language to language. (I only speak English, I'm just curious.)

Also will NPC's be able to talk to each other? It'd be awesome if you could sneakily listen into other peoples conversations trying to get some info, but that may be more work than it's worth.

Non-English: yeah, not a chance, sadly Sad. The amount of effort going in to make grammatically correct English sentences has almost finished me off. Doing that for another language? Arahhjgahjgdshfs!

NPCs talking to each other: the answer is "probably", but we certainly aren't there yet - and I'd have to think about how the mechanics of that would actually function, as in, where/how the conversation shows up on screen...
Logged

Ultima Ratio Regum
Level 7
**


Game Studies Lecturer, "Ultima Ratio Regum" person


View Profile WWW
« Reply #839 on: January 31, 2017, 03:43:11 AM »

Another big update this week! (Isn’t it great to see URR development actually moving fast? At least, I think it is). As mentioned last week, I prioritised getting the basic conversation system totally finished this week, which is to say the ability to ask any question to any NPC, and get a logical reply, or at least the outline of a logical reply with some variables (like �



Irrelevant Replies

This week I have also begun implementing “irrelevant” replies – meaning things like “I have no religion” as a response to “What is your religion?”, and so forth – which apply when an NPC is asked a question they have no valid answer to, or is entirely irrelevant. This means a massive range of potential answers, some of which are specific to the question – such as “I have no siblings” – whereas others are more puzzled. An NPC might be asked about a painting they couldn’t possibly know of, for instance, in which case they would say “I do not know of that painting”. There’s close to a hundred of these irrelevant replies, all of which (like everything else) need to vary between cultures and individuals. Some of these require quite complex sentences, although others are relatively simple, but this has definitely need a substantial task. I’ve now put about fifty percent of these in place, and NPCs do correctly use them, too! Of course, in some cases NPCs can’t yet give the correct responses – the coding for siblings isn’t in there yet, so everyone just says they have no siblings – but the code for generating a sentence once siblings are present is in place. Dealing with these kinds of familial relationships and the answers to some of the more complex questions will come partly before the release of 0.8, and partly in the speedy 0.9.

Traits

Added some new traits this week, with a focus on four elements that will influence substantially what NPCs know (and what NPCs can tell the player) about the world around them. These are all affected by the individual classes of NPC – generally speaking someone who is likely to be wealthier and better-educated is likely to know more, but there is also significant variation written into the system, and the knowledge of individual NPCs (regardless of their NPC class) is then varied further by ideological preferences of their homeland. For instance, people from an internationalist nation will tend to know more about foreign matters; people from a nation with a system of vassalage will know more about their own nation than average; those from a bartering nation will know less about history, as few records are kept; those from a free trade nation will know more geography, as they travel to trade; and so forth.

geography_knowledge

How much the NPC knows about the surrounding area. This doesn’t mean the nations and peoples and so forth, but rather purely a question of physical geography – nearby mountains, nearby roads, coastlines, deserts, animals, plants, and the like. Affected

history_knowledge

How much the NPC knows about the history of the world (inevitably heavily, but not exclusively, focused on their own nation). This means their ability to talk to the player about the historical events they are familiar with, how many events they are familiar with, and also knowledge about historical artworks, people, places, and so forth.

national_knowledge

How much the NPC knows about their own nation – where things are, who lives there, where towns and monasteries and mines and so forth are and what’s within them, information about important people, etc.

foreign_knowledge

How much the NPC knows about other nations; their locations, capitals, ideologies, religious beliefs, leaders, famous people, practices, etc. As with all the above, this varies across NPC classes, and is then modified by ideological beliefs of the nations in question.

Relics

I’ve implemented the first part of the generation system for religious relics, which needed to go in now so that NPCs could actually talk about them. Naturally the image generation for these will take place at a later date, but for the time being the game can generate the names of religious relics, a little bit of information about them, and who they were originally owned by. Each religion will only ever create two kinds of relics, depending on their beliefs, and these fall into a randomly-chosen “major” and “minor” category. For instance, a religion might primarily produce “Crown” relics, but sometimes have a small number of “Bone” relics; or a religion might focus on “Book” relics with a small number of “Weapon” relics; and so on and so forth. Each has a unique generation system for selecting its name, and we can now end up with relic names like the following:

Twisting Key of Monn’morra
Slender Ring of Saint Ynnop
Wooden Garland of Grey Fox Running the Sacred
Orangejaw Moonblizzard’s Holy Engraved Locket
Fi-Un-Gat’s Pitted Skull
Consecrated Pointed Sceptre of Ibimmom, Sly Rose

The game also now keeps track of how many relics need to spawn in each church (which varies across different kinds of religious building) and ensures that an appropriate number will always appear. Generating the images for these is going to be a lot of fun, but isn’t going to come until 0.10 or somewhere beyond. Anyway, these are now in place, so NPCs will shortly be able to talk intelligently about relics, and specific relics will now be tied to specific reliquaries in specific churches and cathedrals!

Laws and Punishments

Three of the “list” questions (questions where the answer is often of the kind “A, B, C and D are examples of the X”) relate to the particular laws of a particular nation regarding various topics – currently “violence”, “trade”, and “religion” are the three listed in there. This means that nations now generate laws in each of these categories, and a set of punishments, and then assigns punishments to each broken law depending on the severity of the crime (as the nation sees it). Laws and punishments on trade are determined almost entirely by trade policy, but a nation’s perspective on smuggling is also affected by a range of other ideologies; “violence” laws are determined by a wide range of ideologies from across the eight main categories; “religion” laws are naturally primarily determined by the religious policy of the nation, with a few inputs from a couple of other policies.

To take trade as the example, there are now five possible laws that a nation can enact:

District Entry: how much money (if any) it costs to enter a district in the capital.
City Entry: how much money (if any) it costs to enter the capital city.
Foreign Goods: how much extra taxation is put on foreign goods (light, middling, heavy).
Black Markets: whether black markets are tacitly accepted or not, and if not, the punishment for using one.
Smuggling: the level of punishment for those caught smuggling/with smuggled goods.

Each of these then, if appropriate for the ideologies of that nation, has a value assigned to it. When punishments come into play, punishments now vary according to the five possible justice ideologies. I’m not quite clear on how the “Ordeal” justice policy is going to work out, so I haven’t really developed that element yet, but the other four now work nicely. The Frontier policy imposes fines on those caught breaking the law; the Vigilantism policy will see those breaking the law hunted by the general public, who for lesser crimes will demand items in recompense, or injury, or will hunt to the death in the case of severe crimes, the Penitentiary policy imposes a range of prison sentences, and the Gladiatorial policy involves battles to first blood for lesser crimes, and fatal battles for greater crimes. There is also something of the god system from DCSS here; I wanted to develop these in such a way that they would seriously affect the player’s actions in the future, and which nations they choose to take actions in, when they keep in mind what the potential ramifications are. Justice policies should now have a substantial effect on player decisions once implemented –  and, of course, NPCs can now talk about them, listing all the policies that are worth talking about in the area in question.



Next Six Months

In other news, some big changes are happening, which are going to lead to some very exciting things. Firstly, I’m leaving my position as a postdoc at the Digital Creativity Labs at the University of York – although keeping my current secondment as a Researcher in Residence at the UK Digital Catapult – and taking up a new six-month postdoctoral position at Goldsmiths, University of London, to study paper puzzles (crosswords, Sudoku, etc), and those who play them, design them, implement them, with a view to developing a new set of paper puzzles that might one day be able to challenge Sudoku in national and international print newspapers. Such an outcome is obviously an immensely ambitious goal, but that’s one of the many things that attracts me so much to this project; the potential to make such a big impact into the game-playing lives of so many people is incredibly exciting. I’ll keep you all updated on this goes as time goes by; this might lead into further research in this area, though I also have a range of other irons in the fire for the longer-term future.

Secondly, during this summer, I’ll be taking up a range of visiting fellowship positions at numerous institutions around the world. Firstly, the University of Alberta in Edmonton, where I’ll be giving talks and running and contributing to seminars on professional gaming and the intersections between video games and gambling practices; secondly, the Chinese University of Hong Kong, where my focus will be very much the same; and then the University of Nevada at Las Vegas, where I’ll be researching the histories of professional gamblers, specifically with a focus on how professional gamblers are represented and talked about in news media, films, literature, and so forth. Somewhere in the middle there I’ll also be giving a few talks at Nanyang Technological University in Singapore on my research, and potentially travelling to two other countries I’ve never visited before as well to offer guest lectures and further develop my Esports and live-streaming research, although those are still in discussion with the relevant parties. If you live in any of those areas, let me know – maybe we can meet up! The few times I’ve met fans in person has always been awesome, and I’d certainly be keen to do so again.

What does all this mean in practical terms? Well, firstly, my brain is going to be a lot clearer to focus on URR 0.8 and finishing my first book in the next four months. Travel has always been something that galvanises and focuses me tremendously well, and these, combined with a new position more closely aligned to my research interests, will do a lot for me. People who read this blog regularly will know the last few months have been tough for a range of reasons, and these new positions are going to be a big help with some of those issues. Onwards, to bigger and better things!

Next Week

Having really pushed on URR this past week, I need to focus on my academic work this coming week, so next week will be a games criticism entry; then by the week after I’ll be aiming to actually finish off the Basic Conversation system by fully implementing the answers to list questions, and making sure that the range of “irrelevant replies” are all implemented and functioning correctly. See you in a week! When we will be talking the notorious “P.T.”, or “Playable Teaser”, and its clever implementation of environmental puzzles…
Logged

Pages: 1 ... 40 41 [42] 43 44 ... 53
Print
Jump to:  

Theme orange-lt created by panic