
TameQuest

TameQuest is a fully decentralized pet battling game that implements procedural creature generation using an Algorand randomness beacon. The game is designed to be welcoming to non-Web3 audience through an in-game wallet creation system (with private key backup files) and a smart contract fund management system, which allows players to execute on-chain application calls without paying any network fees or having any cryptocurrency in their account.
Revolutionizing In-Game Achievement Ownership
Gameplay Highlights
Gauntlet Championships
Engage in high-stakes single-elimination bracket championships with substantial gold rewards and collectible status for participating creatures.
Current Status
Playable on testnet with core features like wallet management, creature battles, and deity donations already implemented. Advanced features like staging and gauntlet championships are coming soon.
Links
Smart contract code - closed source, shared with hackathon@algorand.foundation
Details
TameQuest creates true in-game achievement ownership without the need for any token or NFT purchases. The players choose their allegiance to one of four in-game deities and fight for glory in a 16-player gauntlet (4 players per deity) in order to win a gold prize for themselves and a luck buff for players of the same deity.
After choosing the starting deity, the player is gifted with a procedurally generated starting creature. That creature can be sent to battles with procedurally generated enemies based on creature progress and selected difficulty. The game consists of a mix of skill and luck: winning a battle largely depends on the stats of the creature, with each stat affecting a different part of the battle. Both the attacker and the defender roll a 256-sided dice multiple times to determine their total damage. There are 5 strikes in total from each side. These strikes are combined with creature stats to calculate the final battle outcome:
After each battle, players are rewarded gold and creature points for their battling creature. Each creature is assigned battles-to-maturity number, after which the creature can no longer be improved through battling.
Losing the battle grants a small amount of gold and only 1 creature point. If the battle is won, the amount of creature points is increased (based on difficulty), the gold amount is larger and the player has a chance to find a soul gem. The player will also be able to attempt taming the defeated creature by using a soul gem of the appropriate tier, with different taming chances based on creature tier. Higher creature tiers usually are harder to defeat, have higher stats and are harder to tame.
If the taming is successful, the creature will be added to the players bag arsenal. Their battle-to-maturity number is set based on their tier. Taming a creature also has a chance to give it special strengths or weaknesses, which are percentage bonuses or penalties to any of creature stats. For example: the creature can become “wise” to always get a percentage bonus to its insight, or “weak” to always lose a percentage of their power.
The creatures can also be used for staging, where a primary creature can be improved by sacrificing the secondary creature. Staging always destroys the secondary creature and its success chance is based on the stage already attained by the primary creature (the higher the stage, the lower the chance). Staging also has a chance to improve strengths and reduce weaknesses of the creature.
The game also includes a very rich in-game economy. Soul gems obtained in adventures can be traded using in-game AMM pools (paired with in-game gold), available to all players. The players can sell or buy creatures from other players through an in-game auction system. Gold can also be donated to chosen deity, which grants a percentage boost to the players next luck-based action (such as taming or staging).
The final destination of any creature is to be one of the fighters in the gauntlet. The gauntlet is a 16-player single elimination bracket championship, where the winner gets 10% of gold donated to ALL deities during the period and grants a 5% luck buff to all players of the same deity. Second place gets 5% of donated gold and every other creature is marked with the gauntlet id and their place in it, making them extremely valuable collectibles. Gauntlet period lasts around 3 weeks during which players can register their creatures and after which the gauntlet matches are executed.
Features
Technical Architecture
TameQuest is currently build using two smart contracts made with TEALScript. The first smart contract contains logic for all in-game actions (such as battles, taming, staging, auctions, etc.).
The second smart contract is responsible for gauntlet fights (with players being able to call the game contract to register their creature for the gauntlet).
All player data is stored in box storage using boxes with player addresses. All random number generations are fetched from an Algorand randomness beacon (with a preparation period that requires at least 3 rounds to pass before accessing random numbers).
The UI of TameQuest is completely open-source, with auditable wallet security. Private keys are stored encrypted using the best web storage techniques and only accessible once the user decrypts them with their password. Encryption and decryption of keys is done using a known & audited WebCrypto API library: https://github.com/willgm/web-crypto-storage.
The UI requires only a participation node. Currently it automatically points to Nodely free nodes for simplicity, but this will change to allow the user to have full control over their network configuration.
The creature cards can be withdrawn to an automatically generated valid ARC3 NFT (with metadata set by the smart contract). These NFTs contain creature data (such as its stats or gauntlet data) in the 32 bytes of the reserve address. On NFT import, that data is instead saved in players box storage.
Roadmap
The full game has been created from scratch in the last two months. While TameQuest smart contracts and game logic are finalized, the game still requires balancing and improvements to its user interface (which is currently not mobile friendly as it was created in under 2 weeks). The goal of TameQuest is to create a primarily fun game that rewards player effort and creates an interesting in-game economy.
Play TameQuest on testnet now: