Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Imperative mode  (Read 2472 times)

Muddy Mudstone

  • Bay Watcher
    • View Profile
Imperative mode
« on: June 13, 2012, 06:48:45 am »

What if we could just tell a dwarf exactly what to do? Wouldn't that be nice?
Logged

Mrhappyface

  • Bay Watcher
    • View Profile
Re: Imperative mode
« Reply #1 on: June 13, 2012, 08:49:30 am »

Elaborate.
Logged
This is Dwarf Fortress. Where torture, enslavement, and murder are not only tolerable hobbies, but considered dwarfdatory.

Muddy Mudstone

  • Bay Watcher
    • View Profile
Re: Imperative mode
« Reply #2 on: June 13, 2012, 08:59:43 am »

So that, for instance, instead of saying this:

Experienced cook, stop accepting cooking jobs. Inexperienced cook, stop accepting hauling jobs, cleaning jobs, threshing jobs, and pumping jobs. Tiny ingredient-specific food stockpiles, give eggs and cheese to the kitchen. Other stockpiles, stop giving anything to the kitchen. Kitchen, create an easy meal job. Now everybody try to think of something to do.

You could say this:

Inexperienced cook, cook an easy meal with eggs and cheese.

Or instead of this:

Urist McWandering, I urgently need you to mine these unremarkable bits of rock over here, in the opposite direction from the danger, and by the way isn't it lucky that you're a miner and dwarfs respond so promptly to mining jobs?

You could say this:

Go here! Now!

Logged

10ebbor10

  • Bay Watcher
  • DON'T PANIC
    • View Profile
Re: Imperative mode
« Reply #3 on: June 13, 2012, 09:10:44 am »

Burrows, and civilian alerts and such can do quite a lot of this already. While it would be nice, I think it might be to much trouble to implement.
Logged

Mrhappyface

  • Bay Watcher
    • View Profile
Re: Imperative mode
« Reply #4 on: June 13, 2012, 09:25:12 am »

Oh, you meant like direct rts controls. That would be nice.
Logged
This is Dwarf Fortress. Where torture, enslavement, and murder are not only tolerable hobbies, but considered dwarfdatory.

the woods

  • Bay Watcher
    • View Profile
Re: Imperative mode
« Reply #5 on: June 13, 2012, 09:46:59 am »

For training different people in a kitchen, have you tried multiple kitchens with different building profiles set up ('v' -> 'P')? You can specify the minimum and maximum experience levels in the building's related skill, or you can specify the exact dwarf who should work there.

For the stockpiles, AFAIK dwarves take ingredients from the closest stockpile, although the distance calculation does not account for z-level changes. So you could set up a food stockpile directly under the kitchen and allow only the ingredients you want cooked with the stockpile settings ('q' -> 's').

If you have a problem doing this or it's different from what you want, then that's okay and this would be a good thread to specify the problems you have with giving orders.

Something I think is sort of annoying is when a soldier is going to station itself somewhere, and you cancel or change the order, the dwarf usually walks all the way to the old, cancelled station before going to the new station.

When you tell a dwarf 'exactly what to do' what kind of menu would come up or what would the user see on the screen to do this?
Logged

Muddy Mudstone

  • Bay Watcher
    • View Profile
Re: Imperative mode
« Reply #6 on: June 13, 2012, 10:37:14 am »

OK. The first thing to select is the dwarf, with v I guess.

Then the simplest command would be "stop", meaning "stand still until further notice", useful for masons and miners and the foolhardy.

The next simplest would be "go here", which would cause the cursor to display, so you could select the destination tile.

Then perhaps there would be "perform workshop task" and "perform other task".

Selecting "perform workshop task" would lead to a list of unoccupied workshops, limited to those the dwarf is set to accept jobs in. You'd select a workshop, and then see the standard workshop screen where you could select a task, just as if adding it the job queue - but it would appear in the queue already assigned to the specific dwarf.

Everything else consists of making a series of selections. Other things to select could be a series of objects - you'd see the stocks screen, or could press a button similar to pressing k to find the object on the map - locations, creatures, or buildings.

To avoid confusion there should be a prompt somewhere onscreen to say what type of thing you are currently expected to select, such as "select ingredient 2", and escape could cancel.

By a similar process you could say "take this animal to this pasture" or "clean here" or whatever other arbitrary task.

So far as implementation goes, I guess this means writing a script for every task (every task that makes it as far as being implemented in this manner, anyway), which leads the player through a series of selections appropriate to the task.

Inside the game as it is, these scripts must already exist, just without interactivity. I mean there must already be lists of requirements to be filled out before, or during, the task.
Logged

GreatWyrmGold

  • Bay Watcher
  • Sane, by the local standards.
    • View Profile
Re: Imperative mode
« Reply #7 on: June 13, 2012, 11:30:28 am »

While some of this can be roughly done already, it would be nice to be able to do so more directly. Of course, as you're supposed to be the fortress's nobles and not the dwarven hivemind, if the dwarf felt that the action violated his beliefs or hopes of personal safety, he should ignore it.

Not to be rude...okay, that's a bad way to start, but I'm having trouble thinking of a way to say this in a way that can't be seen as rude over the toneless, expressonless internet. Your title suggested something like a different game mode and your OP made the suggestion sound like the basic mechanics of Fortress Mode. Detail is imperitive on the suggestion sub-forum. Next time, try to explain exactly what you're imagining. It saves everyone time and you embarassment.
Logged
Sig
Are you a GM with players who haven't posted? TheDelinquent Players Help will have Bay12 give you an action!
[GreatWyrmGold] gets a little crown. May it forever be his mark of Cain; let no one argue pointless subjects with him lest they receive the same.

Varjo

  • Bay Watcher
    • View Profile
Re: Imperative mode
« Reply #8 on: June 13, 2012, 03:24:11 pm »

Dwarves think. You just give some directions.
Logged

GreatWyrmGold

  • Bay Watcher
  • Sane, by the local standards.
    • View Profile
Re: Imperative mode
« Reply #9 on: June 13, 2012, 05:06:34 pm »

I think the idea was to be able to give more exact directions. For instance, ones that can be derived from Mudstone's posts:

[spoiler]
The ability to tell dwarves to stand still.
The ability to tell non-military dwarves to go somewhere without giving them a job there.
The ability to tell specific dwarves to do specfic tasks.
The ability to have these tasks done with specific materials (if appropriate).
[/quote]

These sound reasonable, and as long as you can tell any dwarf to do any job and so forth, it seems like it would be versaile enough to accomplish most of the non-movement tasks. Maybe this could be achieved through the 'j'obs menu--take a job and assign materials (if not already chosen, like with 'b'uilding stuff), and assign a dwarf, who will take the job once he's done his current job and, if needed, takes care of bodily needs. Add in a better ability to cancel dwarves' current jobs and the ability to somehow take jobs that don't show up in the jobs menu, like mining and trading at the depot, and we've got everything.
Logged
Sig
Are you a GM with players who haven't posted? TheDelinquent Players Help will have Bay12 give you an action!
[GreatWyrmGold] gets a little crown. May it forever be his mark of Cain; let no one argue pointless subjects with him lest they receive the same.

orbcontrolled

  • Bay Watcher
    • View Profile
Re: Imperative mode
« Reply #10 on: June 14, 2012, 12:38:08 am »

I was about to make a post about how impossible and uselessly time-consuming that would be... but then I remembered that the arena *already* has a function to let you take control of an individual creature. Maybe once adventure mode gets some attention, and the adventurer becomes capable of everything a dwarf can do, then it might not be hard to add a "take control of this dwarf" button, or at least a DFHack plugin.

(Does the DFHack "mode" plugin let you control an individual dwarf? I've never tried it)
Logged

GreatWyrmGold

  • Bay Watcher
  • Sane, by the local standards.
    • View Profile
Re: Imperative mode
« Reply #11 on: June 14, 2012, 09:39:02 am »

Why would it be "uselessly time-consuming"? Let's go over the ideas I had in my poorly-spoilered post ahead of yours, one by one, explaining why they are neither useless nor too time-consuming:

1. Having dwarves stand still.
This could be useful for a wide variety of things, from having militiadwarves not charge into combat without their comrades to getting a dwarf to not leave his safe, secure bunker. This would be simple; just disable all job-grabbing or meandering until the dwarf gets hungry or thirsty enough to need to stop.

2. Having dwarves go somewhere specific.
From a more accurate station order, to having the dwarf get to a safe, secure bunker rather than running willy-nilly about the surface, to to exploring the caverns with people that won't suicide-charge every troll or GCS they see, a "Go here!" order would have many uses. You could use the code for stationing military dwarves, or simply the normal pathfinding code.

3. Having dwarves do specific tasks.
This would allow you to A. choose to have the noob cook cook basic meals easily (and other situations where you want one, specific dwarf to do a task) and B. fiddle with the natural order dwarves to tasks in (e.g. getting engravers to engrave memorial slabs and not smooth your halls, or master masons to make statues, not walls). Yes, most of this can already be done by fiddling with burrows, labors, and such, but a more straightforward way to do this would be nice. Dwarves already pick jobs to do on their own; this would merely require that the player be able to take the "choose" step out of the next job the dwarf does.

4. Choosing materials for tasks
I know you can do this with stockpiles, but, again, a simpler, more...one-use way to do it would be nice, especially if you wanted to (for instance) make a statue out of an economic stone (i.e. hematite, for your militia commander) without risking having all of that stone being turned into blocks and mugs (i.e. depriving you of iron). It might be a bit harder, but as dwarves already choose materials for jobs, it seems like the interface would be the toughest thing. And an interface like that needs to be done, when adventurers can do reactions.
Logged
Sig
Are you a GM with players who haven't posted? TheDelinquent Players Help will have Bay12 give you an action!
[GreatWyrmGold] gets a little crown. May it forever be his mark of Cain; let no one argue pointless subjects with him lest they receive the same.

orbcontrolled

  • Bay Watcher
    • View Profile
Re: Imperative mode
« Reply #12 on: June 15, 2012, 04:28:55 pm »

Why would it be "uselessly time-consuming"? Let's go over the ideas I had in my poorly-spoilered post ahead of yours, one by one, explaining why they are neither useless nor too time-consuming:
Oh dear.
I'm sorry, I really didn't mean for that post to come off as offensive or dismissive.

(Lengthy and boring description of the thought process leading to that post. Feel free to skip to the tldr below.)
Spoiler (click to show/hide)

tl;dr: I was trying to say that my first impression was wrong, and far from being unreasonable, the idea almost certainly will come about in one way or another.
Logged

GreatWyrmGold

  • Bay Watcher
  • Sane, by the local standards.
    • View Profile
Re: Imperative mode
« Reply #13 on: June 15, 2012, 05:43:25 pm »

It's alright. Everyone makes mistakes.

Except me. <--- Oh, look, there's a mistake of mine right now!
Logged
Sig
Are you a GM with players who haven't posted? TheDelinquent Players Help will have Bay12 give you an action!
[GreatWyrmGold] gets a little crown. May it forever be his mark of Cain; let no one argue pointless subjects with him lest they receive the same.