Bay 12 Games Forum

Please login or register.

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

Author Topic: Building a smarter dwarf - a dwarf/job manager AI scripting system  (Read 11686 times)

marcusbjol

  • Bay Watcher
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #30 on: July 17, 2010, 10:50:39 pm »

These are valid suggestions.  I do not want a fully automated fortress.  But, besides the point, its more realistically looking the sugguestion, and the suggestion is difficult to implement.

Most of the suggestion revolves around the standing production orders being implemented as "scripting", which is an assumption.  The raws are not scipts, they are parsed data files, as in they define things, not actions.  The other ways mentioned (job orders, military squads, etc) are not scripts.  Most things done in DF are done via the path of least resistance.   

The easiest method to implement standing production orders would be an additional menu in the z interface (Animals, Stone, Stocks, Health, Justice, Production orders), with a menu driven interface.  Such as "n" for new order, what item, and how many are supposed to be in reserve.  This is easy programmatically, and not a scripting language.  It is not as powerful, but it provides 95% of what people want in Standing Production Orders.

A scripting language would require programing a language parser, which is hard compared to the menu option.  Then support is an issue as well, as there will be as many questions on the language as the rest of the game itself. 

Changing the Civ Alert level when Seiges and ambushes happen is simple as well.  Via the orders menu, enable Civilian ALert upon hostiles and define which alert to set it to.  The covers the other 90% of stuff wanted.

DF is a one man show.  That man has 20 years already on his plate.  Games that have scripting languages have large teams (on the order of 50+), so that is one person's full time job.  So implementing a scripting language will add a year onto development.

This would be great if there was enough time in Toady's lifetime to implement.
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #31 on: July 17, 2010, 11:10:06 pm »

These are valid suggestions.  I do not want a fully automated fortress.  But, besides the point, its more realistically looking the sugguestion, and the suggestion is difficult to implement.

Most of the suggestion revolves around the standing production orders being implemented as "scripting", which is an assumption.  The raws are not scipts, they are parsed data files, as in they define things, not actions.  The other ways mentioned (job orders, military squads, etc) are not scripts.  Most things done in DF are done via the path of least resistance.   

The easiest method to implement standing production orders would be an additional menu in the z interface (Animals, Stone, Stocks, Health, Justice, Production orders), with a menu driven interface.  Such as "n" for new order, what item, and how many are supposed to be in reserve.  This is easy programmatically, and not a scripting language.  It is not as powerful, but it provides 95% of what people want in Standing Production Orders.

A scripting language would require programing a language parser, which is hard compared to the menu option.  Then support is an issue as well, as there will be as many questions on the language as the rest of the game itself. 

Changing the Civ Alert level when Seiges and ambushes happen is simple as well.  Via the orders menu, enable Civilian ALert upon hostiles and define which alert to set it to.  The covers the other 90% of stuff wanted.

DF is a one man show.  That man has 20 years already on his plate.  Games that have scripting languages have large teams (on the order of 50+), so that is one person's full time job.  So implementing a scripting language will add a year onto development.

This would be great if there was enough time in Toady's lifetime to implement.

OK, this argument is purely semantics over what "script" means.

Fine, call it "a list of things that give dwarves priorities programmatically" for all I care, I was fairly specific about what I meant. 

A menu-driven "not-script", but with import/export capabilities to text files is what I am suggesting.



edit: Also: http://www.webopedia.com/TERM/S/script.html

Quote
Another term for macro or batch file, a script is a list of commands that can be executed without user interaction. A script language is a simple programming language with which you can write scripts.

The term "script", again, does not necessarily refer to a full-blown programming language, but to a batch of commands that can be passed into a program, and interpreted by the program.
« Last Edit: July 17, 2010, 11:32:29 pm by NW_Kohaku »
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

Deteramot

  • Bay Watcher
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #32 on: July 17, 2010, 11:22:18 pm »

Upon fully reading the OP, I do see that it's not as fully automated as I immediately assumed. I still feel like it wouldn't be necessary.

I think someone could, with a bit of work, build a periphery which functions basically the way you want it to. I don't think it is necessary for Toady to make such a major change.
Logged
I'm currently making a nice room for my legendary clerk. I always treat my legendaries with the greatest respect, giving them the best rooms and so on. Although the walls are mostly engraved with pictures of my miner starving to death after he fell down a well, so it's not too cheerful.

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #33 on: July 17, 2010, 11:26:24 pm »

Upon fully reading the OP, I do see that it's not as fully automated as I immediately assumed. I still feel like it wouldn't be necessary.

I think someone could, with a bit of work, build a periphery which functions basically the way you want it to. I don't think it is necessary for Toady to make such a major change.

How is it any more a major change than the Standing Orders that would use essentially the same possible commands?  The salient differences between what's going in now, and what I suggest, is that the system already being built for Standing Orders can also apply to individual dwarves for the scripting of their priorities, and that there be an import/export mechanic to a .txt file.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

marcusbjol

  • Bay Watcher
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #34 on: July 18, 2010, 12:04:08 am »

OK, this argument is purely semantics over what "script" means.
Scripting is generally accepted as non-complied programming language.
Quote
Fine, call it "a list of things that give dwarves priorities programmatically" for all I care, I was fairly specific about what I meant. 
Yes, you were very specific about it being a scripting language.  You even refer to games that had such.
Quote
A menu-driven "not-script", but with import/export capabilities to text files is what I am suggesting.
Ok, exporting/importing settings is fine.
Quote
Quote
Another term for macro or batch file, a script is a list of commands that can be executed without user interaction. A script language is a simple programming language with which you can write scripts.
The term "script", again, does not necessarily refer to a full-blown programming language, but to a batch of commands that can be passed into a program, and interpreted by the program.
Any valueable scripting language eventually spawns a book to support it.  Lua (Wow's), Bash, Python, Ruby, Perl, PHP, even MSDos batch language all have these.  This is not trivial to do.
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #35 on: July 18, 2010, 03:49:50 am »

Marcusbjol: The veneer that you are doing this to be anything but contrarian is wearing thin...

Take a look back at that definition, and it lists macros that simply record and repeat keystrokes as a "script".

All labradors are dogs.  Not all dogs are labradors. 
All scripting programming languages are based on scripts.  Not all scripts are scripting programming languages.

Considering as it appears as though half this thread has been trying to argue that I mean something completely different than what I've been saying just to satisfy someone else's arbitrary definition of a word, I'm not entertaining this line of argument any longer.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

marcusbjol

  • Bay Watcher
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #36 on: July 18, 2010, 08:03:30 am »

My views are more about what is LIKELY to get done and how to meet the goals without a total game redesign.

I may be contrarian, but to dismiss all the arguements of the cost do to things is just as disrespectful.

I did propose something that would be fairly realistic to do, covers 90% of what is wanted, and was completely ignored.
« Last Edit: July 18, 2010, 08:13:46 am by marcusbjol »
Logged

shibdib

  • Bay Watcher
  • How much for Goat?
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #37 on: July 18, 2010, 08:32:58 am »

NW, im just gonna say.. you need to work on avoiding walls of texts.. seems like every post u make is unnecessarily long
Logged

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #38 on: July 18, 2010, 11:13:59 am »

My views are more about what is LIKELY to get done and how to meet the goals without a total game redesign.

I may be contrarian, but to dismiss all the arguements of the cost do to things is just as disrespectful.

I did propose something that would be fairly realistic to do, covers 90% of what is wanted, and was completely ignored.

It was not completely ignored.  I said it was almost exactly the same thing as what I was proposing, and you continue to purposefully misinterpret things I have said just to force your arbitrary defition of "script" down everyone's throats.

NW, im just gonna say.. you need to work on avoiding walls of texts.. seems like every post u make is unnecessarily long

What is long?  That's a fairly subjective standard.  I took the time it took to lay out the basics of my proposition, plus ways that it could be expanded, so as to give people an idea of what sort of suggestion I was giving, in case they were unaware of what sort of things could be accomplished.  This was in a relatively average-length post for an original post starting a serious suggestion.  Some of the longer posts I had later on were because I was specifically referring to four different people's points in a single post... Ultimately, I could have broken it into four seperate posts just to meet an arbitrary "short post length" aesthetic, but that would also break the avoiding multi-posting aesthetic, so there's no real benefit to doing so.

If I back what I say up with examples, metaphors, in-game research, or just plain detailed explanation to avoid confusion, it isn't a bad thing. 
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

G-Flex

  • Bay Watcher
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #39 on: July 18, 2010, 01:16:38 pm »

All scripting programming languages are based on scripts.  Not all scripts are scripting programming languages.


The distinction you're making there is at least as arbitrary as the one you're complaining about. Where do you draw the line between what's a "programming language" and what isn't? After all, it has its particular syntax and semantics, and those are used to express a series of instructions.


At any rate, I think the main issue is that saying "scripting" might be misleading here, if not wrong, especially since other people (notably Baughn) have been talking about introducing more arbitrary levels of scripting in the game itself.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #40 on: July 18, 2010, 02:33:42 pm »

All scripting programming languages are based on scripts.  Not all scripts are scripting programming languages.

The distinction you're making there is at least as arbitrary as the one you're complaining about. Where do you draw the line between what's a "programming language" and what isn't? After all, it has its particular syntax and semantics, and those are used to express a series of instructions.

At any rate, I think the main issue is that saying "scripting" might be misleading here, if not wrong, especially since other people (notably Baughn) have been talking about introducing more arbitrary levels of scripting in the game itself.

That would be because all definitions, and all language is inherently arbitrary.  Words mean whatever people have arbitrarily defined them to mean.  I have specified numerous times exactly what I meant.  I, and people like Psieye as well, have said that the standard definition of a script includes things like what happens on the military screen, or worldgen data, or even the raws.  I have been consisntant and clear, and the only confusion comes from you (plural... I could almost swear marcusbjol is your sockpuppet or something, as I've never seen people have such trouble with basic communication before) refusing to accept that "script" can ever mean anything besides the narrow definition you want it to mean.

If you want to have a philosophical argument over the nature of words and language, take a modern philosophy course.  Otherwise, stop trying to force what I have said to mean something else just to fit your own ideas of what some certain words should mean.  I have made my meanings clear.  This semantic argument (seriously, look the phrase up) stops here.  This has nothing to do with my suggestion.
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare

G-Flex

  • Bay Watcher
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #41 on: July 18, 2010, 02:46:08 pm »

Of course language is arbitrary (in a sense). That doesn't mean that verbiage can't be misleading.


And for what it's worth, no, I wouldn't consider the raws to be "scripting"; they're simply defining data, not instructions. Of course, with the new version we have bizarre edge cases since things have gotten more complex. I also wouldn't consider worldgen parameters "scripting" at all; it's just a series of values you're changing. You aren't providing any sort of instructions or logical flow in any way. Same goes for the military screen, for the most part.


I'm kind of confused about why you say "not all scripts are programming languages", but once that assumption is questioned, start throwing around "IT MEANS WHATEVER I SAY IT MEANS" - what?
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

Deteramot

  • Bay Watcher
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #42 on: July 18, 2010, 06:27:02 pm »

Technically speaking, in this context, the raws are a "script" of sorts, albeit more of a "subscript" than an actual script. A script in computer terms is *clears throat* "a sequence of automated computer commands embedded in a program that tells the program to execute a specific procedure when a Web page is opened or a hypertext link is clicked," according to my dictionary anyway. The webpage stuff is pointless here and only serves as a minor example. The reason I define the raws as a subscript is because when the game's main script is told to call something from the raws, what it finds changes what the procedure is, and so on.

Of course, that's really stretching the definition. The fact of the matter is, editing the raws is merely changing data which the script uses to interact with you. Changing the raws is not, strictly speaking, scripting.
Logged
I'm currently making a nice room for my legendary clerk. I always treat my legendaries with the greatest respect, giving them the best rooms and so on. Although the walls are mostly engraved with pictures of my miner starving to death after he fell down a well, so it's not too cheerful.

marcusbjol

  • Bay Watcher
    • View Profile
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #43 on: July 18, 2010, 06:59:10 pm »

I, and people like Psieye as well, have said that the standard definition of a script includes things like what happens on the military screen, or worldgen data, or even the raws.  I have been consisntant and clear, and the only confusion comes from you (plural... I could almost swear marcusbjol is your sockpuppet or something, as I've never seen people have such trouble with basic communication before) refusing to accept that "script" can ever mean anything besides the narrow definition you want it to mean.
First time I have ever been referred as a "Sock Puppet".

First thing I learned in Speech 101 - All messages are defined by the receiver.

The technical world defines script(ing) very differently.  If I put I am skilled with scripting on a resume and in the interview they ask for an example, and my response is "i recorded a bunch of key strokes and replay them as needed", the interview ends right then and there.

All labradors are dogs.  Not all dogs are labradors. 
All scripting programming languages are based on scripts.  Not all scripts are scripting programming languages.
It might be a lack of precision.
Saying Script(ing) implys this logic in this context to the technical.
We need to get from a to b.
Therefore we need a spaceship.

And we are travelling 10 feet.
Quote
Considering as it appears as though half this thread has been trying to argue that I mean something completely different than what I've been saying just to satisfy someone else's arbitrary definition of a word, I'm not entertaining this line of argument any longer.
The technical world has a very different definition of what scripting is.  Ask any programmer, web designer, IT, etc, what scripting is and the definition will be close to a "non compiled programming language".  Dont blame the rest of the world at the lack of precision.

So what I am getting out of this is anyone that disagrees for any reason is disregarded.  Any attempts at compromise to get these grandiose ideas done is met with an insult.
Logged

Toady One

  • The Great
    • View Profile
    • http://www.bay12games.com
Re: Building a smarter dwarf - a dwarf/job manager AI scripting system
« Reply #44 on: July 18, 2010, 11:38:00 pm »

I was called in here to re-rail this thread, but if the OP is a party to the argument, I can't really do that.  I'm going to have to lock it.
Logged
The Toad, a Natural Resource:  Preserve yours today!
Pages: 1 2 [3]