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