Back to Recipes Homepage
recipe picture
Recipe: Fuzes 3.0
Created by LociOiling 2 1
Your rating: None Average: 4.2 (9 votes)


Name: Fuzes 3.0
ID: 103206
Created on: Sun, 12/15/2019 - 22:59
Updated on: Mon, 12/16/2019 - 06:59

Updated version of Rav3n_pl Fuzes. Adds a recipe control of the wiggle power setting, and a new CI scaling factor. Internally, the core fuze logic is package as a module for easier reuse.

Best For


LociOiling's picture
User offline. Last seen 56 min 8 sec ago. Offline
Joined: 12/27/2012
new update, some new technology

It's been nearly five years since the last update, but this is the latest version of Rav3n_pl Fuzes. Although Rav3n_pl's name is gone from the recipe title just for clarity, it's still his recipe at heart.

This version has some new features, and has been restructured a bit internally.

The recipe now lets you control the wiggle power setting, letting you enter l, m, a, or h (if available) for low, medium, auto, or high wiggle power. The recipe only checks the first letter, so a or au or aux will all get you auto. (Internally, the code demonstrates a way to do error messages for bad input.)

The wiggle factor setting continues as before, and is similar to wiggle factor in Tvdl Enhanced DRW or TvdL DRemixW. The initial wiggle factor is now set based on the initial wiggle power. (Thank bertro for that.)

A new CI factor setting is added, and takes it initial value from the current CI. This setting is similar to what happens if CI is not 1.0 at the start of EDRW or DRemixW. The CI factor is used to scale whatever CI the recipe uses. So if you set CI factor 0.91, and the recipe calls for CI 0.5, the effective CI is 0.91 * 0.5 = 0.455.

The CI fuzz factor is now just a single slider, versus a checkbox and a slider. As before the fuzz factor adds or subtracts a small random value from the CI. The CI factor is applied on top of the fuzz factor. (Actually the fuzz factor is not a factor at all, since it doesn't involve multiplication, just addition.)

The minimum gain and disable filters settings are as before.

Internally, the recipe has been restructured, with the core fuze functions moved into a table called FUZ. In theory, this makes it easier to reuse this code in another recipe. (There is a cross-dependency on the "decentbest" package, sorry about that, hope to eliminate that some day.)

The score tracking and timing logic has also been repackaged into a table called CPT. In addition to the overall score, it now tracks and reports changes to bonus from filters, and changes in the density score on ED puzzles. Thanks to bertro for leading the way on this front.

Both FUZ and CPT demonstrate methods in Lua. Their methods are called using the colon operator, for example CPT:start and CPT:stop for timing a section of code.

There are some hopefully minor changes to the fuze logic (aside from the CI scaling factor). (The FuzeEnd method is now invoked by both Fuze1 and Fuze2.)

There are several other minor changes, such as new random number seeding logic, and an Ident function to log some information about the puzzle and the recipe.

Want to try?
Add to Cookbook!
To download recipes to your cookbook, you need to have the game client running.

Developed by: UW Center for Game Science, UW Institute for Protein Design, Northeastern University, Vanderbilt University Meiler Lab, UC Davis
Supported by: DARPA, NSF, NIH, HHMI, Amazon, Microsoft, Adobe, Boehringer Ingelheim, RosettaCommons