Friday, May 04, 2007

Proposal: Variables are silly

Time out (3-4).—Axeling

Adminned at 06 May 2007 22:56:28 UTC


If the proposal titled “Workbench Repair” passes, reverse all changes by the proposal except for the line “Amend Rule 2.3.1 “Parts” and 2.3.2 “Variables” to replace the word “Cells” wherever it appears with the word “Squares”.”


In the rule called “The Machine” enact the following changes:

-replace “The Machine consists of Pieces that are classified as either Parts or Variables.” with “The Machine consists of a number of pieces, also called parts.”


In the sub-rulle called “Parts” enact the following changes:

-replace “A description of changes to the “Machine Variables” wiki page.” with “A description of changes to the variables of the part or other parts in the machine.”

-add “Variables: The variables associated with each part. Each variable should include the following information:

# Name: The name by which the Variable is referred (and any abbreviations by which it may be referred).
# Possible States: A description of the possible states the variable may be in. If appropriate, a description of the order in which the variable advances may be included.
# State: The current State of the Variable (which must always be one of the possible states described in the previous bullet-point).
# Default State: A Constant which is the same as the State of the variable when the part is first added to the Machine.


Repel the sub-rule “Variables”


In the sub-rule “Workbench” enact the following changes

-replace “In order for a Part to become part of the Machine, that Part must be placed in vacant Squares in the Workbench. If a Variable’s description in the “Machine Variables” wiki page provides that the Variable may be placed in the Workbench, then the Variable may not become part of the Machine unless it is placed in vacant Squares in the Workbench. Otherwise, it is not required that the Variable be placed on the Workbench in order to become part of the Machine.”

with “When a Part is added to the Machine, that Part must be placed in vacant Squares in the Workbench. If it cannot legally be placed in the Workbench, the part is not added to the machine.”


In the sub-rule “The Machine in Action” enact the following changes

-if it exists, replace “The order or contents of the list of Parts on the “Machine Parts” page or of the list of Variables on the “Machine Variables” page change (including the addition or removal of a Part or Variable).”

with “The order or contents of the list of Parts on the “Machine Parts” page, including any variables, page changes (including the addition or removal of a Part or Variable).”

-replace “Step 2 - If the order and contents of the list of Variables on the “Machine Variables” page are identical to what they were during any previous iteration of Step 2 that was made since the Machine was most recently Standing by, then the Machine becomes Standing by, and any remaining steps are not performed.”

with “Step 2 - If the order and contents of all the variables on the “Machine Parts” page are identical to what they were during any previous iteration of Step 2 that was made since the Machine was most recently Standing by, then the Machine becomes Standing by, and any remaining steps are not performed.”

-replace “Changes to the “Machine Variables” page are made as described in the Effect of the first Part for which the Initiator requirements are satisfied (when the Parts are considered in the order in which they are listed on the “Machine Parts” page). No aspect of the Gamestate other than the contents of the “Machine Variables” page may be changed in this way.”

with “Changes to the each of the variables on the “Machine Parts” page are made as described in the Effect of the first Part for which the Initiator requirements are satisfied (when the Parts are considered in the order in which they are listed on the “Machine Parts” page). No aspect of the Gamestate other than the contents of these variables may be changed in this way.”


In the rule Position enact the following changes

-replace “There exist a wiki page Created Pieces which contains a list of pieces that have not been added to the machine. Any Entry to this page must either be a Variable or a Part and contain all the information that they have, as well as the date which the part was added to the Created Parts page.”

with “There exist a wiki page Created Pieces which contains a list of pieces that have not been added to the machine. Any Entry to this page must part and contain all the information that they have, as well as the date which the part was added to the Created Parts page.”



Remove all entries from the created pieces page. Any worker who made an entry to the created pieces page which was removed by this rule may, once within 72 hours after this proposal passes, add new entry to the created pieces page. This action is not considered the same action done by the GWF and thus does not count against eir “often”


Like this proposal says, variables are silly. They basically just make it take longer to get a part in action. It is not like two parts are gonna share the same variable. If they are sharing the same variable, I betcha that isn’t a variable but another part. Like, the watering can is a part. The status shark is a part. Variable would be like “status of watering can”. But forcing one to add even the most trivial variables is silly

Comments

spikebrennan:

05-04-2007 16:00:21 UTC

I vote for because I agree with the concept.  I think that there may be some problems in the details of your proposal (such as the continuing use of the word “pieces” which should now probably be “parts” wherever it appears), but that can be resolved via a future patch.

Clucky:

05-04-2007 16:07:27 UTC

Just as an aside, a part need not have any action. So say we had a mouse that does nothing, but cannot be a variable because more than one part uses it. Thats fine. Just make it do nothing, only store variables, and you are all set.

alethiophile:

05-04-2007 16:10:56 UTC

for By the way, there are multiple typos in this. “Repel the sub-rule….” and so on. Is it legal to edit the proposal to remove these?

Axeling:

05-04-2007 16:16:00 UTC

imperial

Hix:

05-04-2007 17:33:32 UTC

against ugh.

Amnistar:

05-04-2007 17:38:47 UTC

Variables are intended for the posibility for multiple parts to affect, or be affected by.  All this does is allows any worker to add any number of variables to the machine attached to a part, which provides all kinds of fun oppurtunities for loopwholes to show up.  If you think the process for building the machine is to long, then I recommend altering the rules such that you are allowed to add more pieces, not make it so you can add 1 part, and infinity variables.

Also, while some of the current variables should be parts, variables are supposed to be non-acting entities, namely, they don’t do anything themselves, but various parts are started by them.

however, if there is support for the idea, I will, resignedly, support it…so, no veto, just against

Clucky:

05-04-2007 19:10:45 UTC

Maybe we need three kinds of things then. But we still have two types of variables. We have the physical variables, like the watering can, and we have the intangible variables, like the status of the shark. While I am not against keeping the physical variables and the physical parts seperate, I think we should at least keep everything an object.

So like, the watering can could stay a variable because multiple parts could use it. But the Shark Status would simply become a sub-variable of the shark. It is silly that it would take two turns to add a shark just because it needs a variable.

Amnistar:

05-04-2007 21:15:29 UTC

yeah, I’m fine with parts having states, or with variables having initiators, but I’d like for it to rather just be a combination of the two.  I.E. all parts to the machine have the following:
Name, Initiator, Effect, Possible States, Current State, Default State, and just allow one or more of those to be null (except for the name) thereby allowing some parts to have the same effect.

alethiophile:

05-04-2007 21:18:20 UTC

Isn’t that what Clucky was proposing in the first place? And nobody’s answered my question. Is it legal to edit the proposal to remove typos?

Amnistar:

05-04-2007 21:45:00 UTC

not legal to edit a proposal to remove typos no, legal to fix typos after a proposal is passed.

What clucky is proposing is that each part might have any number of variables attached to it, which could cause potential problems, especially with referencing, where I’m saying that every part just has all the information of both attached to it, making referncing easy, and limiting the connection of variables to parts.

BobTHJ:

05-04-2007 21:53:30 UTC

against I like the concept, but I agree with Amnistar as to the best method of implementation.

Clucky:

05-05-2007 01:58:16 UTC

Um, so like, yeah, you could have a part with a million variables. But you could also have a part that blows up the machine when it goes into action. Common sense is still required, as always .

Amnistar:

05-05-2007 02:56:44 UTC

right, but common sense can’t be monitored by the rules.  If each part can only contain a single variable entity, then limitation is easier, even if said limitation isn’t the same as it is now (namely increasing part additions to 2 or 3 a week, and changing the method of informing the rest of blognomic.)

Clucky:

05-05-2007 14:12:15 UTC

So just make it like, three.

alethiophile:

05-05-2007 16:54:10 UTC

I like the idea of each part having a realistic number of variables. Perhaps three. Each having only a single variable means that you would have to add a new part for every variable you want. Anyway, say a shark might have both “Status” and “Position”—maybe the shark moves along a track? It works better to have as many variables as necessary on any given part. I think that we should just trust that people aren’t going to set up parts with millions of variables.

Clucky:

05-05-2007 17:16:37 UTC

Right. And if a part has too many variables, no one is gonna choose to ad it to the machine, right?

So we wanna make three the limit?

Amnistar:

05-05-2007 18:58:15 UTC

I’d rather just have every part have a single variable, and then have variable, initiator and effect all have the posibility of being null.  If you can give me a good example of a part with multiple variables I might reconsider, but, for example, your shark.  Position is completely different, not a variable, it’s tracked by the workbench.  the effect of the shark could be to have it move, or to have it eat something, or something along those lines.