[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)