Algorand BuildABull Hackathon
AlgoRaiders
On-chain Rogue-Like Dungeon Crawler RPG powered by Algorand Unity SDKLink to MacOS Build - sign in and play - you don't have to remeber keys or seed phrases or wallets - thanks to the Unity SDK
verify our smart contract deployed to algorand testnet
DEMO AND DECK LINKS
View the project demo on YouTube and our Deck
built by team IntoTheVerse
- (@memxor) and (@lopeselio) on ALgorand Discord
Features developed during the hackathon
Features worked on during the hackathon ✅(achieved)/🔄(undergoing):
- On-chain Player Profile creation and game leaderboards ✅
- In-game loot collection in the form of Algorand Digital Asset Standard $DUN (Dungeon Token) to your wallet ✅
- In-game marketplace to buy your favourite raiders and customise weapons on-chain (Algorand Digital Asset Standard) using $DUN ✅
- Reversible permadeath - death is fatal but can be reversed on-chain using potions (using freeze authority on Algorand)🔄
- VRFs implementation within the Unity SDK - VRFs help to randomise the rewards in the form of lootboxes, and get randomised game attributes determined by cryptographic functions 🔄
Solution
Real Ownership - more than just having an NFT in your wallet
- Upgradability of Assets on-chain
- Asset Portability - You can take your game assets wherever you go
- Interoperability - Allow gamers to use their assets across multiple experiences while ensuring technical safeguards
- Improved Gaming Experience
- Friendly UX and on-chain without compromising game design (Web2 Speeds)
Challenges faced and Takeaways
Challenges:
- Purestake APIs had sunsetted, needed an alternative
- We were taking a server based approach (client <-> NodeJS Server <-> Algorand Server) and c# SDK for WalletConnect. After exploring Unity SDK by algorand, we now have a standalone client directly interfacong with smart contracts using the SDK without a server
- Wallet connect V2 was not working so we had issues with making the mobile app of the game
- We were trying to create a native implementation of VRF by Algorand within the SDK, to generate random number cryptographically, but couldn't achieve it within the time frame.
Takeaways:
✅ First Hands-on Algorand Standard Assets and token model ✅ Understanding Algorand Unity SDK, algodAPI, indexer, algonode APIs since purestake APIs were shutdown ✅ Data indexers using GraphQL using C# library ✅ NFT Storefront that uses $DUN Token for purchases and also reflecting the same inside the Unity client using the SDK, without any server
Shoutout and appreciation to Jason (Careboo) for helping us with blockers related to working on the SDK