Jamie Dallaire on Fri, 7 Nov 2008 12:52:17 -0700 (MST)

 [s-b] Proposal: MathFlag (Non-Cooperative)

```Comments please.

I submit the following Proposal, entitled "MathFlag":
{
Create a Subgame named "MathFlag", described by a new Game Document that
{{
"MathFlag" is a Subgame described by this Game Document.

[[This comment is a quick summary of MathFlag's intended unfolding:

Anyone save for the Gamemaster may become a MathNaut, and selects a Secret
Expression (mathematical) which may include numbers, simple operations, a
variable input to be submitted by other MathNauts, and a single variable
that tracks some external attribute in the game of B (e.g. a Player's
mackerel). Only the Gamemaster knows the Secret Expressions of MathNauts.

The game proceeds via successive Computations by the Gamemaster, which
signal the end of a "round". In every round, any MathNaut may attempt to
decipher clues about any other  single MathNaut's Secret Expression by
submitting an input value, which will then be used to calculate the result
of the target MathNaut's Secret Expression. The result is announced publicly
by the GameMaster.

A MathNaut who think they can accurately predict the results of another
MathNaut's Secret Expression may Challenge that MathNaut, and must then
correctly give the results of that expression evaluated using 3 randomly
generated integers as inputs. If e gets all 3 correct, the challenged
MathNaut is kicked out of the game. If e gets 2 correct, the game continues
as normal. If e gets 0 or 1 correct, the Challenger becomes a Prisoner for
the next 2 rounds, which means e may not submitting inputs for other
MathNauts' Secret Expressions or Challenge anyone.

MathNauts can cease to be MathNauts (effectively losing) when someone
correctly answers 3 random inputs based on their Secret Expression (as
above), when their Secret Expression yields an answer that is not a real
number during any Computation, or when the external attribute tracked by the
variable (if any) in their Secret Expression ceases to be an attribute or
its range ceases to include only real numbers.

When only one MathNaut is left standing, e wins a Solar-Powered Pocket
Calculator. It's also possible that all remaining MathNauts are eliminated
in the same Computation, in which case everyone loses.
]]

All Actions taken within the context of MathFlag may only be taken by
announcement to the Public Forum, unless otherwise specified (in which case
they may not be taken in the former manner).

Stage is an Attribute with a Scope of MathFlag, a Range of {Preliminary,
Selection, Active}, and a Default Value of Preliminary. MathFlag may be said
to be in the Stage that corresponds to its Stage Value (e.g. "in the
Selection Stage").

---   Preliminary Stage   ---

During the Preliminary Stage, any Player of B Nomic, save for the
Gamemaster, may voluntarily gain the property MathNaut. E is then designated
as a MathNaut.

During the Preliminary Stage, the Gamemaster may cause the Subgame to move
to the Selection Stage at a time of eir choosing, provided at least 2 rdays
have elapsed since the Preliminary Stage began.

---   Selection Stage   ---

During the Selection Stage, any MathNaut may change eir Secret Expression an
unlimited number of times by privately submitting a new Secret Expression
(which must be part of this Attribute's Range) to the Gamemaster. The
Gamemaster is expected never (during any Stage of MathFlag) to divulge any
MathNaut's Secret Expression.

Secret Expression is an Attribute with a Scope of all MathNauts, a Range of
all strings between 1 and 8 characters including only characters drawn from
the following set: {0 1 2 3 4 5 6 7 8 9 + - / * ( ) i v} (excluding curly
brackets and spaces), and a Default Value of "i".

For the purposes of Computation, the characters within a Secret Expression
are to be interpreted as follows: numerals represent numerical values, + is
the addition operator, - is the subtraction operator, / is the division
operator, * is the multiplication operator, and parentheses indicate
precedence of operations. i is the Investigator's Input value (or an element
of the Challenger's Query), while v is the value of the Secret Expression's
Variable value.

Variable is an Attribute with a Scope of all Secret Expressions, a Range of
all Attributes and other values within B Nomic (except for any instance of
the Attribute Variable) whose own Ranges contain only real numbers, and a
Default Value of the ndelay.

The last 2 paragraphs mean that, for instance, a MathNaut could set eir
Variable value to any Player's score. For the purposes of Computation, the
character v would then be worth that Player's score value.

During the Selection Stage, any MathNaut may change eir Variable an
unlimited number of times by privately submitting a new Variable (which must
be part of this Attribute's Range) to the Gamemaster. The Gamemaster is
expected never (during any Stage of MathFlag) to divulge any MathNaut's
Variable.

During the Selection Stage, the Gamemaster may cause the Subgame to move to
the Active Stage at a time of eir choosing, provided at least 2 rdays have
elapsed since the Selection Stage began.

--- Active Stage ---

Input is an Attribute with a Scope of all MathNauts, a Range of all
integers, and a default value of 1.

Target is an Attribute with a Scope of all MathNauts, a Range of all
MathNauts, and a default value of the MathNaut who most recently became a
MathNaut. If, at any time, a Player's Target value ceases to be an element
of this Attribute's Range (by ceasing to be a MathNaut), the Player's Target
value is set to this Attribute's default value.

During the Active Stage, any Player may change eir Input and/or eir Target.

Role is an Attribute with a Scope of all MathNauts, a Range of
{Investigator, Challenger, Prisoner}, and a default value of Investigator. A
MathNaut may be referred to using his Role (e.g. an Investigator). An
Investigator may become a Challenger by Challenging, optionally specifying
Rival when doing so. Rival is an Attribute with a Scope of all Challengers,
a Range of all MathNauts, and a default value of the MathNaut who most
recently became a MathNaut.

During the Active stage, the Gamemaster may Compute (aka perform
Computation) at any given time, provided that at least 1 rday has elapsed
since e last Computed and since MathFlag entered the Active Stage. The
Gamemaster shall Compute, at a minimum, every 3 rdays.

--- Computation ---

When the Gamemaster Computes:
{{{
- for every Investigator, e evaluates the numerical value of the
Investigator's Target's Secret Expression, using the Target's Variable and
the Investigator's Input, and announces the result to the Public Forum.

- for every Challenger, if e has not already done so since that MathNaut
last became a Challenger, the Gamemaster publicly assigns em a randomly
composed Query (see below).

- for every Challenger who has submitted an Answer, e thrice evaluates the
numerical value of the Challenger's Rival's Secret Expression (as for
Investigators above, though without announcing results) using each element
of the Challenger's Query instead of the Input.
- If less than two of the elements of the Challenger's Answer are
mathematically identical (eg 2/5 is mathematically identical to 0.4) to the
corresponding (corresponding = in the same position in the ordered list)
elements of the Challenger's Query, the Challenger becomes a Prisoner.
- If two or more of the elements of the Challenger's Answer are
mathematically identical to the corresponding elements of the Challenger's
Query, the Challenger becomes an Investigator.
- If all three of the elements of the Challenger's Answer are
mathematically identical to the corresponding elements of the Challenger's
Query, the Rival ceases to be a MathNaut.

- Prisoners who became Prisoners 2 Computations earlier become
Investigators.

- e publishes an account of all MathNauts and their Attributes (within this
Subgame), save for Secret Expressions.
}}}

Query is an Attribute with a Scope of all Challengers to whom the Gamemaster
has assigned a Query, a Range of all permutations of 3 integers between
-1000 and 1000, and a default value of {0, 0, 0}

Answer is an Attribute with a Scope of all Challengers who have submitted an
Answer, a Range of all permutations of real numbers, and a default value of
{0, 0, 0}

--- Winning and Losing ---

If, at any time, a MathNaut's Secret Expression's Variable value ceases to
be an Attribute, or if its Range ceases to include only finite numbers, this
MathNaut ceases to be a MathNaut.

If, during any Computation, the evaluation of a MathNaut's Secret Expression
(using the appropriate Variable and Input or element of a Query) yields a
result that is not a defined real number, this MathNaut ceases to be a
MathNaut.

If, when a Computation ends, there is only a Single MathNaut remaining, then
this MathNaut is declared the Winner, all former MathNauts are declared
Losers, MathFlag ends, and the Winner is awarded a Solar-Powered Pocket
Calculator as a Trophy.

If, when a Computation ends, there are no MathNauts remaining, then all
former MathNauts are declared Losers, MathFlag ends, and no Trophy is
awarded.
}}
}
_______________________________________________