Seth Cooper Staff Lv 1
Changing project.
Changing project.
I've created a wiki skeleton for Lua Scripting ( http://foldit.wikia.com/wiki/Lua_Scripting )
including one example script ( http://foldit.wikia.com/wiki/Get_segment_score_part )
I'm with Brick, in that scripting should be set up so that anyone, regardless of programming experience, can use it. I can program, but my skills date back to the mid 80's, and are horribly ineffective in this environment. Without making scripting simple, I can't take advantage of this new tool.
If scripting can be made as easy as programming one's VCR or TiVo, I would disagree with Brick that scripting will automatically cause a schism in the ranks. Some people even now don't use the more "advanced" tools like rebuild. Whatever their reason, I doubt that they think they are second-class folders and would leave because they feel disadvantaged.
Adding another tool is just that: adding another tool. Not every carpenter uses every tool on his belt; but they build nice houses, just the same.
All right … my tutorial is up. As requested, at as close to "total beginner" level as I could get. It is not comprehensive in any sense, but it covers the most basic things a person will want to do and gives lots of ideas for further exploration on their own.
I tried to emphasize the idea of using a basic loop through the protein (cut 'n paste from the tutorial or sample script if desired) and filling the body of the loop with a series of statements of your own choosing. That is prbably 95 percent of what folks will actually want to do, and any mroe advanced stuff can get cut and pasted in or skills to do so acquired as needed.
I spent a. lot. of. time working on how to use the commands from the command list, i.e., "take off the word "void" and then put a number into the parentheses. The number is called a parameter and it tells the command what it needs to know … " I know there is tediousness there for anyone who has experience programming, but helping folks become adroit with those commands will be key to putting everyone on the same footing with scripting. The fancy stuff like building a bunch of loops or conditionals or whatever … also important, but not so much (and harder to learn).
http://foldit.wikia.com/wiki/Scripting_Quick_Start_Guide
I would actually love it if an actual beginner could take a look and see if it works for them to provide enough to get up and running. I'll modify as needed based on feedback (and anyone is welcome to modify it themselves, of course)
I agree with your assessment of a potential schism being created, by the way, Boots. Scripting is much more of a powerful tool than I think the devs might realize. That's just IMO based on how I've heard them talk about it. They may see it more as a fun new feature that they're just providing because players have clamored for it. Not as a game changer. Which I think those of us who have been folding for a while know that it will be, because 95 percent of what we do is basically repetitive and algorithmically describable. The five percent that is unique and human … well … it's what everyone in the scientific community is really interested in and why Foldit exists. But points are points, and so if it's easier to run a script all night long and grind away at those points than to sit and think and visualize and play … well, you can guess what folks will tend to want to do.
Nice work, and I'm with your opinion about scripts.
Who knows?
Maybe someday they will implement some algorithms in(to) Rosetta created here on FoldIt.
Thanks to some suggestions from Mat747, the current tutorial is going to be split into three parts – beginner 1, beginner 2, and intermediate (leaving advanced for someone with more skills to do, perhaps? :) )
Beginner 1 will be up shortly and will include ONLY things a person needs to know to download and run scripts from the web (plus a couple goodies like opening an output window, selecting segments before running a script, etc.) The idea being that many people just want to work with scripts other people have made.
Beginner 2 will include the current material on commands in more depth and with more examples, and will feature a sample script that is a series of statements (no looping, variables, etc.)
Intermediate will be the rest of the material that is up now (variables, loops, more complex commands, etc.) We should also add a section on if statements.
Anyone who is interested in working with lua now can look at the current tutorial (labeled "intermediate") or hold off for a day or two for beginner 1.
I think it is great the amount of work that has been done so far, to help us non-scripters.
Crashguard will you add some of your scripts to the tutorial,In the intermediate/advanced skill level.
If you are to busy to do a tutorial, you could add them to an Example page. it would still help players because of the comments you have added to scripts.
Hi folks …
Shall we start a foldit lua scripting working group for further discussion of tutorial development (and scripting ideas and development in general?)
See this post on the forums: http://fold.it/portal/node/987000
Posted a reply at this node.
Some new answers are here: