How to play
Prerequisites:
  1. Install an Ethereum command line interface.
  2. Open a console geth console. (Terminal 1: "geth", Terminal 2: "geth attach")
  3. Create an Ethereum account.
  4. Get some Ether.
Set up your interface to Ξtheria
Inside geth:
var abi = [{"constant":false,"inputs":[],"name":"setLocked","outputs":[],"type":"function"},{"constant":true,"inputs":[],"name":"getWhatHappened","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":true,"inputs":[],"name":"getLocked","outputs":[{"name":"","type":"bool"}],"type":"function"},{"constant":false,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"}],"name":"buyTile","outputs":[],"type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"},{"name":"_s","type":"string"}],"name":"setStatus","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"},{"name":"newowner","type":"address"}],"name":"setOwner","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"}],"name":"getLastFarm","outputs":[{"name":"","type":"uint256"}],"type":"function"},{"constant":false,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"},{"name":"index","type":"uint256"},{"name":"_block","type":"int8[5]"}],"name":"editBlock","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"},{"name":"blocktype","type":"int8"}],"name":"farmTile","outputs":[],"type":"function"},{"constant":false,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"},{"name":"_n","type":"string"}],"name":"setName","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"}],"name":"getName","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":true,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"}],"name":"getStatus","outputs":[{"name":"","type":"string"}],"type":"function"},{"constant":true,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"}],"name":"getOwner","outputs":[{"name":"","type":"address"}],"type":"function"},{"constant":false,"inputs":[],"name":"empty","outputs":[],"type":"function"},{"constant":true,"inputs":[{"name":"col","type":"uint8"},{"name":"row","type":"uint8"}],"name":"getBlocks","outputs":[{"name":"","type":"int8[5][]"}],"type":"function"},{"inputs":[],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"col","type":"uint8"},{"indexed":false,"name":"row","type":"uint8"}],"name":"TileChanged","type":"event"}];
var etheria = web3.eth.contract(abi).at('0xb21f8684f23dbb1008508b4de91a0aaedebdb7e4');
Buy an unowned tile

Take a look at the Ξtheria map and decide which tile you want to buy. If it's unowned, then obtaining it is easy. Just pay 1 ETH for it.

etheria.buyTile(col,row,{from:eth.coinbase,gas:1000000,value:web3.toWei(1,'ether')});
Notes:

Farm your tile for blocks

Now that you have a tile, you'll want to get some blocks for it so you can build that dream home you always wanted. Or a giant penis. Either way:

etheria.farmTile(col,row,blocktype,{from:eth.coinbase,gas:1200000,value:web3.toWei(1,'ether')});
Notes: To view the blocks you farmed:
etheria.getBlocks(col,row);

Edit a block

Blocks have simple x,y,z coordinates on your tile. New blocks begin life HIDDEN with x,y,z set to 0,0,-1. To select which block you want to edit, you'll need to know its index in your list of blocks. Consult the Tile Lookup to view your list of blocks.


Printing this out and drawing on it is helpful.
Once you've selected the block you want to edit (i.e. found its index), do this:
etheria.editBlock(col,row,index,[zero_or_-1,x,y,z,color],{from:eth.coinbase,gas:2500000});
Notes: Color Reference

Change the "name" of your tile

etheria.setName.sendTransaction(col,row,"Tyson Hill",{from:eth.coinbase,gas:1000000});
Notes:

Change the "status" of your tile

etheria.setStatus(col,row,"This thing I built is awesome! Suck it, everyone else.",{from:eth.coinbase,gas:1000000});
Notes:

Give your tile to someone else

etheria.setOwner(col,row,web3.eth.toBigNumber('0xabc123...'),{from:eth.coinbase,gas:1000000});
Notes:

A note on troubleshooting

Ξtheria contains a "whathappened" value that can be used to figure out where you've gone wrong if something doesn't work the way you expected.

etheria.getWhatHappened();
NOTE: This value is shared amongst all Ξtheria players, so if you're the the only person interacting with Ξtheria for a minute or two, it should give you good information. If not, you could get confusing info.