Monday, August 06, 2007

Proposal: The Monkey Tree, take two

Timed out. Fails 2-4—Clucky

Adminned at 08 Aug 2007 06:06:18 UTC

Reword the rule “Status” to read:

Each Monkey has a Status tracked in the GDNT which is either In Line, In the Barrel or In the Tree.  The default status is In the Line.  As a daily action, any Monkey may change their status to any of the allowed statuses.

Add the following sentences to the end of the Rule “The Monkey Line”:

Only Monkeys whose status is set to In Line are considered to be in the Monkey Line.  If a Monkey’s status changes to something other than In Line, they are removed from the Monkey Line and may not be added back until their status changes back to In Line.


Add a rule called “The Monkey Tree” with the following text:

The Monkey Tree is an endless tree made of Nodes, each of which can be termed a Root, a Junction, or a Leaf. The Nodes may each contain zero or more Monkeys.  No Monkey may occupy more than one Node of the tree at a time.  The Monkey Tree is tracked on the wiki page called “Monkey Dynasty Gamestate Documents”.

There is one Node of the Monkey Tree which is known as the Root.  The Root is always a part of the Monkey Tree.  If the Root contains no Monkeys, the tree is Empty, and the Root contains no Branches.  If the Root contains any Monkeys, than it has two Branches; a Left Branch and a Right Branch.  Each of these Branches contains one Node.

All other Nodes in the tree are either referred to as Junctions or Leaves.  Every Junction contains two Branches; a Left Branch, and a Right Branch.  Each of these Branches contains one Node.

If a Leaf has any Monkeys in it, it becomes a Junction.  If a Junction contains no Monkeys, and neither of the Nodes in its Branches are Junctions, it becomes a Leaf, and the Nodes that were formerly in its Branches are no longer considered to be part of the tree.  If a Junction or the Root contains no Monkeys, but one or both of the Nodes in its Branches are Junctions, than any Monkey may move either the Monkey in the Node in the Junction’s Left Branch or the Monkey in the Node in the Junction’s Right Branch into the Junction.

If a Junction or the Root ever contains more than one Monkey, than any Monkey may move one of the Monkeys in that Junction or Root to either the Node in that Junction or Root’s Left Branch, or the Node in that Junction or Root’s Right Branch, by following the instructions in this rule’s subrule “Tree Ordering”.  If there are no instructions listed in “Tree Ordering” or none of the instructions listed apply to the Monkeys in the Junction or Root, than the Monkey doing the moving may move any one of the Monkeys in the Junction or Root to either of the Nodes in its Branches.

Only Monkeys whose status is set to In the Tree are considered to be in the Monkey Tree.  Whenever a Monkey’s status is changed to “In the Tree”, they move into the Root of the tree.  If a Monkey’s status changes to something other than In the Tree, they are removed from the Monkey Tree, and may not be added back into the tree until their status is changed to In the Tree.

Nodes in the tree can be referred to individually in the following manner:
The root Node can be referred to as “O”.
The Node on the Left Branch of any other Node can be referred to by appending “L” to the name of that Node.
The Node on the Right Branch of any other Node can be referred to by appending “R” to the name of that Node.
Thus, OR is the right child of the root, OL is the left child of the root, ORL is the left child of the right child of the root, etc.

If it ever happens that a dance move or another part of the ruleset or the gamestate refers, in this way, to a node that is not currently considered to be part of the tree, the sentence in which that node is referred to is ignored.

Add a subrule to “The Monkey Tree” called “Tree Ordering” with no text.

The reason I like this naming system is that eventually we are probably going to have dance moves that add Monkeys and NPCs to the tree, or move Monkeys around in the tree, and we thus need a way to refer to Nodes that don’t exist yet, but which may exist after some or all of the Dance has been performed.  If we name the nodes arbitrarily, there’s no real way to do that since no one will know what a new Node will be named beforehand.  This way, the node names are predictable.

Comments

Chivalrybean:

08-06-2007 05:08:14 UTC

Clucky is right—
Kevan:

labeling them A-Z on a graphical map would be fine, particularly as (if I’m reading this right) it doesn’t need many more nodes than Monkeys.

sounds a whole lot easier.

Node A has a branch named B and C, and every time a new one needs made, just use the next letter, then if for some reason we need to, use AA and BB etc.

Why over complicate it? imperial

Oracular rufio:

08-06-2007 08:51:34 UTC

Well, if the left child of the left child of the Root winds up being added to the tree before the right child of the Root, does it get represented as B, or do we reserve that for the root’s right child?  It’s a very arbitrary system, and someone could easily go through, rename all the nodes (or just remove all the Monkeys and add them back in in a different order) and change the way everyone’s dance moves work.

IMO, this is the uncomplicated way.

Kevan:

08-06-2007 09:47:16 UTC

against An overcomplicated addition, when we’re still trying to make the Monkey Line interesting.

Chivalrybean:

08-06-2007 15:23:17 UTC

Make it illegal to rename the nodes without need or remove the monkeys without need. Just give each node that is created the next available letter.

Oracular rufio:

08-06-2007 16:41:49 UTC

Ok, but if the Nodes are all removed for a reason and then all added back in for a reason, than the letters will change.  Even if there was a need.

Icarus:

08-06-2007 17:14:25 UTC

for Systematic. I like it.

Clucky:

08-06-2007 17:48:30 UTC

Back when we had the monkey barrel working as a stack, I liked this idea. It provided lots of balance. But now I am thinking it might be smart just to stay with the monkey line and use the barrel as “time out” for bad monkeys.  against

Chivalrybean:

08-06-2007 19:54:35 UTC

Yeah… I don’t see a real need for a tree myself, unless there was a reason to be at the top.

Oracular rufio:

08-07-2007 03:35:04 UTC

I had in mind something where if you reached certin heights of the tree you got bananas, seeing as there is no way of getting bananas in the ruleset right now.  But maybe this can be accomplished more simply, now that we aren’t on the data-structures track anymore.

Icarus:

08-07-2007 06:04:54 UTC

Makes sense. You don’t find bananas at the bottom of trees.

aaronwinborn:

08-07-2007 15:54:30 UTC

against I think it should be explicit where a monkey is returned to in the Line if they manually change their status back (presumably to the end of the line). Skimming through the rules and proposed rule, I think this would be undefined.

Oracular rufio:

08-07-2007 19:19:27 UTC

That could easily be fixed in another proposal, though.  I don’t think anyone’s going to make issue with it.

aaronwinborn:

08-07-2007 19:31:48 UTC

I’m also concerned about being able to change a monkey’s status as a daily action. I think it might be more interesting to have that the result of an action, like in Clucky’s recent Barrel proposal.

Clucky:

08-07-2007 20:04:08 UTC

Like Icarus said, bananas can be given via the line (see my latest proposal)... having the tree would just make the dance infintely more complex, and while I was willing to go that direction when we had stacks as well, if the barrel is just gonna be ‘time out’ then this would clutter the ruleset.