[HN Gopher] Secret Identities in Dwarf Fortress (2017)
___________________________________________________________________
Secret Identities in Dwarf Fortress (2017)
Author : Tomte
Score : 45 points
Date : 2023-07-30 12:00 UTC (1 days ago)
(HTM) web link (ojs.aaai.org)
(TXT) w3m dump (ojs.aaai.org)
| 7373737373 wrote:
| I wish there was a more technical explanation on how the various
| Dwarf Fortress algorithms work. The major thing I still can't
| wrap my head around yet is how the dwarves/NPCs schedule tasks
| and balance that with their needs.
|
| Somewhere I saw a blog post about Prison Architect, a game
| inspired by and with similar mechanics to Dwarf Fortress, that
| described one aspect of the task system:
|
| Instead of giving NPCs task lists, tasks are assigned to objects
| - say, a door that is not installed yet. The door would contain
| the instructions: "(1) move me to location [x,y] (2) install me
| at my current location", and idle NPCs would lookup objects with
| fitting tasks to their abilities/priorities and then execute the
| instructions.
|
| But how to combine this with needs is unclear to me, I would love
| to see a good explanation of this. Here is the insane list of
| needs a Prison Architect NPC has:
| https://github.com/originalfoo/Prison-Architect-API/blob/mas...,
| and Prison Architect, while already displaying emergent behavior,
| seems to still only have a fraction of the detail and complexity
| and emergence that Dwarf Fortress has.
|
| All the hype is about neural networks now, but these don't
| display this kind of emergent, social and constructive behavior,
| resource awareness and https://en.wikipedia.org/wiki/Homeostasis
| that these NPCs can.
| hinkley wrote:
| At this point I think some transparency would be good. One of
| the complaints about the game is how as time goes on the
| simulation gets more and more detailed and eventually the game
| just grinds to a halt.
|
| A little more visibility into how all of this stuff works, and
| someone might be able to suggest that there's an algorithm that
| does this or that bit with a much lower order of complexity. A
| few of those and you can let a game run maybe twice as long.
| minsc_and_boo wrote:
| If it's any consolation, a big CPU suck is friend-or-foe
| checks being done by characters on everyone in sight, in
| every tick. That came out last year-ish and making smaller
| taverns can (slightly) improve processing.
| treeman79 wrote:
| Might be more fun to only check so often ir somewhat random
| ally. Human nature often it takes a moment to realize
| something is off.
|
| Bear walks into tavern. Some panic, others are slower to
| react / notice. A very drunk dwarf might never notice, or
| offer a beer to the bear.
| polytely wrote:
| for more behind the scenes stuff on Dwarf Fortress I recommend
| listening to the occasional 'bay12 talks' podcast episodes
| hosted by BlindIRL (long time dwarf fortress streamer) he
| periodically talks with Tarn, and more recently Putnam
| (longtime modder and first external programmer on DF) about the
| state of the game and asks them player questions.
|
| https://youtu.be/BY4jwUuvy4E
| coumbaya wrote:
| I don't know if this is this specific system in DF, but there
| is a recent video by Game Makers toolkit explaining The Sims AI
| which is kinda similar regarding objetcs and needs, pretty
| interesting https://youtu.be/9gf2MT-IOsg
| 7373737373 wrote:
| Thank you! This makes me wonder why there is no open source
| implementation of/framework for such a mechanic (or why i
| haven't heard of one) yet - it seems to be the (potential)
| basis of many games - one other popular game using it is
| Rimworld.
|
| Also, why games like Minecraft have not long implemented such
| smart and interesting NPCs yet!
| [deleted]
| RugnirViking wrote:
| there is a menu in the game where you can see all the tasks
| that are scheduled in the queue including stuff like "wash
| self" and "replace clothing", with targets and who is currently
| assigned. I believe personal tasks like "have a mental
| breakdown" are spawned already assigned and locked in to the
| dwarf they are relevant to. iirc its the (j)obs manager, the
| same place you assign automated orders like making more
| beds/beer if the stockpile ever has less than 4 etc
___________________________________________________________________
(page generated 2023-07-31 23:00 UTC)