Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 190 191 [192] 193 194 ... 221

Author Topic: Dwarf Fortress meets The Outer Wilds? "Ultima Ratio Regum", v0.10.1 out Feb 2023  (Read 585677 times)

Retropunch

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2865 on: July 10, 2016, 11:38:54 am »

My only response to Retropunch is that URR should beware of "scope creep". The more complicated the project, the more bugs would exist and the harder it is to fix it. It would be simple to implement in the short-term, but it will be difficult to maintain in the long-term.
It's certainly an issue, although one I know Mark is really trying to get a handle on with rigorously planned releases. More than that though, my view on personality/mood is that it's one of those things that can be implemented in degrees, and is sort of 'anything is better than nothing' (as long as it doesn't break anything!). For instance, if there were only 4 moods (normal,happy, sad, angry for instance) that'd still be a huge improvement upon having completely blank NPCs.



 
Logged
With enough work and polish, it could have been a forgettable flash game on Kongregate.

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2866 on: July 18, 2016, 03:01:25 pm »

Yeah - rigorously planned, though NOT rigorously scheduled ;). I agree, I'll definitely put in moods, though that might have to be in 0.9 (which, despite the above comment, will be way shorter and also released in 2016) - I'm really crunching to try and get a release by the start/mid of August! There's something happening then which will drive a lot of new traffic to the site, so I want 0.8 up by then :)
Logged

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2867 on: July 18, 2016, 06:04:42 pm »

Since last week we had a post about my third bullet hell world record high score instead of an URRpdate, this week’s should be the longest in quite some time! Lots has happened in terms of naming NPCs, fixing remaining bugs, changing the player’s dialect in a conversation, and also sentence generation is now actually happening! Most exciting. Read on…

Names in Conversations

As well as being generated, names now appear correctly in conversations. In future versions you will naturally not automatically know the names of strangers you bump into – unlike certain RPGs we could mention where the player magically divines the names of every single you talk to – and learning someone’s name will therefore sometimes be a gameplay mechanic. You might, for instance, know that a particular merchant called [Name] knows something, but the civilization that merchant comes from are not particular friendly to you, and you don’t know what they sell, so you’ll have to try to figure out which of seven merchants in a market district the particular merchant you’re after is, and potentially use other clues (sex, clothing, behaviour, whatever). Equally, of course, the game will remember perfectly the names of everyone you meet, and I’m actually thinking of a system that might alert you when you encounter someone whose name you already know – perhaps a message in the text log saying “You see [Name] [doing task X]” for someone you already know, because there is no visual way to mark out someone you recognise from someone you don’t (i.e. two merchants will both be ‘m’ whether you know them or not). Here are a couple of screenshots showing some conversation windows with people from various name-types:







Changing Dialect

You can now actually change your dialect by selecting a different dialect. This is a small thing, but it required me to start building up the code for handling what happens when you press [Enter] on an option in an in-conversation window, and it therefore has to detect the sentence or the item or the dialect you select, and then notice what kind of thing it is the player has selected, and then take the appropriate action. This works correctly now, though, so you can switch to another dialect and all the % chances of uttering each possible sentence immediately update appropriately. You can see in this gif how the chances of successful/unsuccessful words changes as we change dialect from one to the other.



Sentence Generation (Part I)

After thinking long and hard about sentence generation, and managing to free up a spare day to do nothing else except working on this, I’ve been able to make a substantial start. So, basically, the game splits sentences down into three categories, I’m naming “clauses“, “archetypes“, and “kennings” (which applies to a range of things that are not technically kennings, but the term gives us a good impression of what we’re talking about here).

Clauses: these are segments of a sentence, which vary massively from culture, religion, geographical background, and all the other factors that basically everything else in URR tends to be varied along.  A sentence will contain several clauses in most cases, and clauses are basically sections of a sentence that the game will generate independently (via archetypes) and then stitch back together (see below for more information on this).

Archetypes: these are hand-written default versions for each possible question. For each of the questions that the player can possibly ask (or the NPC can ask back), I’ve gone through and written a dozen or so variations of that serve as the foundations of possible replies (although once a reply is finished it will be almost indistinguishable from the archetype that created it). These are then distributed to each culture semi-randomly, with some relationships between some archetypes which others are “free-floating”, and each culture then starts the game with a few basic and foundational ways to talk about the things people might need to talk about in-game.

Kennings: in the case of URR, this refers to a particular way of referring to a particular thing. So this might mean referring to historical events, or a title to put in front of the name of a deity, or a particular way to talk about oceans or mountains, and so forth. These are basically segments of clauses that have to be expressed a particular way, so a clause might say [Title of god] and then the game will look up the appropriate “kenning” for that element and place it into the clause; alternatively, if it says [Desert] then maybe that nation says “Deserts”, or “Great Sands”, or “Great Dunes”, or “the Red Expanse”, or whatever, and the game will quickly check what the appropriate (generated) term is for something in a sentence.

So, in trying to create a sentence, the game does the following process:

Stage 1: select clauses. This first stage means that the game looks at how many clauses should be in a sentence, and what they should be. A nation with a dialect with low “sentence complexity” will have very few clauses in the average sentence, for example, whilst a nation with high sentence complexity will have many clauses. I’ve developed a fairly complex but easily-added-to system for adding clauses into sentences based on the nature of the sentence. This means that extra historical, personal, geographical, religious, etc, detail can be added to a sentence depending on how many clauses it has, and those clauses will be handled intelligently and sensibly.

Stage 2: select an archetype for each clause. The game then checks how that particular culture would express a particular clause and retrieves that archetype (which will then, in stage 3, be massively varied) and readies it. Archetypes are generated/selected in such a way that they should be broadly consistent across a culture, so you shouldn’t get a culture that talks about mountains in one way and talks about oceans in another, but rather talks about all those things in a broadly comparable way. Archetypes also affect sentence structure and in some cases word order, and these elements are also taken into account.

Stage 3: implement kennings/references. This third stage is perhaps the most important part of sentence generation, since at this point the game looks up how to express everything in every clause in that sentence. As we see above, archetypes say things like [Religion-title] and these are all triggers, telling the game to look up the appropriate phrase for the appropriate thing in the appropriate culture. As such, the sentences themselves within archetypes tend to have a large volume of square brackets in them, and aren’t really human-readable – although you can get a good idea of their meaning – until there’s a nice lot of kennings and references in place.

Stage 4: stitch it all together. The game then goes through all the sentence components – now transformed from archetypes with square brackets to archetypes with appropriate references and the like – and stitches them together with appropriate punctuation. This is partially done through the system that places clauses together, and also a bunch of signifiers that handle things like vowels/consonants, plurals, etc.

It was very tricky to find a system that struck the right balance between a) generating a huge volume of potential sentences, b) making the number of hand-made sections relatively low so that I actually get the release out before the 2020s, and c) ensuring a huge amount of modular variation within the sentence structures. With this system – selecting clauses, selecting archetypes, varying almost all of the components of those archetypes, and then stitching the sentence together into a meaningful whole – I’m confident that I’ve found a balance between all of these requirements. I think I’ve struck a balance between large volumes of hand-made sections, large volumes of procedurally-generated sections, and sections of speech that sit somewhere in the middle where handmade elements can be altered or twisted in some way depending on the particular nature of the speaker. I’m really excited to see what this will produce! These are just initial trials, but in the coming week I’ll be trying to build up all the possible conversation options and archetypes and clauses and whatnot, and then we’ll see how that looks. Here are two variations OF THE SAME CONVERSATION, and just look at all that variation!





(Note: you’ll also see a tiny bit of procedurally-generated calendars there! Some use years, some use a bunch of other systems; this might not make it into 0.8, but I just happened to be testing it out whilst I took these screenshots)

(You’ll also note the lack of ‘?’ in the second – just a typo!)

Having looked at the power of this system, even with the incredibly simple conversation above, I am *so* excited about how this is going to work. I now just need to write all the other words to slot into every other part of the system, and this is a huge task, but by next week’s blog entry I hope to have it all done and to be able to show off some more detailed conversations, as well as some of the other conversation options I’ve been developing this week – these extra things aren’t totally ready just yet, but they’ll be essential to making conversations feel very human, and adding extra depth.

Next Week

Conversations, sentences!
Logged

Arx

  • Bay Watcher
  • Iron within, iron without.
    • View Profile
    • Art!
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2868 on: July 19, 2016, 02:36:16 am »

That looks really good! Pretty keen to see how it plays out. Natural language related computing has always fascinated me.
Logged

I am on Discord as Arx#2415.
Hail to the mind of man! / Fire in the sky
I've been waiting for you / On this day we die.

Scoops Novel

  • Bay Watcher
  • Talismanic
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2869 on: July 19, 2016, 07:04:07 am »

Give some thought as to whether "Dialect" is the right word to use. If you don't do languages, you're envisioning variations upon a common language right? "Accent" makes more sense. Dialect doesn't really come into it when you're speaking a trade language.
Logged
Reading a thinner book

Arcjolt (useful) Chilly The Endoplasm Jiggles

Hums with potential    a flying minotaur

zaimoni

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2870 on: July 19, 2016, 08:14:55 am »

Give some thought as to whether "Dialect" is the right word to use. If you don't do languages, you're envisioning variations upon a common language right? "Accent" makes more sense. Dialect doesn't really come into it when you're speaking a trade language.
Trade languages i.e. pidgins don't have grammar.  If that was the case, it would be *really* obvious in the demos posted here: they'd read like Engrish, or other highly ungrammatical English.

Declared intent is to not force the player to memorize how idioms vary, just intimate they are there.  That's handwaving changing the actual syllables, i.e. dialect.
Logged

Scoops Novel

  • Bay Watcher
  • Talismanic
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2871 on: July 19, 2016, 10:56:54 am »

Pidgin and trade languages are distinct. Latin, French, English, those have been trade languages. Creole is just a occasional variant.

It makes little sense that a clan from the opposite side of the continent happens to speak the same first language as everyone else. Hence i assume trade/common language.
« Last Edit: July 19, 2016, 11:05:16 am by Novel Scoops »
Logged
Reading a thinner book

Arcjolt (useful) Chilly The Endoplasm Jiggles

Hums with potential    a flying minotaur

Retropunch

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2872 on: July 19, 2016, 03:57:36 pm »

Pidgin and trade languages are distinct. Latin, French, English, those have been trade languages. Creole is just a occasional variant.

It makes little sense that a clan from the opposite side of the continent happens to speak the same first language as everyone else. Hence i assume trade/common language.

I think this gets down to the fact that dialects are a little bit of a confusing thing to be simulating. Whilst I *love* the idea of learning a 'dialect' in terms of 'being able to pass yourself off as a local' - it seems strange that a world would have a common language and so many wildly different dialects (unless that's part of the puzzle?!). If this was meant to simulate a trade language, that's fair enough - but then there isn't a great deal of point learning the dialects (as if you were a native, you'd just speak the mother tongue!).

I honestly believe that these should just be called 'languages' for now and treated as such. If/when real language learning becomes a thing then that can take over from this, but at the moment it does seem very confusing.

Regardless of this, I also think it'd be a good idea for dialects/whatevers to have common modifiers and greetings/goodbyes/standard parts. I feel like it'd give the user a lot of agency. If they remember to bow at the beginning of the conversation that'd definitely warm the NPC up, whereas not doing would anger them. Not using their full title might be a snub in some areas of the world, whereas in others it may be seen as something that is not said in public.

Whilst this could (like moods) be implemented in a very simple form and still be great fun, it could go a lot further: Not using a title might be seen as a public snub in court, which would gain you favour from their rivals, however not bowing might be seen as far too offensive for anyone.


Logged
With enough work and polish, it could have been a forgettable flash game on Kongregate.

Scoops Novel

  • Bay Watcher
  • Talismanic
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2873 on: July 19, 2016, 05:51:52 pm »

A little birdie told me you have some interesting combat plans. It sounds like you're nearly there with your desire to weigh each other up and act accordingly so



do fencing, please.
Logged
Reading a thinner book

Arcjolt (useful) Chilly The Endoplasm Jiggles

Hums with potential    a flying minotaur

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2874 on: July 20, 2016, 05:14:14 am »

That looks really good! Pretty keen to see how it plays out. Natural language related computing has always fascinated me.

Thanks! I'm really happy with how it's looking, especially what I should be able to show for it next week once far more of the words/syllables/clauses/archetypes/kennings are in place!

Give some thought as to whether "Dialect" is the right word to use. If you don't do languages, you're envisioning variations upon a common language right? "Accent" makes more sense. Dialect doesn't really come into it when you're speaking a trade language.

I do think dialect is the right one, as a particular kind of one language, whereas to me, an accent is more about pronunciation than sentence structure and phrasing.

Declared intent is to not force the player to memorize how idioms vary, just intimate they are there.  That's handwaving changing the actual syllables, i.e. dialect.

^ ja. You select a dialect, say a thing, and if you know how to say it in that dialect, your player character will say it in that dialect. With that said, though, dialects are strongly influenced by their cultures, so you should recognize when you're speaking to someone from a really expansionist imperialist nation, for instance, as they're always be using military metaphors, praising war and conflict, accept violence, have a very competitive notion of world politics, etc etc...

I think this gets down to the fact that dialects are a little bit of a confusing thing to be simulating. Whilst I *love* the idea of learning a 'dialect' in terms of 'being able to pass yourself off as a local' - it seems strange that a world would have a common language and so many wildly different dialects (unless that's part of the puzzle?!). If this was meant to simulate a trade language, that's fair enough - but then there isn't a great deal of point learning the dialects (as if you were a native, you'd just speak the mother tongue!).

I honestly believe that these should just be called 'languages' for now and treated as such. If/when real language learning becomes a thing then that can take over from this, but at the moment it does seem very confusing.

Regardless of this, I also think it'd be a good idea for dialects/whatevers to have common modifiers and greetings/goodbyes/standard parts. I feel like it'd give the user a lot of agency. If they remember to bow at the beginning of the conversation that'd definitely warm the NPC up, whereas not doing would anger them. Not using their full title might be a snub in some areas of the world, whereas in others it may be seen as something that is not said in public.

Whilst this could (like moods) be implemented in a very simple form and still be great fun, it could go a lot further: Not using a title might be seen as a public snub in court, which would gain you favour from their rivals, however not bowing might be seen as far too offensive for anyone.

Hmmmm, interesting thoughts. I am going to keep calling these "dialects" for now, because I've used that name already and I don't want to confuse things, and I probably WILL add languages in the future, so I want to keep that word for use in the future. They do have fixed greetings/insults/etc though! Again, hopefully I can show those off next week; it's going to be potentially slightly amusing, as insults are based on the beliefs of the insulter, not the insult-ee; so if someone from an imperialist nation insults someone and calls them a worthless pacifist, but that person is from a very pacifistic nation, they aren't going to be too badly insulted. The titles stuff is definitely going in, though, but I'm just working out how exactly to include that...

A little birdie told me you have some interesting combat plans. It sounds like you're nearly there with your desire to weigh each other up and act accordingly so

I do! Once 0.8 is out in a month, 0.9 (also due in 2016) will add in weapons/armour for guards/soldiers/etc, and add in remaining NPCs, and then at the end of the year I'll weigh up what needs to come next. I can't promise it'll be combat, though, but we'll see how things look :).
Logged

zaimoni

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2875 on: July 20, 2016, 09:13:32 am »

I think this gets down to the fact that dialects are a little bit of a confusing thing to be simulating. Whilst I *love* the idea of learning a 'dialect' in terms of 'being able to pass yourself off as a local' - it seems strange that a world would have a common language and so many wildly different dialects (unless that's part of the puzzle?!). If this was meant to simulate a trade language, that's fair enough - but then there isn't a great deal of point learning the dialects (as if you were a native, you'd just speak the mother tongue!).
It's completely realistic.  Less than a century ago, German as spoken in far north Germany was 100% mutually unintelligible with German as spoken in far south Germany.  Also, American English, British English,and Australian English are full-blown dialects right now, that are very likely to go mutually unintelligible within the next two centuries or so.

Novel Scoops and I have been mentored by different experts (we have directly contradictory definitions of what a trade language and what a creole are, are so there is nothing to argue.)  My assumption is that linguistics and anthropology are mutually incomprehensible.
Logged

Dorsidwarf

  • Bay Watcher
  • [INTERSTELLAR]
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2876 on: July 20, 2016, 12:03:50 pm »

Quote
Insults are based on the beliefs of the insulter, not the insult-ee; so if someone from an imperialist nation insults someone and calls them a worthless pacifist, but that person is from a very pacifistic nation, they aren't going to be too badly insulted.

This makes me unreasonably pleased. I love games with little details like that.
Logged
Quote from: Rodney Ootkins
Everything is going to be alright

Aukustus

  • Bay Watcher
    • View Profile
    • The Temple of Torment Roguelike Project
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2877 on: July 20, 2016, 03:51:00 pm »

I'll be mad if the POI bar will still be shorter than the other UI bars :).
Logged

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2878 on: July 20, 2016, 07:57:08 pm »

This makes me unreasonably pleased. I love games with little details like that.

Excellent :). In many ways URR is a game of little (generated) details; I think they're so important to making a world feel real, coherent, lived-in, etc etc

I'll be mad if the POI bar will still be shorter than the other UI bars :).

Haha, don't worry, they won't be around for long anyway!
Logged

Ultima Ratio Regum

  • Bay Watcher
  • Game Studies Lecturer, "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2879 on: July 23, 2016, 05:26:13 am »

I've been commissioned to write a four-part series on qualitative procedural generation for Rock, Paper, Shotgun! Societies, practices, cultures, beliefs, and so forth, and how to integrate them into gameplay. I think one part will be going up each fortnight for the next three fortnights, but here's the first one. https://www.rockpapershotgun.com/2016/07/22/future-of-procedural-generation-1/
Logged
Pages: 1 ... 190 191 [192] 193 194 ... 221