dwarfcorp icon indicating copy to clipboard operation
dwarfcorp copied to clipboard

Design: Enable players to re-assign priority tasks easily

Open com1clyf3 opened this issue 6 years ago • 19 comments

image

Right now I can assign a very large dig task, and dwarves behave as if it's one large task. If I then assign a very small dig task, dwarves will not get to it for a good while because of the task order. Generally the reason to do these small tasks is just to get one or two specific resources that are needed for a current craft task or something.

For me it tends to be my non-main digging site, so places on the surface, but occasionally places underground as well where a resource deposit is. Maybe the easiest design would be if we can give higher priority based off of the size of the dig area, say 1 to 30 voxels.

com1clyf3 avatar May 29 '18 19:05 com1clyf3

There's only one size of dig task. Do this and users will just wonder why their big task didn't get priority.

Blecki avatar May 29 '18 19:05 Blecki

The idea would be that if there's a very small dig task the player doesn't have to wait for possibly more than an hour to dig a small area. Maybe we could just do 1 to 10 voxels and assign one dwarf to these side digs.

com1clyf3 avatar May 29 '18 19:05 com1clyf3

A "dig task" is just a single voxel. There's no notion whatsoever of them being connected. Dwarves just greedily go to the nearest dig task, so if you want a dwarf to start digging in another location, you'd select him, and right click near where he's supposed to be digging.

mklingen avatar May 29 '18 20:05 mklingen

Oh! Okay. Then that's just a matter of teaching that correctly. I'll note it in the GDD.

Closing.

com1clyf3 avatar May 29 '18 20:05 com1clyf3

So. Testing this out. The location priority is only true when the tasks are made at the exact same time. However, if I make a far away task first, then a very close task moments later, the dwarves will prioritize the further task. If I select those dwarves and command them to the closer task, they'll go to the spot, not perform the task, and then return to executing the further task.

In order to enable the player to use the location based task execution effectively, is there a way to get the task manager to disregard the order in which the tasks were originally designated or is that game breaking?

com1clyf3 avatar May 29 '18 21:05 com1clyf3

The reason right clicking doesn't work in this case is because the task has already been assigned to the dwarf.

mklingen avatar May 29 '18 21:05 mklingen

Right. But could we enable players to re-assign task by location by sending dwarves to those locations?

com1clyf3 avatar May 29 '18 22:05 com1clyf3

Perhaps right clicking should cancel the current task and reassign it to another dwarf.

mklingen avatar May 30 '18 16:05 mklingen

Hmmm. Yeah. I think that should work. Should be pretty smooth once we visualize the whole universal selector thing, so the action would be something like select dwarf(ves), hover over task area, selector shows image of nearby tasks, then player right clicks to assign.

com1clyf3 avatar May 30 '18 17:05 com1clyf3

I've just learned Rimworld works on a pretty similar design, and it works really well. Their design is technically, click on colonist, right click on relevant entity. Options display. Select option to set relevant task as priority.

com1clyf3 avatar May 31 '18 21:05 com1clyf3

To this end, I would suggest/argue that you should be able to assign default priorities for tasks of a type so you don't need to switch each task individually.

Example: I found a area containing gold and would like to assign a mining task as high priority. I would like to be able to open a task priority menu and bump mining tasks up to high and then do my mining selections.

merticois avatar Jun 06 '18 14:06 merticois

Closing for regression.

com1clyf3 avatar Jul 26 '18 16:07 com1clyf3

Wait. Never mind. This is still pretty relevant. I would say we should just add a button to the context tool that says "priority" that links to our current menu that turns off or on certain tasks for dwarves.

com1clyf3 avatar Jul 26 '18 16:07 com1clyf3

#627 This should still be done. Most players have no clue where our priority menu is.

com1clyf3 avatar Aug 23 '18 21:08 com1clyf3

We have a priority menu?

mklingen avatar Sep 02 '18 19:09 mklingen

Also it isn't possible to click voxels with the context menu anyway.

mklingen avatar Sep 02 '18 19:09 mklingen

Okay, I have added two new features to the context menu. You can now tell dwarves which tasks they're not allowed to do using the context menu. You can also set the priority of entity tasks (though not voxel tasks like digging yet)

task_priorities

mklingen avatar Sep 02 '18 21:09 mklingen

Priority menu I was referencing was the "Allowed Tasks" menu. Now that it's hooked to the universal selector, it's much more friendly.

Just add dig and other mainstream tasks to it, and it should be done and polished as far as I'm concerned.

com1clyf3 avatar Sep 05 '18 21:09 com1clyf3

Okay the problem with "dig" is that it's a voxel task, which at the moment can't be selected by the universal selector. @Blecki was thinking about ways to make that possible, but it's tricky.

mklingen avatar Sep 09 '18 20:09 mklingen