Wednesday, May 09, 2007

Proposal: Action Fix


Adminned at 13 May 2007 04:18:14 UTC

Modify the rule “Machine in Action” to read:

At any given time, the Machine is considered to be either “Running” or “Standing by”. At the moment this paragraph is added to the Ruleset, the Machine is Standing by.

When the Machine is Standing by, it becomes Running if any of the following occur:

  * The order or contents of the list of Parts on the “Machine Parts” page change (including the addition or removal of a Part or Variable).
  * A Worker is added to or removed from the list of Active Workers in the blog sidebar.
  * A Proposal becomes Enacted. In this case, the specified effects of said Proposal occur before the Machine becomes Running.
  * A value which the Ruleset requires to be tracked in the GNDT changes.

When the Machine becomes Running, the following steps take place, in order:

  * Step 1 - If any Rule other than this Rule requires changes to be made to the Gamestate, those changes are made as usual, until no such changes are required. (If there is an infinite loop within the Ruleset itself, no out will be provided, of course. Don’t let that happen.)
  * Step 2 - If the position of each Part on the workbench and the state of each part on the “Machine Parts” page is identical to any previous iteration of Step 2 since the machine was most recently Standing By then the Machine becomes Standing by, and any remaining steps are not performed.
  * Step 3 - If no requirements for the Initiator of any Part are satisfied, then the Machine becomes Standing by, and any remaining steps are not performed.
  * Step 4 - A ‘snapshot’ is taken of the current state of the Machine Parts and Workbench pages.
  * Step 5 - Each Part in the ‘snapshot’ is examined in order from top to bottom. If the conditions specified in the Initiator of that part are met based upon the information in the ‘snapshot’ then the Effect of that part is carried out by making changes to the Machine Parts page, Workbench page, or any other required changes.
  * Step 6 - Repeat Steps 1-6 in order, until a Step indicates that remaining steps are not to be performed.



05-09-2007 18:16:37 UTC

Ok, so I already see I missed a reference to “Variable”. However, it is non critical to the rule function, so it shouldn’t be an issue.


05-09-2007 18:47:05 UTC

If that had been the only thing, you could have edited your post rather than posting a comment.

But there are other things:

* “position” should be “Location”

* “Step 5 - Each Part in the ‘snapshot’ is examined in order from top to bottom.”  What does this mean: left to right, or right to left?  Why did you pick top to bottom: given that the bottom row is most likely to contain Parts, why not start at the bottom?


05-09-2007 19:11:19 UTC

against SK

I was referring to the Machine Parts page not the Workbench with step 5, but I guess I didn’t make that clear. I will try again.