Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: Job importance  (Read 900 times)

Ememel

  • Escaped Lunatic
    • View Profile
    • http://n/a
Job importance
« on: August 01, 2007, 06:18:00 am »

I would very much like to be able to tell individual dwarves what work they should do, what work they can do, and what work they shouldn't do at all. A system where each post in the [p]referances - [l]abor could be set from 1(black) to 5(white) where the highest available job is taken, or maybe, with less chance, the next highest.

This would be perfect for such dwarves as the butchering Butcher, who can haul whenever no fresh dead animal is nearby, the tanner.

All haulers could be set to haul food before anything else, thus minimizing rotten newly bought food at the trade depot. Fisherdwarves could be set to clean fish whenever possible. Farmers could do other (less important) jobs at winter. The list goes on.

Another, related topic is that of what tree goes down and where do the miners dig. I often want to dig out small rooms and my miners are set to only mine. The consequence is that they afterwards get no job-lazy. The ability to say: "This area should be dug out asap, and that whenever no more important work is available."

Logged

Haedrian

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #1 on: August 01, 2007, 06:46:00 am »

this is very very much needed...
Logged
When life gives you kittens, make biscuits

Likes llamas for their long necks

Shades

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #2 on: August 01, 2007, 09:10:00 am »

Yes some form of Job Priority for a dwarf (preferably one that could be copied with LabourDF, god that tool is useful) would be very very nice, either that or a way to specify globally which job is important, or a combination of both.

However this could cause issues with hauling because if I understand correctly a hauling task is created for each dwarf that has it on their job list, and if you used lots of haulers on low priority you could end up with things not moved. I'm sure that could be fixed as well though.

Logged
Its like playing god with sentient legos. - They Got Leader
[Dwarf Fortress] plays like a dizzyingly complex hybrid of Dungeon Keeper and The Sims, if all your little people were manic-depressive alcoholics. - tv tropes
You don't use science to show that you're right, you use science to become right. - xkcd

Axehilt_VuP

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #3 on: August 01, 2007, 09:26:00 am »

I think it might be a bad idea design-wise to implement priorities for every single individual dwarf.  It's already a lot of management to deal with setting individual dwarf job options - to add priorities as a layer of complexity on top of that would make it somewhat nightmarish.

If priorities were added it would have to be in conjunction with the Labor Groups suggestion from another thread.  That way at least you're setting the priorities for groups of dwarves at a time.

Labor groups could also just innately have improved AI (for example 3 carpentry dwarves might automatically assign one dwarf to chopping, one to hauling, and one to carpentry.)  In that sort of situation, the need for prioritizing jobs is diminished quite a bit - perhaps making priorities a non-issue.

Logged

Tormy

  • Bay Watcher
  • I shall not pass?
    • View Profile
Re: Job importance
« Reply #4 on: August 01, 2007, 10:05:00 am »

quote:
Originally posted by Axehilt_VuP:
<STRONG>I think it might be a bad idea design-wise to implement priorities for every single individual dwarf.  It's already a lot of management to deal with setting individual dwarf job options - to add priorities as a layer of complexity on top of that would make it somewhat nightmarish.
</STRONG>


Nothing would be complex and nightmarish with a decent UI.
The OP's idea is very good actually.

 :)

Logged

Axehilt_VuP

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #5 on: August 01, 2007, 11:40:00 am »

quote:
Originally posted by Tormy:
<STRONG>Nothing would be complex and nightmarish with a decent UI.
The OP's idea is very good actually.

  :)</STRONG>


But this idea adds complexity without really making the gameplay deeper.  That's bad.

You have to admit it'd be a better fix to improve the situation with labor groups which utilize a group AI of some sort to handle which dwarf does which task.  This would almost totally reduce the need for prioritizing individual tasks manually.

I suppose when it comes right down to it I'm agreeing with you:  this complexity could be addressed by better UI.  Better UI in the form of Labor Groups which include improved group AI to auto-prioritize tasks.

Logged

Boogey

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #6 on: August 02, 2007, 01:54:00 pm »

As any settler fan knows, ability to assign priorities (in settlers it was hauling, but why not set overall priorities for jobs which apply to ALL dwarfs when choosing what to do) can make a big difference in efficiency of your settlement/fortress.

As an example, it would be awesome to be able to keep your farmers also as stone haulers, as during winter they would automaticly be hauling stones as there wouldn't be more important tasks (such as farming) available.

And it's not really even hard to implement.

Logged

Stregone

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #7 on: August 02, 2007, 05:39:00 pm »

This would be so handy. Its a tedious pain in the neck to go around adding jobs to my farmers in the winter, or my always giant legion of miners when there is no mining to be done. And then removing them later.
Logged

Fieari

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #8 on: August 02, 2007, 08:06:00 pm »

quote:
Originally posted by Boogey:
<STRONG>As any settler fan knows, ability to assign priorities (in settlers it was hauling, but why not set overall priorities for jobs which apply to ALL dwarfs when choosing what to do) can make a big difference in efficiency of your settlement/fortress.

As an example, it would be awesome to be able to keep your farmers also as stone haulers, as during winter they would automaticly be hauling stones as there wouldn't be more important tasks (such as farming) available.

And it's not really even hard to implement.</STRONG>


Wrong!  This is actually a VERY commonly suggested request, and Toady has said that it would basically require an entire rewrite of the job handling code.  Right now, dwarves don't pick their jobs... jobs pick the dwarves.  To make this work either requires a global job handler, requiring a rewrite, or making dwarves pick their jobs, requiring a rewrite.

Logged

Iain

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #9 on: August 03, 2007, 03:45:00 am »

quote:
And it's not really even hard to implement.

Are you Toady in disguise?

I don't think you have the prerequisite knowledge to make that statement.

That said, I don't think that job priorities are "Adding a level of complexity" at all, rather I consider them to be removing one. At the moment, we have to individually micromanage our dwarves tasks. If I want my farmers to haul rocks in winter, I have to - when the season changes - go into all of their individual labour preferences and set "Stone Hauling", and then remember to disable it come spring.

I've said before that Dwarf Fortress is a macromanagement game, not a micromanagement game. And it does it splendidly well (better than just about anything else there is...). There are areas it could improve, though, and Labour Groups/Task Priority is a major one.

Even a simple two-teir priority system - a third state in the labour settings indicating "Don't do this labour normally, but pick up tasks from it when you don't have anything else to do".

Contrary to the poster I quoted, that seems quite tricky to me - especially for hauling.

[ August 03, 2007: Message edited by: Iain ]

Logged
umbers? Pah! We''re Ninja!

Boogey

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #10 on: August 03, 2007, 04:28:00 am »

Programming wise it's not, like I said, hard to do at all. Dwarfs already filter jobs from generic job queue. Adding sorting according to job priority should be just few lines really - and yes, I dare to make that claim even if I'm not Toady in disguise.
Logged

Toady One

  • The Great
    • View Profile
    • http://www.bay12games.com
Re: Job importance
« Reply #11 on: August 03, 2007, 02:46:00 pm »

I think this thread contains most of the relevant issues.
Logged
The Toad, a Natural Resource:  Preserve yours today!

ricree

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #12 on: August 05, 2007, 02:32:00 am »

I've given this some thought, and here's my idea for it.  It still has flaws (doesn't consider distance, for example), but I think that it has some benefits.  For example, it allows you to easily set global priorities, and should generally tend to favor dwarves that are higher skilled.

How about prioritizing based on job income.  Basically, what I'm thinking is to have a structure that holds collections of currently available jobs where each collection is indexed by the skill used for that job (engraving, bone carving, etc).  Each job would earn a base amount, and then would be multiplied by a dwarf skill modifier and an adjustable modifier for the type of job (basically the wages menu, but adjustable).  The dwarf would get one job from each category that it is allowed to do, and compares the expected income for the jobs.  It will always choose the job with the highest pay.

For dwarves with no immediately available jobs, you could have a wait list for every category.  As soon as a job is added to the category, the scheduler will take the first dwarf on the list, remove him from all other lists, and assign him to that task.  Otherwise, the scheduler is run every time a dwarf finishes a job.

Logged

irmo

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #13 on: August 05, 2007, 11:46:00 am »

quote:
Originally posted by ricree:
<STRONG>I've given this some thought, and here's my idea for it.  It still has flaws (doesn't consider distance, for example), but I think that it has some benefits.  For example, it allows you to easily set global priorities, and should generally tend to favor dwarves that are higher skilled.

...

For dwarves with no immediately available jobs, you could have a wait list for every category.  As soon as a job is added to the category, the scheduler will take the first dwarf on the list, remove him from all other lists, and assign him to that task.  Otherwise, the scheduler is run every time a dwarf finishes a job.</STRONG>


This means that jobs in the lowest income class (right now that's hauling, which is especially bad) can potentially never get done, even if every single dwarf has that job enabled.  The only way to ensure that hauling jobs are done is to set designated haulers.  So you're back to hand-tweaking job profiles for each dwarf to keep the queue clear, but it's less flexible than now.

Logged

mickel

  • Bay Watcher
    • View Profile
Re: Job importance
« Reply #14 on: August 11, 2007, 06:24:00 pm »

I think, with a good interface, this would be very useful indeed. Without adding that much to the complexity, it'd definitely make it possible to get the fortress running a lot smoother. I've been wanting something like this for ages, if only to make the expert masons favor such masonry jobs that require a skilled hand, and the less skilled ones to favor such jobs where it doesn't matter.
Logged
I>What happens in Nefekvucar stays in Nefekvucar.
Pages: [1] 2