Monday, May 03, 2021

EtherFreakers

EtherFreakers is a decentralised game on the Ethereum blockchain. To play, an account must birth a freaker, an ERC-721 token. This requires a payment in ether to the EtherFreakers smart contract that is greater than 1.005 times the price paid for the n/2-th birthed freaker where n is the current number of freakers. For the first freaker, any price greater than zero will do.

Each freaker is randomly assigned to one of eight species: mercury, venus, mars, jupiter, saturn, uranus, neptune, and pluto. Each freaker is randomly assigned numeric values for a set of five attributes: agility, stamina, fortune, offence and defence. Both probabilty distributions are non-uniform, and the probability distribution for the attributes depends on the species.

Each freaker has energy. Before a freaker is birthed, half of the price is distributed to the existing freakers as energy and the other half is assigned directly to the new freaker as energy. Furthermore, an account can deposit or withdraw ether to increase (charge) or decrease (discharge) the energy of a freaker.

Each account has a combat multiplier with two components: offence and defense. When an account receives or sends a freaker, its combat multiplier increases or decreases respectively based on the offence and defence attributes of the freaker. A transfer also triggers a redistribution of some energy to all existing freakers.

A freaker can attack another freaker. The outcome is either a miss, a thwart or a capture. The outcome is random but is based on the attributes and energy of the freakers and the combat multiplier of the controlling accounts. An attack also triggers a redistribution of some energy to all existing freakers. In the case of a capture, the ERC-721 token of the loser is transferred to the winner. If an account has at least one freaker from each species, those freakers cannot attack or be attacked. 

Additionally, there are eight creators, a special type of token, that cannot attack or be attacked. These were created when the smart contract was first deployed and serve to siphon energy (and hence, ether) from the game.