Roger Hicks wrote:
> On Thu, May 28, 2009 at 16:18, Benjamin Caplan
> <celestialcognit...@gmail.com> wrote:
>> Am I imagining things, or was there a contract recently that defined
>> a coordinate grid of locations?
>>
>
> I sent one out but it seemed nobody was interested. "Wacky World" was
> the title.


I just took another look at it, and it seems kind of TLDR. I think new
contracts should generally try to be relatively simple (or only
moderately complex) at first, and add complexity over time. Other,
interacting contracts can do this well; see the interaction of the AAA
with various banks, and thereby with the Note subgame.

On the other hand, maybe Wacky World was the right level of gameplay
complexity, but the rules somehow seemed scarier than they had to be.
Stripping down the rules (as I've done in my proto below) makes things
easier to grok, but also makes it much harder to create an interesting,
balanced game (which I've probably not accomplished).

Taking out the theoretical overhead infrastructure about Worldbuilding
Proposals and Properties and whatnot in favor of hard-coding game
mechanics (as I've also done below) also significantly reduces
scariness, but at the cost of reduced flexibility.

Perhaps Wacky World would work well as an independent nomic, rather than
trying to be someone else's subgame. Your original isn't quite at that
level of complexity, I think, but it would likely be a comparable amount
of work to get a working independent version as to get a palatable
subgame version.

The other important change I made was to allow out-of-contract items to
be placed on the grid, which provides a certain degree of interactivity
with other subgames.


Proto:
{
1. BOILERPLATE
This is a public contract and is intended to be a contest. Any person
can join or leave this contract by announcement. Any party may amend
this contract without three objections. Actions permitted by this
contract are performed by announcement unless otherwise specified.

This contract can incur obligations under the Rules of Agora. Its
parties SHALL ensure it fulfills its obligations.

If this contract became a contract within the past two weeks, Atlas CAN
modify it by announcement, except for changes that would affect the
operation of this paragraph. Any party to this contract CAN oppose any
such modification by announcement within 24 hours. If a modification is
opposed the contract is treated as if that modification had never been
made. If this contract has been a contract continuously for the past two
weeks, this paragraph repeals itself.

Initially Atlas is [person].

2. CONTESTHOOD
If this is a contest, then Atlas CAN flip its contestmaster to emself.
The axes of this contest are {X, Y}. When a medal is created in
possession of this contest, the contestmaster SHALL set its location to
a random tile.

3. THE WORLD
The World is a grid of squares (Tiles), initially 16 by 16. A tile is
adjacent to each tile directly bordering it in a cardinal direction (no
diagonals). A tile may be referenced by specifying its (X,Y) coordinate
pair (where X is its horizontal position and Y its vertical position),
with the square (0,0) being in the upper left corner, and the square
(A-1,B-1) being in the lower right corner (where A and B are the width
and height of the grid respectively).

Location is an entity switch, tracked by Atlas, with values of all tiles
and Null (default). Atlas's report does not include, and Atlas generally
SHALL NOT reveal except as required by this contract, the location of
any non-party entity whose location is not already public knowledge.

Terrain is a tile switch with values Fallow (default), Fertile, and Wall.


4. ATLAS'S REPORT AND POLLINATION
Atlas's report is weekly and contains the size of the World.

If e has not done so in the past 48 hours, Atlas CAN begin
a new turn; doing so thereby ends the previous turn. E SHALL do so at
least once in each Agoran week.

In the same message after beginning a new turn, Atlas CAN and SHALL, for
each Fertile tile, randomly select one tile (the target) adjacent to
that tile, and if the target is Fallow, then make the target Fertile.

5. JOINING AND LEAVING
When a person becomes a party to this contract, eir location is set to
its most recent non-Null value if any, if possible, and if non-Wall; or
to a random tile otherwise.

Within the same turn after a first-class person becomes a party to this
contract for the first time, Atlas SHALL set the Terrain of a random
tile to Fertile.

When a person ceases to be a party, eir location is set to Null.

6. BASIC GAME ACTIONS
Each of the following is a Game Action. A party CANNOT perform a Game
Action if e has already performed a Game Action during this turn,
clauses to the contrary notwithstanding.

   a. Moving
A party to this contract CAN change eir location ("move") to an adjacent
non-Wall location if e has not already done so during the current turn
and if eir location is not Wall.

   b. Dropping Things
When a party to this contract successfully transfers an asset to this
contract ("drops" the asset), that asset's location is set to that
party's location. The attempted transfer of an asset that this contract
CANNOT own is unsuccessful for purposes of this paragraph.

   c. Picking Things Up
A party to this contract (the magpie) CAN pick up an asset whose
location is the same as eir location. Upon doing so, this contract
transfers the asset to em. Within the same turn afterward, the
contestmaster SHALL if possible award two y-points to the person who
most recently dropped that asset (the donor), unless the donor is the
magpie.

   d. Agriculture
A party CAN reap a Fertile tile adjacent to eir location; the tile
becomes Fallow. Within the same turn after e does so, the contestmaster
SHALL if possible award em one x-point.

   e. Building
A party CAN raise a wall on an adjacent tile, provided no party's
location is that tile. Within the same turn after e does so, the
contestmaster SHALL if possible revoke one x-point from em, and (if e
did so revoke) switch the Terrain of that party's location to Wall.

   f. Pushing
A party at location (x1,y1) CAN push an adjacent Wall tile (the near
tile) at location (x2,y2), provided that (2*x2-x1,2*y2-y1) (the far
tile) is a non-Wall tile. Upon doing so, the far tile becomes Wall, the
near tile becomes Fallow, and each party whose location is the far tile
ceases to be a party.

   g. Searching
A party CAN search eir location. Within the same turn afterward, Atlas
SHALL privately disclose to em the list of all entities whose location
is the same as or adjacent to the searcher's.

}

Reply via email to