A very interesting project came to life this weekend: AlgoNim, a game entirely based on Algorand (ALGO), which runs completely on the layer 1 of this blockchain.
All the rules of the game are implemented through Algorand Smart Contracts; the pawns are represented by Algorand Standard Assets and the game actions are performed in turn by the players through Atomic Transfers directly on the blockchain.
How does the game work?
To understand this game we need to take a step back and understand the starting game, Nim, a mathematical strategy rebus for 2 players who decide the number of pawns of the various piles and the maximum number of pawns to be removed at each move.
Players take turns in removing as many pawns as they like from one of the piles. Whoever collects the last pawn from the table wins the game.
Since Nim is a mathematically solvable game, it is possible to calculate the strategy to determine the winner and which moves are the winning moves. Thus, it is preferable to challenge a human being and not a computer.
After having understood the rules of the game we now move on to AlgoNim, a cryptographic version of Nim that runs completely on the Layer 1 of the Algorand blockchain, famous for using the PPoS (Pure Proof of Stake) consensus protocol.
The use of the blockchain provides the certainty that no one can rig the game.
The technical features of AlgoNim
All this has been made possible thanks to the different functions that have been introduced in Algorand version 2.0 such as ASA (Algorand Standard Assets), which allow creating tokens on this blockchain; AT (Atomic Transfers) and ASC1 (Algorand Smart Contracts) which rely on the Algorand Python SDK and PyTeal.
In fact, thanks to the interaction of the SDK and PyTeal, the game writes and initializes both ASC1 TEALs and ASAs for each match.
The system requires only a handful of seconds and a small fee of 0.8 ALGO to cover the creation of the token, so a really impressive cost/speed ratio, even if compared to other blockchains.
Although the game itself is complete, it needs some elements to be launched, in fact AlgoNim is bootable via command line on Algorand node and so we can say that it’s a game designed by programmers for programmers.
The graphics are intentionally vintage: old school ASCII art, for the very nostalgic.
The source code is completely open-source, allowing anyone to develop a front end web interface.
The game was created by an Italian, Cosimo Bassi, aka Cusma, who in his bio on Twitter calls himself a “curious Free Spirit Pirate, with Apulian roots, Brazilian heart and electric engineer’s mind” and for some months now he has been Algorand’s Developer Ambassador.
Recently Bassi held an informative meetup dedicated to Algorand technology.
The future of gaming on blockchain
This version of AlgoNim is the primary one, already working, but there are already some planned additions expected in the future like:
- Improving the strength of the betting Escrow;
- Freezing match tokens for everyone except active players;
- Destroying ASAs created at the end of each match;
- Adding a scoring system in Scores Pool to reward winners;
- Implementing the “Multi-heaps” variant
- Implementing the championship (best of 3 matches).