Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Workflow Expansions  (Read 547 times)

NordicNooob

  • Bay Watcher
  • *Not actually Nordic
    • View Profile
Workflow Expansions
« on: March 28, 2019, 05:36:36 pm »

Workflows are already incredible and can be used to automate so many tedious parts of the game. They're like being able to program your dwarves to do things! To help remove a little bit more tedium and greatly increase the utility of the manager, I'd love to see expanded capabilities.

Instead of just being able to manage workshop production with a simple "if you have less than x of this item and this item, do this task y times" it could encompass numerous things, like: "if an announcement of "a vile force of darkness has arrived!" happens, turn on civilian alert Active/Training and pull lever x." I'd love to see greater support for both inputs and outputs to let us automate more parts of the fortress and make cool AI kind of things with only workflow. For inputs, maybe allowing things like checking specific stockpiles or zones for items/creatures/fluids, checking if an announcement has been triggered, and checking to see if a dwarf has some medical condition (like [specific dwarf] status = stressed, do y) could be a great way to activate your outputs. The scope of outputs could be vastly improved as well: activation of macros, basic military orders, activation of burrows and levers, and things like forbidding, dumping, and melting.

Saving/loading workflows, sort of like how we can save/load macros, would be a great supplement to this system, for obvious reasons. Macro support would be tricky (what menu does the macro start in, and how does the game understand where the cursor should start at if you say, want to designate rooms when your population is high?), but it could replace the need to make support for a lot of other things that are achievable via macro. Depending on how large the array of input/output functions, it might be possible to load in a workflow/macro-based AI to play the game for you, and that'd just be cool to watch. There are some problems that would be weird, like if a workflow suddenly triggers a macro while you're in the middle of doing something, but maybe the macro could activate independently of you, akin to a second cursor, which would be a challenge in itself to work out.

Perhaps to supplement the addition of so much workflow stuff, the ability to group and toggle them would be a good idea. So if you've got a workflow that you've made, and you want to load in some massive workflow AI project from the internet, you could group your workflows together and toggle that group to be set to off. If you decide that the AI isn't doing something right and want to take matters into your own hands, you could simply toggle the group of workflows that the AI is using to stop all of the orders, and then re-activate your old workflows to do the few tedious tasks while you use your own judgement in whatever situation caused you to stop the workflow AI. The AI using workflow grouping is merely an example, and the grouping would probably be best suited to organizing and editing your workflows. So if you've got a half-dozen if statements that talk about your food management, you'd group those into one big group. If you wanted to improve your food industry, you could turn off the old workflows and set up a whole new system alongside it. If that system didn't work, your old workflow group would be right there to turn back on, and you could scrap the failed project without repercussions.

I feel like the idea of being able to fully automate your fortress and have it react to threats and changes on its own would be amazing. There's always the allure of fully automating your fort, but for less automation based setups improving workflows could still help make accomplishing simple but tedious tasks much easier. With one mid-sized update based around workflows, regular players would be able to avoid the tedious parts of fortress life,  programming fanatics could try their hand at making AI to generate their fortress stories for them, and newbies could capitalize on the accomplishments of the community to get grips on how to play.

This might not be the direction that fortress management will take, but I would like to see at least some of the features of expanding workflows over to announcements and zones as well as doing a few non-workshop tasks (most specifically, pulling levers). I don't think dwarf fortress is headed to full automation, but I do think it would be really cool to see stories made just by a game creating a procedurally generated world and then making a fortress in that world, all by itself.
Logged