Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Scripting API  (Read 2254 times)

alpha

  • Bay Watcher
    • View Profile
Scripting API
« on: March 10, 2009, 03:19:17 pm »

Seeing how Toady One is against opensourcing DF, despite the fact that it has proven to be really productive in the past (see gcc, linux, firefox, X server, etc... but that and his rather dubious reasons are off topic atm), I would like to stress the importance of making some kind of scripting interface for DF, much preferably using some well-established programming language, like Lua (i'd stick with Perl personally, for lots of reasons, C syntax and simplicity of embedding being among the most important ones).

The availability of Scripting API could possibly help solving a lot of issues:

 - automatic vein/gem mining
 - automated exploratory mining designations (major pain in the ass currently)
 - improved production orders
 - custom triggers/actions (found gems? mine them, then if value < 25 - cut and encrust, if > 25 - store rough... or struck alunite or some other nonvaluable stone? just go on mining without bugging me for christs sake)
 - ai scripting? like smarter skill-based job queues without needing to specifically turn on and off every dwarfs labors (example: designate large area for wood cutting, and professional wooductters only go and fell trees, and everyone else hauls them)
 - building blueprints (make 200 beds & furniture items; mine 200 rooms; clean stuff up; build things; smooth; engrave;)
 - heck, even wholesale fortress blueprints. unmanned operation, lol. code it, fire it up, sit back and enjoy.
 - tons and tons of possible stuff, it really depends on the specification of API itself.

Please consider.
« Last Edit: March 10, 2009, 03:23:13 pm by alpha »
Logged

Granite26

  • Bay Watcher
    • View Profile
Re: Scripting API
« Reply #1 on: March 10, 2009, 03:23:14 pm »

Please search.

This topic has been discussed more than thoroughly, in several different places on the forums, and discussed by the developer himself.  It's basically a closed issue and tends to inflame opinions.

Squirrelloid

  • Bay Watcher
    • View Profile
Re: Scripting API
« Reply #2 on: March 10, 2009, 03:26:07 pm »

Seeing how Toady One is against opensourcing DF, despite the fact that it has proven to be really productive in the past (see gcc, linux, firefox, X server, etc... but that and his rather dubious reasons are off topic atm)

I know open source is all the rage, but wishing to protect the integrity of his work is a reasonable and acceptable choice for him or any person to make.  Calling such reasons 'dubious' is rather insulting. 

Your proposal may be otherwise reasonable, but frankly your attitude towards creator rights immediately turned me off.  Open sourcing is not a right of end-users, its one of many possible decisions a creator can choose in the licensing of his work.
Logged

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Scripting API
« Reply #3 on: March 10, 2009, 03:26:31 pm »

Logged

alpha

  • Bay Watcher
    • View Profile
Re: Scripting API
« Reply #4 on: March 10, 2009, 03:35:38 pm »

Calling such reasons 'dubious' is rather insulting. 
I do not wish to insult anyone, and neither to start a flame war, or something.

Thanks for the links Footkerchief. Is rather sad to see. Oh well.
Logged

praguepride

  • Bay Watcher
  • DF is serious business!
    • View Profile
Re: Scripting API
« Reply #5 on: March 11, 2009, 11:18:45 am »

Honestly, I have to give kudos to Toady. And he does raise a good point. By opening up his fun little project, it ceases to be his.

While we the players might not care who's coding, as long as it's fun and it works, Toady's fun is in the design and coding.

IT has definitly taught me how a personal project can be twisted and destroyed as more and more people start "demanding" to get their fingers into the pie.

Pretty soon the pie's all gone and everyone's left with one big mess!
Logged
Man, dwarves are such a**holes!

Even automatic genocide would be a better approach

alpha

  • Bay Watcher
    • View Profile
Re: Scripting API
« Reply #6 on: March 11, 2009, 11:31:21 am »

Well there's linux, and there's Linus Torvalds. As with kernel, Toady One still will always have final say on which code goes in DF and which does not. It's just that there would be more code. This is how I see it anyway, maybe I'm wrong.
Logged

praguepride

  • Bay Watcher
  • DF is serious business!
    • View Profile
Re: Scripting API
« Reply #7 on: March 11, 2009, 12:05:12 pm »

Eh, I figure it's his project, his rules. Except for a few items, he's been very private about it, which makes me believe that it's the work itself that he enjoys. The fact that it's entirely his, and he makes all the decisions etc. etc.

It's like people who restore old cars as a hobby. Sure they could just dump the parts on someone else and get a final product (maybe even a final product better then what they could do on their own) but it's the work itself that brings joy, seeing it through from beginning to end, and knowing that pretty much every decision, every piece was your idea, your decision, your hard work.
Logged
Man, dwarves are such a**holes!

Even automatic genocide would be a better approach

Derakon

  • Bay Watcher
    • View Profile
Re: Scripting API
« Reply #8 on: March 11, 2009, 01:50:37 pm »

There's also a big difference between being able to point to a program and say "I made this." and being able to point to a program and say "I coordinated this effort."

One's a much more managerial role than the other. Does Toady really want to spend his time reading code written by others? I wouldn't want to, personally.
Logged
Jetblade - an open-source Metroid/Castlevania game with procedurally-generated levels

praguepride

  • Bay Watcher
  • DF is serious business!
    • View Profile
Re: Scripting API
« Reply #9 on: March 11, 2009, 02:03:07 pm »

Ugh. I'm working with PM's and I feel sorry for them. All they do is shift through everyone else's work and basically are forced to complain about it. Nobody wins, everyone loses.

Oh wait, that's supposed to be Fun :D
Logged
Man, dwarves are such a**holes!

Even automatic genocide would be a better approach

L0rd_ZOD

  • Bay Watcher
    • View Profile
Re: Scripting API
« Reply #10 on: March 11, 2009, 07:25:04 pm »

Please search.

This topic has been discussed more than thoroughly, in several different places on the forums, and discussed by the developer himself.  It's basically a closed issue and tends to inflame opinions.

Constantly spamming to new threads "ITS BEEN DISCUSSED FAG!" is not constructive.

This is a forum, If you don't want to talk and discuss then your in the wrong place.
Logged

Footkerchief

  • Bay Watcher
  • The Juffo-Wup is strong in this place.
    • View Profile
Re: Scripting API
« Reply #11 on: March 11, 2009, 08:05:24 pm »

Please search.

This topic has been discussed more than thoroughly, in several different places on the forums, and discussed by the developer himself.  It's basically a closed issue and tends to inflame opinions.

Constantly spamming to new threads "ITS BEEN DISCUSSED FAG!" is not constructive.

This is a forum, If you don't want to talk and discuss then your in the wrong place.

Take a look at your post, and at his, and ask yourself which of the two is more inflammatory and insulting.  He didn't call anyone a fag or, as you did, imply that someone was "in the wrong place."  Informing people that topics have already been discussed to death is perfectly kosher as long as you do it in a civil manner, which he did.  And even if you had been correct to criticize him, your hyperbolic, accusatory attitude would still prevent you from improving the situation.
« Last Edit: March 11, 2009, 08:07:17 pm by Footkerchief »
Logged

alpha

  • Bay Watcher
    • View Profile
Re: Scripting API
« Reply #12 on: March 11, 2009, 09:31:25 pm »

There's also a big difference between being able to point to a program and say "I made this." and being able to point to a program and say "I coordinated this effort."

One's a much more managerial role than the other. Does Toady really want to spend his time reading code written by others? I wouldn't want to, personally.

Alright, then we'll just sit back and let Toady One code it all. Fine by me, pretty much, except that it would take some time, but oh well whatever suits him.
Logged