Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: [R]epeat tweak. (and standing orders)  (Read 1018 times)

kzwix

  • Bay Watcher
    • View Profile
[R]epeat tweak. (and standing orders)
« on: March 02, 2011, 05:44:19 pm »

Just a simple suggestion to tweak the "repeat" feature in workshops.

I don't know exactly how it works when there are several tasks in "repeat" mode, but I've noticed that a single repeat task doesn't go away, even if some things are queued after it. I guess it would be useful to have that task move down, for instance, all the way down the queue, so that other things are made before the repeat is carried out.

One could still have an ever-repeating task, it would just have to be alone in the list. One could also design by fractions, by adding, say, two "bucket" repeat, one "bin" repeat, and one "door", or whatever. These would be carried out in the given order (as one "repeat" would merely go down the queue once it's done), and would make it easier for a player to add once-only tasks to a "repeat" workshop, as it would avoid having to move them up one after the other, keeping the "repeat" as the last task, unless they really want those to be done right now, and not after the next item is done.


Another suggestion would be to have standing orders. I mean, I hate it when the production orders get canceled because I lack something. If I want some farmer's workshop to milk cattle and then make cheese with it, I don't want it to forget the orders because the milk has gone rotten, or whatever. Same goes for the still, if I can't make booze now, it doesn't mean I won't want to do it once it is possible again.

A simple way to implement this would be to have the game "pause" such productions with a special flag (so as not to waste ressources checking each frame if the workshop can resume working), and check back every N other frames. Like, once every 100 frames, or whatever. This would drastically reduce the ammount of micro-management needed for the player. And, of course, a player could "suspend" and "unsuspend" to reset the flag manually.
Logged

Babylon

  • Bay Watcher
    • View Profile
Re: [R]epeat tweak. (and standing orders)
« Reply #1 on: March 02, 2011, 06:21:40 pm »

I'm pretty sure repeats already work the way you mention (that is they move to the end of the queue after being completed) if you want a persistent task use the manager screen, it will only make as many as you assign, but it will keep assigning he task to workshops until the items are made.
Logged

Uristocrat

  • Bay Watcher
  • Dwarven Railgunner
    • View Profile
    • DF Wiki User Page
Re: [R]epeat tweak. (and standing orders)
« Reply #2 on: March 03, 2011, 04:43:55 am »

I'm pretty sure repeats already work the way you mention (that is they move to the end of the queue after being completed) if you want a persistent task use the manager screen, it will only make as many as you assign, but it will keep assigning he task to workshops until the items are made.

You are correct.  I keep a bunch of different tasks on repeat (especially at the Mason's shop) and they rotate through the list rather than just doing one thing forever.  Otherwise, I wouldn't have any furniture except for doors.

It's very useful, though.  I'm glad it's already in the game :)
Logged
You could have berries on the rocks and the dwarves would say it was "berry gneiss."
You should die horribly for this. And I mean that in the nicest possible way.

kzwix

  • Bay Watcher
    • View Profile
Re: [R]epeat tweak. (and standing orders)
« Reply #3 on: March 03, 2011, 07:20:44 am »

Well, for my part, when I did my testing (before posting, obviously), I put one "repeat" item on top of a "once" only queue. Ten items, only the first one on repeat. I waited until I saw the dwarf leave to fetch materials, looked at the workshop, and the repeat task was still the first one.

Maybe I tested badly, or maybe it only rotates between "R"epeating tasks, I don't know. I'm gonna test again.
Logged

zwei

  • Bay Watcher
  • [ECHO][MENDING]
    • View Profile
    • Fate of Heroes
Re: [R]epeat tweak. (and standing orders)
« Reply #4 on: March 03, 2011, 07:47:06 am »

Well, for my part, when I did my testing (before posting, obviously), I put one "repeat" item on top of a "once" only queue. Ten items, only the first one on repeat. I waited until I saw the dwarf leave to fetch materials, looked at the workshop, and the repeat task was still the first one.

Maybe I tested badly, or maybe it only rotates between "R"epeating tasks, I don't know. I'm gonna test again.

Wait till he completes that task...

Granite26

  • Bay Watcher
    • View Profile
Re: [R]epeat tweak. (and standing orders)
« Reply #5 on: March 03, 2011, 07:47:28 am »

Well, for my part, when I did my testing (before posting, obviously), I put one "repeat" item on top of a "once" only queue. Ten items, only the first one on repeat. I waited until I saw the dwarf leave to fetch materials, looked at the workshop, and the repeat task was still the first one.

Maybe I tested badly, or maybe it only rotates between "R"epeating tasks, I don't know. I'm gonna test again.

Wait till he's finished... If there's an 'A' next to the 'R', it means the task is active.  I.E. someone is working on it right now.

Hyndis

  • Bay Watcher
    • View Profile
Re: [R]epeat tweak. (and standing orders)
« Reply #6 on: March 03, 2011, 01:10:55 pm »

The only repeat tweak I would like is for the repeat task to NOT go away if the task is unable to be completed.

So if I've got a still on repeat brew and I run out of barrels for a few minutes the task will not be canceled. Dwarves will keep trying to brew booze but will keep on failing due to lack of barrels forever.

This would mean I will be spammed with job cancellation messages, but that would just be my own damned fault if I'm getting too much spam, and it would let me know if there is a problem somewhere.

You could use this to set up a very nice automatic roast production. Put a farmer workshop on repeat process plants to barrel and to bag, a mill on repeat mill, and a kitchen on repeat make lavish roasts. This single change would allow the player to fully automate any kind of production he/she wants to, for any job at any workshop.

Even if you run out of bags for a few minutes production will not grind to a halt and need to be setup manually again. You'll just get some spam for a few minutes until you have more bags, and then everything will keep on running smoothly.
Logged

Sutremaine

  • Bay Watcher
  • [ETHIC:ATROCITY: PERSONAL_MATTER]
    • View Profile
Re: [R]epeat tweak. (and standing orders)
« Reply #7 on: March 03, 2011, 03:19:18 pm »

It should be a new option, not a change to the existing Repeat function. 'Process everything available and then stop' is a fairly specialised command, but useful to have around.

Some standing orders might be moddable with .19's new ability to put reaction products in containers, but it should be something that can be adjusted in the middle of a playing session.
Logged
I am trying to make chickens lay bees as eggs. So far it only produces a single "Tame Small Creature" when a hen lays bees.
Honestly at the time, I didn't see what could go wrong with crowding 80 military Dwarves into a small room with a necromancer for the purpose of making bacon.

kzwix

  • Bay Watcher
    • View Profile
Re: [R]epeat tweak. (and standing orders)
« Reply #8 on: March 05, 2011, 07:16:36 am »

Ok, it seems I didn't test properly the first time, as "R"epeat tasks indeed go to the end of the queue when one is done. Thus, no need for this "new" feature.


However, I maintain my position, there should be a switch with the production, a flag which the player could set. If the flag ain't there, then it works just as it does right now (this way, people won't be surprised by a change in the way things work), but if set, then it acts as I suggested (or in a similar manner), that is, it does NOT remove the order, but merely puts it on a "wait" state (so as NOT to spam the user with tons of cancel messages, and so as NOT to kill the framerate by endless checks).

Of course, this "wait" state would only last for a time, the game trying to put it back on production mode after the timer ran out (as I said, maybe 100 frames, maybe less, maybe more, it's merely a quick thought), and the player would be able to activate it back manually, so as to shorten the wait, if necessary.

Also, this flag would just as well be available for a non-repeat order, meaning that the game won't cancel it until it HAS been done, even if there are no materials available right now.
Logged

Particleman

  • Bay Watcher
    • View Profile
Re: [R]epeat tweak. (and standing orders)
« Reply #9 on: March 05, 2011, 10:12:09 am »

Standing orders are presently second on the eternal suggestions list, right after improved hauling. http://www.bay12forums.com/smf/eternal_voting.php
Logged