Monday, April 30, 2007

Goldberg Machine, take 2

Create a new Dynastic Rule “The Machine” with the text:

Rube Goldberg machine or device is any exceedingly complex apparatus that performs a very simple task in a very indirect and convoluted way.  The Workers of Goldberg Technology are responsible for creating such a machine.  The Machine has many pieces that are divided into two sub-groups, Parts and Variables.

Create a new sub-rule of The Machine: “Parts”:

There exists a wiki page “Parts of the Machine” which is a list of all current parts of Goldberg Technology’s machine.  New Parts are added to the bottom of this page. Each piece has the following information:
*Name: The name by which the part is refered (and any abbreviations by which it may be refered)
*Crafter: The name of the worker(s) that are responsible for adding the device to the machine, and the wiki page.
*Initiator: The requirements that must be met for this Part to take effect.
*Effect: What changes are made to the Variables Page when this Part is initiated.
*Date Added: What date the part is added

The Effect the Part is limited to the wiki page “Machine Variables” and my effect no other aspect of the gamestate.  A Part may not affect a Variable that is not currently on the “Machine Variables” wiki page.

Whenever any Part is Activated it’s Effects take place in the order by which they are listed.  If any effect would Initiate another Part, then that Part is initiated, in the order (from Top to bottom) that the Parts appear on the wiki.  The machine is considered “running” while any Part is causing an Effect and continues running until no more Parts remain to take effect.

While the Machine is Running it is possible that it becomes trapped in a loop, which is described as the same pattern of actions happening more than 3 times.  In the event that the Machine is trapped in a loop, the machine is considered broken and all effects are stopped, and the most recently added Part is removed.

Create a new Sub-rule of Machine: “Variables”:

There exists a wiki page “Machine Variables” which is a list of all the changing parts of the machine.  Each variable is tracked as follows:
*Name: The name by which the Variable is refered (and any abbreviations by which it may be refered)
*Creator: Who add this variable to the Machine
*Possible States: What the possible states the variable may be in, and the order by which the variable advances
*Current State: what the current state of the vaiable is.
*Date Added: The Date when the Variable was added

Add the following to the “Machine Parts” wiki page:

*Name: Master Switch
*Creator: Amnistar
*Initiator: Proposal with the title “Flip that Switch” is passed
*Effect: increase the energy output of the Outlet by 10.
*Date Added: Today


*Name: Electric Fork
*Creator: Amnistar
*Initiator: Outlet is set to more that 7.
*Effect: Ball on Ramp is set to “Pushed Down”
*Date Added: Today

*Name: Sonic Spoon
*Creator: Amnistar
*Initiator: Outlet is set to less than 5 but more than 2.
*Effect: Ball on Ramp is set to “At the Top”
*Date Added: Today

Add the following to the “Machine Variables” wiki page:

*Name: Outlet
*Creator: Amnistar
*Possible States: Energy Output 0, 1, 2, 3, 4, 5, 6,7, 8, 9,10 (If increased beyond 10 resets back to 0).
*Current State: 0
*Date Added: Today

*Name:Ball on Ramp
*Creator: Amnistar
*Possible States: “At the Top”, “Pushed Down”
*Current State: “At the Top”
*Date Added: Today

 

Comments

Enderbean:

30-04-2007 03:45:46 UTC

imperial

BobTHJ:

30-04-2007 03:48:56 UTC

This looks like it could be a lot of fun for

Clucky: he/him

30-04-2007 04:19:28 UTC

This is not a proposal. This is Amnistar posting a draft.

Please add a catch for infinite loops. Either define an infinite loop and define a proper method for avoiding infinite loops, or grant victory to anyone who triggers an infinite loop(I prefer this idea), but find a catch somewhere just incase.

BobTHJ:

30-04-2007 04:24:43 UTC

Oops!

I agree with Clucky on Infinite Loops. The person who gets the machine to “work” should win.

Amnistar: he/him

30-04-2007 04:38:32 UTC

Well, the actual idea, from the AA is that the net worth will be the resulting win, and when the machine works the game is over.  I’m nore sure exactly how you’d provoke an infinate loop?  I think that I’ll not that an Infinate loop shuts down the machine I guess…

Enderbean:

30-04-2007 07:02:25 UTC

I think there should be some sort of penalty if you cause the machine to malfunction by an infinite loop. Maybe having your pay docked or something. :)

Hix:

30-04-2007 15:04:49 UTC

Back in Thelonious’s Musical Dynasty, we had what was essentially a finite state machine, and many states caused automatic changes in the machine’s state, which could lead to more automatic changes, etc.  We came up with what I think is an excellent way of dealing with the possibility of an infinite loop, which can be found in the Ruleset from that Dynasty.  (Rule 2.2 “Style”, second paragraph)

If you don’t want to read it, here’s a summary:  Firstly, a distinction is made between manual changes to the state (i.e. something external to the machine’s own instructions causes the state to change) and automatic changes (i.e. a trigger in the machine’s own instructions changes the state).  Whenever there is a manual change to the state, any automatic changes that are triggered take place simultaneously (with a caveat that if two separate triggers simultaneously try to change the same variable, then both triggers fail).  If this causes more automatic changes to be triggered, then they are now applied simultaneously.  Repeat until no more automatic changes are triggered, or until a machine state has been reached twice (since the manual change that started this whole mess).  At this point, even though there may seem to be automatic changes that are triggering, they won’t take effect until after another manual change takes place (provided the automatic changes are still triggered after the manual change, of course).

I think this would be the best option, at least for now.  Giving victory or a penalty to someone causing an “infinite” loop may be a good idea a bit later when we better understand exactly what the role of the RG machine is in this dynasty.  It also causes the headache of having to unambiguously specify just exactly WHO is the person causing the infinite loop (Imagine, for example that Amnistar’s “Master Switch” starts off an infinite loop.  Who gets credit?  The one who made the “Flip that switch” proposal?  The enacting admin?  The Master Switch’s creator?).

Amnistar: he/him

30-04-2007 15:57:53 UTC

Good point, editing to include that idea now.

Amnistar: he/him

30-04-2007 16:10:37 UTC

How is that?

Hix:

30-04-2007 16:19:24 UTC

If you don’t mind, I’d like to see the rule organized so that “The Machine”, “Parts”, “Variables”, “Variable State”, “Crafter”, et cetera, are frist simply defined (merely hinting at the “use” for each of them) and describing how the associated wiki pages are to be laid out.  Then have a whole subrule solely dedicated to describing “how it all works”.  What do you think of that?  See my discussion page on the wiki for my current draft.  (so far, I’m still writing the “how it all works” bit).