Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 177 178 [179] 180 181 ... 222

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

Retropunch

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2670 on: September 21, 2015, 02:27:09 am »

Hmm...  I can see the advantages of using time as a hard limit, but personally I prefer games without hard time limits, since sometimes it can be fun to just enjoy yourself and explore, which is hard to really get into when you know the game will end if you spend too long mucking around.  It encourages the player to try and optimize absolutely everything, which can be good for balance and can make for easier game-design, but which I don't think is actually very fun.  I would suggest a softer limit where wasting time makes the game more difficult in some way (causing you to lose the trail or something in some abstract way), up to a certain maximum where you're totally off-task and will have to work hard to get back on-task but aren't penalized for just spending forever exploring some random ruin if that's what floats your boat.

That way, there would be time pressure when the player is actively pursuing their main goal, but they'd also be free to approach the game in other ways if they want.

I completely agree in principle (and I usually HATE time limits), although URR is one of the few that I'm willing to make an exception with. Not being able to explore absolutely everything will make you prioritise where you go, which I believe will definitely have the effect of giving a lot more strategy and re-playability - want to explore the great desert fortress of Ba'Nak? well then you can't see the swamp city of Urhal. Want to go to the coastal slave town of Lila? Well then you can't make it to the frozen encampment of Al-surway shamans.

However, I'd hate to feel rushed on a micro level. I assume that the game time is years, so spending three or four in game days wandering around a ruin probably wouldn't make much of a difference. I imagine it's only really for long trips (that would take weeks/months) where there's a time limit. Furthermore, I completely agree that the time limit should be soft. If there's a hard time limit of exactly 15 months or something, you're always going to have to have that hanging over your head and the player will try to optimise everything possible to squeeze some more time in. If the game just gradually ramps up in difficulty/other things happen, that'd be fine.

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

Ultima Ratio Regum

  • Bay Watcher
  • Games academic and "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2671 on: September 27, 2015, 09:53:42 am »

Hmm...  I can see the advantages of using time as a hard limit, but personally I prefer games without hard time limits, since sometimes it can be fun to just enjoy yourself and explore, which is hard to really get into when you know the game will end if you spend too long mucking around.  It encourages the player to try and optimize absolutely everything, which can be good for balance and can make for easier game-design, but which I don't think is actually very fun.  I would suggest a softer limit where wasting time makes the game more difficult in some way (causing you to lose the trail or something in some abstract way), up to a certain maximum where you're totally off-task and will have to work hard to get back on-task but aren't penalized for just spending forever exploring some random ruin if that's what floats your boat.

That way, there would be time pressure when the player is actively pursuing their main goal, but they'd also be free to approach the game in other ways if they want.

Interesting thoughts (though I've posted before about the tension I want to get between the excitement/interest of exploration and the knowledge that you can never explore anything) - however, I am certainly thinking about the possibilities of flexible time limit(s) which are/can be extended or reduced based on the player's actions (i.e. more like a standard food clock, and less like the "age clock" in ADOM, for instance).

I completely agree in principle (and I usually HATE time limits), although URR is one of the few that I'm willing to make an exception with. Not being able to explore absolutely everything will make you prioritise where you go, which I believe will definitely have the effect of giving a lot more strategy and re-playability - want to explore the great desert fortress of Ba'Nak? well then you can't see the swamp city of Urhal. Want to go to the coastal slave town of Lila? Well then you can't make it to the frozen encampment of Al-surway shamans.

However, I'd hate to feel rushed on a micro level. I assume that the game time is years, so spending three or four in game days wandering around a ruin probably wouldn't make much of a difference. I imagine it's only really for long trips (that would take weeks/months) where there's a time limit. Furthermore, I completely agree that the time limit should be soft. If there's a hard time limit of exactly 15 months or something, you're always going to have to have that hanging over your head and the player will try to optimise everything possible to squeeze some more time in. If the game just gradually ramps up in difficulty/other things happen, that'd be fine.

Your first paragraph - exactly. Second paragraph: agreed, hence my previous comment that I think the time limit needs to be shiftable based on your actions, and stricter on a macro than micro level, though how exactly this will play out is still something I need to calculate precisely. I'm thinking about it! Though at the moment (as the top of this week's blog post which I'll upload below this reply notes) most of my thoughts at the moment are going into world-scale NPC tracking at the moment...

---------

Normal service will be resuming next week: I’ve moved house, settled in, and started planning out the final push on NPCs, which is to say tracking all the important NPCs as they move around the map – a process which has required me to do a lot of thinking about how to code it before actually getting started (this will turn into what it is effectively a Travelling Salesman problem where the time values at certain points are unknown, which I’ll write about here in the next few weeks). Anyway, here’s a post I wrote a little while ago with some of my thoughts on the future of the Encyclopedia; next week we’ll have an URRpdate as usual.

---------

I’ve decided to remove the Encyclopedia from URR because I increasingly feel/fear it is going to end up doing the player’s “job” for them, and because my original conception of how the Encyclopedia is/was going to work is clearly going to be a programming nightmare.

Let me explain my logic. Right now, the Encyclopedia gives the player a full overview of everything in the world, though that’s only because the game is obviously not replete with gameplay as of yet. The intention was to – either this version, or more likely the version afterwards – fundamentally change the Encyclopedia so that it only starts off with information about your nation, religion, culture, histories, etc, whilst the others remain unknown. Then, each time you uncover a little nugget of information on your quest, the Encyclopedia would update itself. So when you first discovered the name of a nation, it would add in an entry for that nation, but all the information about that nation would be displayed as “????”s (or maybe just blank regions where text could be inserted) until you found those out, and then it would be added. Equally, were you to discover some piece of information that was meaningful, but you didn’t know which nation/religion/whatever it was associated with, there would perhaps be another list of entries in the Encyclopedia without names, noting that *some nation* somewhere has a given flag, but you don’t know which nation. When the player then encountered irrefutable evidence that Flag X belonged to Nation Y, the Encyclopedia would then “conflate” these two entries into a single entry, associating Flag X with Nation Y for ever more.



However, as in the first paragraph of this entry, I increasingly realize that there are some pretty major issue with this type of system. Firstly… surely this is doing the player’s job for them? Surely if the focus of the game is uncovering these cultures and how they interact and searching for the items you seek in the maze of heresies and histories and all the rest of it… surely we should be leaving these connections to the player, and getting the player to come to recognize the nations and cultures they encounter? I fear now that codifying this type of information in the Encyclopedia will run into several major issues. Firstly, it’ll “force” the player (or at least behaviourally strongly encourage) into constantly opening the Encyclopedia to check things, rather than remembering “ah yes, this is Nation X, I encountered some of their emissaries before”. Secondly, the player might not actually notice a useful bit of information, but if the Encyclopedia then updates, it tells the player that piece of information is useful! It seems to me this second one presents a major issue. Thirdly, there’s a question of what information the Encyclopedia should show. To stick with the nation example, should it show the national flag? The national dress? The national style of shoe? What vases in that nation look like? There has to be a line drawn somewhere, because if you want the Encyclopedia to potentially list everything about a given nation, you risk basically reproducing everything about that nation and leaving nothing in the actual game.

So, those are the gameplay issues. There is also a programming issue, which is that I increasingly realize this type of tracking – and perhaps most imporantly, getting the game to notice when a useful piece of information has been “seen” and then updating the appropriate Encyclopedia page – is (or would have been) a horrifying nightmare. This is a secondly concern to the gameplay, of course – if I still thought this was a good method I would certainly have done it – but it still matters somewhat.



What’s the alternative? Well, I think I’ll keep the Encyclopedia in for 0.8 and probably 0.9. Whilst the world is “open”, I think it only enhances the game to be able to see everything at the start and give new players some impression of the size/scale/scope/variation of the planet and the variation of its cultures. However, a little further down the line – shall we say 0.10? – I’m now 99% sure that I’m going to remove it permanently, and rely two things. Firstly, the player’s ability to become familiar with the interconnected world they find themselves in; and secondly, crucially, an alternative to the Encyclopedia (maybe a “Journal” or something of that sort) which records every piece of information the player character sees/hears/experiences, but not the significance of it. With this model you can once more view/read everything of note you have ever looked at/seen, but it doesn’t tell you *what does/doesn't matter.* So once you’ve read a book, you can forever “look up” the information in that book (so it basically as if the player character has an eidetic memory). Therefore, this will be a replacement Encyclopedia where you browse “books”, “clothes”, “paintings”, and the like, but you do not browse information about “nations”, “religions”, “cultures”, since that’s what you’re piecing together. Equally, I'll also work on a system whereby the player can "tag" certain items in their viewed history as things they think are relating to a particular riddle, and then browse according to tags and assess the data they have and what else might fit into that category.

Therefore: the Encyclopedia will survive 0.8 and 0.9, and then be replaced by this new version which records player character experience but leaves understanding up to the player – which is surely the whole point of the idea of the game and the riddle(s) hidden across the world’s cultures! For now, however, the Encyclopedia will remain to assist players as we go through the worldbuilding -> gameplay transition in looking around the world, getting some grasp on its detail/complexity, etc. See you all next week for the resumption of normal service!
« Last Edit: September 27, 2015, 10:23:39 am by Ultima Ratio Regum »
Logged

Retropunch

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2672 on: September 27, 2015, 11:35:36 am »

Very interesting post! (please use spoilers for images though!!!!)

I'm a bit unsure about it though - I feel that there might be far too much information for any casual player to process. Whilst having to piece things together is fun, information overload is not. As you've said, you don't want the player to be endlessly staring at the encyclopaedia - but I worry that having just long lists of all the things you've seen would cause even MORE of that. Take a look at the list of houses or gods - that's far more than anyone could be expected to remember, and having the information any more diffuse than that would just be impossible to process.

I'd suggest that you allow the player to piece things together themselves in the journal. So lets say that every time you discovered a new nation, it'd add an entry to the encyclopaedia - after that, you can fill in what the flag is/leaders are and so on from a list of all the things you've seen/heard/found that relate to that nation. So it'd be like how it is now, but the player would be in charge of putting things together. I'd combine this with major things/people being added automatically to the correct place.

To be honest though, I still think that'll be far too tedious for the player. I completely get that it's the whole point of the game is for the player to work things out, but you want the player to have easy access to the information they need to do the working out.

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

Piotrhabera

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2673 on: September 27, 2015, 02:22:32 pm »

Checked the last updates, and I have a few questions about game mechanics
1: If I am a noble, what family I'd be a member of? Minor or major?
2: Does ppl recognize my noble title and show me respect?
3: Do I am able to create my char or everything be put into random generator?
4: Are there chances I may spawn already married/engaged to someone?
5: Will be there a possibility that I may have old wounds or physical changes due to events?
6: Will I attain scars?
7: Will I be able to woo someone and marry that person?
8: Will I start with a weapon?
9: Can I own ships, shops, disctrics and everything that generates $$$?
10: Will alchemy exist and if yes then where I can find known formulae?
11: Can I follow more than 1 religion?
12: Am I able tomarry more than 1 person?
13: Can I make weapons and armour and if yes then where I can find known styles?
14: Will be there a skill system?
15: Will be more things on worldmap that it is atm?
16: Will be there a possibility to observe the sky and see planets?
17: Will astrology exists and if yes then where I can find known info about planets?
18: Will be there a visual representation of wounds?
That's all! Thanks!
(sorry for flooding with questions)
Logged

Piotrhabera

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2674 on: September 28, 2015, 10:04:10 am »

CLARIFICATION TO QUESTION 5: I meant old wounds and scars when i create my char, not during gameplay
Logged

Scoops Novel

  • Bay Watcher
  • Talismanic
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2675 on: September 30, 2015, 04:24:20 am »

Reading in-game, opinionated tomes DF style sounds cooler to me then perusing your stacks of flash cards.

It makes sense that you'd have some minor, biased preconceptions before you go to a region. I would rather have the game correct what is blatantly wrong, and let the player evaluate and pencil in the margins the rest for themselves.

In a game all about the flexibility of record-keeping, i feel it would be a shame to miss out on book burning, of those self-same treatises - but leaving your notes intact.

That way, players nursing conspiracies will be left blinking in the sun, and be forced to see if their theories hold up in the light of day- or if you're playing by ear, decision time as to whether you'll go purely by feel or actually it's time to start scheming.

Sometimes you don't want notes, and it's glass-shattering to be in the middle of a promising encounter and start trawling through your pocket travel guide (unless you actually do this in game, with modifiers).

Tattoos. Need i say more? Next, oral records. Ask an NPC! Third, "memories". The more exhilarating the encounter, the less you recall and the longer it takes. It would include fragments of the notes you've most recently made, details relating to your environment and some pretty random stuff.

The recall mechanic could be hilarious, and make for interesting choices. Should i smell the flowers to remember which one is poisonous, or try to stealthily rummage through my backpack for my scroll on herbalism?

Options such as "illiterate", "dyslexic", "Amnesiac", or making your notes vulnerable and Heavy could be fun no?

Man i should be in the credits
« Last Edit: September 30, 2015, 04:26:39 am by Novel Scoops »
Logged
Reading a thinner book

Arcjolt (useful) Chilly The Endoplasm Jiggles

Hums with potential    a flying minotaur

puke

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2676 on: September 30, 2015, 12:58:34 pm »

Some thoughts on travel:

One game that handled travel very well, was The Magic Candle.  You could go overland, but if you wanted to get somewhere faster or reach another landmass, you had to talk to captains in port towns and book passage with someone willing to go in that direction.

An count-down timer on the main quest kept you at a shortage of time, so optimizing travel was fairly important.

I understand that you are talking mostly about overland travel here, so the travel modes might be by foot, horse, carriage, or caravan.

Foot and horse is a simple upgrade proposition, trading time for money.  A carriage might allow you to travel quickly with some more carriage capacity, or with persons who may not be skilled riders.

But you are mostly talking about caravan travel, so why would that be better than just hoofing it? 

Safety, sure.  But in a combatless or combat light game? 

Perhaps the dangers of the road could be represented in Oregon Trail style events.  Things that slow you down, impair you, or cause you loss could pop up as weighted random events.  They could be mitigated by traveling in a large group, such as a caravan, with professional cooks and teamsters and such.

Maybe also secrecy is a currency, like time and money.  It may be easier to arrive somewhere undetected if you come in with a caravan, than if you show up as a lone traveler or even as a traveler on a hired coach.
Logged

Ultima Ratio Regum

  • Bay Watcher
  • Games academic and "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2677 on: October 02, 2015, 02:13:46 pm »

Very interesting post! (please use spoilers for images though!!!!)

Blaarhrhgrjghjgrtjbhkjhjkghkrjgnreoijgdoim

I'm a bit unsure about it though - I feel that there might be far too much information for any casual player to process. Whilst having to piece things together is fun, information overload is not. As you've said, you don't want the player to be endlessly staring at the encyclopaedia - but I worry that having just long lists of all the things you've seen would cause even MORE of that. Take a look at the list of houses or gods - that's far more than anyone could be expected to remember, and having the information any more diffuse than that would just be impossible to process.

Excellent point which merits a few replies. Firstly, I actually think religions/houses are very different; as it stands right now, religions have *massive* variation and houses basically only vary in their coats of arms and there aren't any other identifiers. I would actually feel very confident in the player getting to know religions - I've come to do so by accident in some saved games I load/save often to test some new feature - and I would think this would be even more the case with actual play. Secondly, since information will at least be labeled by type - "this is an altar", "this is a painting", etc, I honestly don't think it'll result in that kind of overload, especially as you move around the world map slowly-ish, won't see everything in a single playthrough, etc. I know of course I say "we'll just have to playtest it" a lot, but I honestly think this will work fine, though as below, I think allowing you to CREATE encyclopedia-style entries might not be a bad idea.


I'd suggest that you allow the player to piece things together themselves in the journal. So lets say that every time you discovered a new nation, it'd add an entry to the encyclopaedia - after that, you can fill in what the flag is/leaders are and so on from a list of all the things you've seen/heard/found that relate to that nation. So it'd be like how it is now, but the player would be in charge of putting things together. I'd combine this with major things/people being added automatically to the correct place.

To be honest though, I still think that'll be far too tedious for the player. I completely get that it's the whole point of the game is for the player to work things out, but you want the player to have easy access to the information they need to do the working out.

Mmmm. I... sort of agree with that. Sort of. Perhaps you can "construct" entries on particular things like nations, religions, families, and add/remove components which you think are related to the same thing? That might be a good compromise!


Replies in bold...

Checked the last updates, and I have a few questions about game mechanics
1: If I am a noble, what family I'd be a member of? Minor or major? Minor - never a ruling family.
2: Does ppl recognize my noble title and show me respect? In your home nation, certainly; elsewhere, less likely.
3: Do I am able to create my char or everything be put into random generator? Currently you choose nation, but I'm strongly leaning towards doing away with even that and have the game pick what it thinks is the most "interesting" nation to start; you can choose f/m, but otherwise nothing. Probably.
4: Are there chances I may spawn already married/engaged to someone? Nope.
5: Will be there a possibility that I may have old wounds or physical changes due to events? Probably!
6: Will I attain scars? Probably!
7: Will I be able to woo someone and marry that person? Nope.
8: Will I start with a weapon? Not sure! Depends how combat makes it in, if it does.
9: Can I own ships, shops, disctrics and everything that generates $$$? Interesting question; answer for now is "probably".
10: Will alchemy exist and if yes then where I can find known formulae? Nope!
11: Can I follow more than 1 religion? I'm currently thinking that the player character can appear to follow as many as they want; the gods are not "real", in the NetHack/DCSS sense of physically affecting the world, so the player character can follow any religions they want... though obviously Religion A finding out you secretly worship Religion B who they hate might not take it well.
12: Am I able tomarry more than 1 person? See above!
13: Can I make weapons and armour and if yes then where I can find known styles? Hmm... not sure.
14: Will be there a skill system? Naaa.
15: Will be more things on worldmap that it is atm? The map is pretty busy already! Monasteries are appearing this release, but that'll probably be it, aside from caravan routes through deserts and mountain passes through mountains in 0.9.
16: Will be there a possibility to observe the sky and see planets? Possibly! I've been thinking about this. Could be a bit of nice detail.
17: Will astrology exists and if yes then where I can find known info about planets? Exist in the sense of "have gameplay effect"? No. Exist in the sense of "some NPCs believe it"? Probably!
18: Will be there a visual representation of wounds? Hopefully.
That's all! Thanks!
(sorry for flooding with questions) No problem!

Reading in-game, opinionated tomes DF style sounds cooler to me then perusing your stacks of flash cards.

It makes sense that you'd have some minor, biased preconceptions before you go to a region. I would rather have the game correct what is blatantly wrong, and let the player evaluate and pencil in the margins the rest for themselves.

In a game all about the flexibility of record-keeping, i feel it would be a shame to miss out on book burning, of those self-same treatises - but leaving your notes intact.

That way, players nursing conspiracies will be left blinking in the sun, and be forced to see if their theories hold up in the light of day- or if you're playing by ear, decision time as to whether you'll go purely by feel or actually it's time to start scheming.

Sometimes you don't want notes, and it's glass-shattering to be in the middle of a promising encounter and start trawling through your pocket travel guide (unless you actually do this in game, with modifiers).

Tattoos. Need i say more? Next, oral records. Ask an NPC! Third, "memories". The more exhilarating the encounter, the less you recall and the longer it takes. It would include fragments of the notes you've most recently made, details relating to your environment and some pretty random stuff.

The recall mechanic could be hilarious, and make for interesting choices. Should i smell the flowers to remember which one is poisonous, or try to stealthily rummage through my backpack for my scroll on herbalism?

Options such as "illiterate", "dyslexic", "Amnesiac", or making your notes vulnerable and Heavy could be fun no?

Man i should be in the credits

Flash cards - excellent way to put it. That phrase actually sums up rather nicely my problems with the current system.

So basically you're thinking about an actual recall MECHANIC? Some limitation to what can be recalled, what situations, how things are recalled, etc? The fundamental problem with this is that it'll just encourage the player to write things down external to the game, and although I have nothing against games which do that, I don't think I want to reach that point - I'd rather have the game preserve player information. But if it doesn't preserve everything, or things are not easily accessible, people will realize that the "optimal" play is to put things down outside the game. That's the fundamental problem - I *do* like the ideas you've listed, but I'm just not sure how to overcome the pen-and-paper issue...
Logged

Aquillion

  • Bay Watcher
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2678 on: October 02, 2015, 02:21:21 pm »

I think that, since making these connections and inferences is core to the game, you should try to 'gamify' them somehow -- to make it so the player is eager to find them and input them, to give them a feel of immediate reward for discovering them.

Maybe some sort of mechanic where you can build inferences in-game bit by bit, then hit some sort of button to 'confirm' them and get a reward if they're accurate, but penalized if they're wrong (like Phoenix Wright and games of that nature.)  Obviously this might feel a bit too game-y if done wrong (who is confirming it?)  But it would solve several problems at once -- it'd give the player a reason to input things through the game, it'd create a feedback loop to encourage players to focus on the main game mechanic, and it'd give players a reliable and easy-to-consult database of "confirmed" facts while avoiding making it automatic or too easy for them to fill out.

The reward / penalty could affect the time limit.  Perhaps in order to confirm journal entries, the player has to speak with important people relevant to that entry -- so you have a conversation with the local Bishop or whatever, and if you have all your information about their religion in order, it's confirmed and they help you in a way that advances your overall quest; whereas if you screwed up, you waste time, risk offending them, and get a penalty.

Although this makes the game start to feel like a fantasy-world Where In The World is Carmen Sandiego.
Logged
We don't want another cheap fantasy universe, we want a cheap fantasy universe generator. --Toady One

Ultima Ratio Regum

  • Bay Watcher
  • Games academic and "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2679 on: October 02, 2015, 02:56:30 pm »

I think that, since making these connections and inferences is core to the game, you should try to 'gamify' them somehow -- to make it so the player is eager to find them and input them, to give them a feel of immediate reward for discovering them.

What an interesting idea - I don't think I'd have thought of that. Hmmmm. You've suggested some rather interesting mechanics too. I will give that one some serious thought!
Logged

Scoops Novel

  • Bay Watcher
  • Talismanic
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2680 on: October 02, 2015, 03:28:38 pm »

Look at it as a iron man mode. Players who want an Eidetic memory can have one, and the RP heavy demographic can have this.
Logged
Reading a thinner book

Arcjolt (useful) Chilly The Endoplasm Jiggles

Hums with potential    a flying minotaur

Ultima Ratio Regum

  • Bay Watcher
  • Games academic and "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2681 on: October 04, 2015, 03:12:33 am »

Look at it as a iron man mode. Players who want an Eidetic memory can have one, and the RP heavy demographic can have this.

Hmmm... I'll consider it!
Logged

Scoops Novel

  • Bay Watcher
  • Talismanic
    • View Profile
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2682 on: October 04, 2015, 03:24:57 am »

 :D
Logged
Reading a thinner book

Arcjolt (useful) Chilly The Endoplasm Jiggles

Hums with potential    a flying minotaur

Ultima Ratio Regum

  • Bay Watcher
  • Games academic and "Ultima Ratio Regum" person
    • View Profile
    • Ultima Ratio Regum
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2683 on: October 04, 2015, 04:49:43 am »

I’ve planned out how important NPCs are going to be handled, and starting tomorrow (Monday) I’ll be working on this. If all goes well… I would expect this to take a week to get all the basics going, but then some of the activities for more complex NPCs (so rulers have to find their way back to their bedrooms in castles, for instance) might take a little longer. I know I rarely write technical entries, but here’s a rare semi-technical entry about how exactly I’m designing the NPC system. Enjoy!

1) The game looks over the entire world and identifies every location where a guard should appear. This means it counts up the number of guard-worthy buildings in each city centre (mints, parliaments, etc), in upper-class districts (currently always three major families, but I do intend to change that in the near future), and stores each guard in a list. It then also looks for an appropriate place for that guard to live – if we’re in a fortress, the guard will be stored in the same map grid (i.e. the fortress) and if we’re in a city the guard will almost certainly live in a nearby lower/middle-class district. Either way, it also stores where these guards should spawn. For non-guards the game assess how many other important people should be appearing on each tile based on the ideologies/religions/etc of each area (so we’ll have ambassadors, blacksmiths, chieftains, doctors, executioners, gladiators, inquisitors, judges, monarchs, lords, ministers, officers, other nobles, regents, abbots, archivists and mercenaries). For now they cannot spawn in the middle of what I’m calling a SCHEDULE event (see below) as this would quickly increase the complexity, but I don’t think this will be an issue, since the world will be vast enough that 99.9% of important NPCs will have begun doing things by the time you ever get to see them.

2) There is now a new dictionary called abstract_creatures, who are the important creatures (I assume only people, but I’ve named it “creatures” in case there are… I don’t know, noteworthy mounts or something later?), which all of these people are put into. For each guard it places a guard in their guarding area, a guard in the district/place they would live, and then has them both schedule a time at which they cross over. For everyone else it just places them in an appropriate starting location. Whenever one of these people takes a turn, it’ll look into this list (instead of the grid-specific lists) to get the person – and as for when it does this, we then look at the kinds of event I’m creating for these abstracted-out people.

3) The game then generates two kinds of “event” for the schedules of these guards, and for all important NPCs – what I’m calling “TIME events” and “SCHEDULE” events. TIME events are those which happen at the same *time* every day – get up, go and guard the thing, stop guarding the thing once the other guard appears, return home, etc. For those in governments it’ll involve going to the appropriate buildings, for rulers it means holding councils, for gladiators going to the arena and fighting and hopefully-not-dying, etc. Then they will sometimes gain SCHEDULE events, which are one-off occurrences: talk to this diplomat, check this town out for heresy, meet secretly at this location on this date, etc. The game will track whether an important NPC is going a TIME or SCHEDULE event, and if a SCHEDULE event, it will ignore all TIME events until there are no more SCHEDULE events to complete, at which point the NPC will look at the next TIME event it would normally have, do that, and from that point onwards behave within its normal list of TIME events.

4) The NPCs use the time “quantum scheduling” system previously described, and when they are heading towards a target in a grid which has not yet been spawned, they assume the highest possible time it would take them to reach it were it spawned – so if there’s a building that could spawn anywhere, we assume it takes 200 ticks to reach it (all grids are 200×200) – if it could only spawn in the left-most side of that grid and the NPC will be approaching from the left, we assume it will take 100 ticks to reach it, etc. After the grid is spawned, the game will actually create a list of all possible timings from each gate leading into that grid to each important location on that grid; this can never be exhaustive for non-city areas or for houses (as there are simply too many), but for NPCs moving to important doors (of which there might be a dozen) from one of four city gates, one can readily see it’s the work of a moment to have the same calculate those and store them for future use after the player leaves that grid and the grid becomes abstracted once more.

5) What then happens if the player steps onto a grid with these abstract people, or leaves a grid on which there exist people who need to be abstracted? Well, this (obviously) is the tricky part, and something I know Dwarf Fortress found challenging to program, and now I’m at this point myself I see why. If you step on and there are abstract NPCs, it will have them “rewind” to the start of their most recent action, generate/reload the map, and then have them play out that action physically. This will mean creating quite a static list of “Actions” and “What This Looks Like On A Spawned Map”, but that shouldn’t be a problem (creating rigid lists is often much simpler, if more time-consuming, than writing PCG!). When the player then leaves, the game will then track how far through their latest action each NPC was, and schedule their next action for either the standard time (if a long way off) or the shortest possible length of time it would take that NPC to start doing that action when moving on the spawned map… and then save the map and do everything else as normal.

6) This means – I think – that NPCs will never wind up doing anything faster than they possibly could if they were “walking it” on an actually present map, but they will sometimes do things slower, but this is simply unavoidable without spawning every single grid at the start of the game (in this regard this is vaguely akin to a Traveling Salesman problem where the travel-length value at each vertex is unknown and/or changeable based on the actions of an external actor). This means that whether or not a particular area has yet been spawned or not, the player will be able to track with great accuracy the movements of important NPCs, and guards will change their shifts irrespective of player actions, and so forth.

I’ll be starting coding this tomorrow. I’ll start with guards since I already have most of their code, and then once I’ve checked that I’ve got them going from their guarding place to their homes and vice versa at appropriate times, and changing over their watches, I’ll move onto the more complicated important NPCs who move between more districts, might move between cities, etc, and we’ll see how it goes. An update on important NPC progress will therefore be next week’s blog post – see you all then!
Logged

WordsandChaos

  • Bay Watcher
    • View Profile
    • Words and Chaos blog
Re: Ultima Ratio Regum - roguelike/Borges/Eco, v0.7 released!
« Reply #2684 on: October 04, 2015, 10:39:21 am »

Interesting. So, does that leave the possibility for absences in something like Guard duty?
IE: If Guard A is due to replace Guard B at 9AM, but has a meeting with a lover/conspirator/whatever at that time, it should override that guard's change over time, right. So he will go to his event, be there at 9. At 9, Guard B's shift ends: does he leave, or extend his shift until guard A arrives? If you wanted to get into a place, it would be interesting to be able to take advantage of a temporary absence of guard, for whatever purpose, between the time Guard B walks away to get some sleep, and Guard A arrives from their scheduled event. 
Pages: 1 ... 177 178 [179] 180 181 ... 222