Inspiration
After scrolling through twitter, I found a blockchain project that would donate potatoes to food shelters. I was inspired to create a blockchain game that would help send cryptocurrency to said currency.
What it does
It's a blockchain game for 3 players. At the start of the game, each player donates 1 unit of cryptocurrency (ALGO, ETH, or whatever EVM based network you're using). Each player then gets to choose who to shoot. You can even shoot yourself!
There are three outcomes:
- Everyone Dies: all 3 crypto units go to the charity!
- 2 Players Left: both players get their 1 unit back, 1 unit goes to charity!
- 1 Player Left: gets 2 units of crypto, 1 unit goes to charity!
The reason I made it so that the players never get all their money back is so that there is no net gain from cheating 1 player, when 2 conspire together. That would be no fun! Plus there would be less potatoes to give to the hungry.
How we built it
I used Reach for the smart contract code (blockend). It's a powerful new language that allows you to compile to multiple blockchains (ALGO + ETH), so even though potatocoin is on the Algorand network and I tested in the Ethereum network, the code worked on both blockchains.
Additionally, for the chat I used a firebase project. I planned to use it for lobbies as well, but I ran out of time.
I used Pixilart to make all the pixel art myself, though you can probably tell that it's programmer art.
Challenges we ran into
One issue lays with the security of the blockchain: how do we punish people who leave prematurely, and how do we determine how long a waiting period is? While technical, it's mainly to make sure no one can cheat someone else. Some issues aren't resolved, but I went with the general rule of thumb to make those who didn't respond within an hour to lose their share. Another challenge was getting gifs to work- for some reason I had difficulties packaging it within the Reach project so I had to upload them to a separate server. But hey, it works.
Novelty & Future
While not a very fun game, I do believe it is novel and at least somewhat technically impressive. Using blockchain to make a game + social good is something that I take pride in. This is an MVP, and I do have ideas on both expansion of utility and perhaps even profitability. The blockchain is slow due to the way that blocks work. Unlike in shooter games that have 10 millisecond latency, the fastest that communication works in blockchain is around ten whole seconds. This still works with social games, because people naturally fill in the time with chatting, which is why I added a chat. A simple addition, but necessary in my eyes. This is just an MVP, but there are a lot of things that can be added on to make it interesting:
- Emotes
- NFT player skins (for profit or for charity)
- Lobby list (instead of copying the address) I'd also host it on a server, but at this point I'm too tired to troubleshoot my Apache.
Conclusion
Thanks for reading. Let me know if you want to see this MVP become a full project. Unlike other hackathons, I am willing to continue working on it a bit afterwards too! A bit of polish can't hurt anything.
I certainly had more success with this than I did other reach projects, so I'm interested in seeing where it goes.
Follow me on twitter and Devpost (so that I can get the stupid achievement).
Built With
- javascript
- reach
- react

Log in or sign up for Devpost to join the conversation.