Block Battalion is the first blockchain based game to use an in-game event clock using timelock encryption.
This is a work in progress. Expect some bugs.
Block battalion is a first-of-its-kind web3 game. As opposed to only leveraging a blockchain in order to immutably store ownership of in-game items or participate in the game, this game uses a blockchain (the ETF network) to drive the game forward.
You will need to get some ETF tokens to play the game. Head to the discord faucet channel and get some tokens by sending a message @etf-faucet-bot !drip <your address>
. If it is not working, ping @driemworks on discord.
The game event clock is the main innnovation we are attempting to showcase with this game. It provides a way for many asynchronous players to trustlessly participate in a protocol. In existing architectures, commit-reveal structures are normally used for coordinating async players. In those types or protocols, each player commits to a value, then holds onto the real value for some period of time, and later on has to submit another transaction to reveal the value.
With the game event clock, we are able to relax this somewhat. Users leverage timelock encryption to encrypt their values, rather than broadcasting a commitment. The resulting ciphertext can be stored publicly, for example in IPFS (e.g. for a 'slow' clock) or directly in the smart contract (e.g. for a 'fast' clock). Players are no longer responsible for storing the original message securely.
Secondly, the game event clock is only partially-interactive rather than completely interactive, like the commit-reveal approach. The clock 'ticks' based on what is called a slot schedule, a list of slot identities in the ETF network's consensus. At each slot in the schedule, the event clock must be manually advanced by at least one transaction, but this does not require interaction from all players.
Current gameplay is limited. You can play it at https://blockbattalion.idealabs.network. It if isn't working, send a message on discord.
You can find a detailed description of current gameplay here.
See the individual directories' readmes in order for more detailed instruction on running and testing each component of the game. In general, the game works by deploying the contracts to the ETF network and using the ui component to interface with the contract.
The game works on the ETF network, which makes the timelock encryption scheme possible. You can read more about it here.
Everything we do is open source and there is a lot of work to do. If interested, join our discord channel here and say hi, or send me (Tony) an email at [email protected].