Revolutionizing In-Game Achievement Ownership
- Token-Free Ownership: Players truly own their in-game achievements without needing to purchase tokens or NFTs.
- Deity Allegiance and Player Gauntlets: Choose a deity and engage in 16-player gauntlet championships to win rewards benefiting both individual players and their deity-aligned community.
- Procedural Gameplay: Each player starts with a uniquely generated creature and faces procedurally generated enemies, ensuring a fresh experience each time.
- Skill-Luck Balance: Battles hinge on creature stats and a 256-sided dice roll, blending strategy with elements of chance.
- Dynamic Creature Development: Creatures evolve through battles, gaining points and abilities until they mature. Post-maturity, they become sources of higher income or can be further improved with staging.
Gameplay Highlights
- Creature Taming and Staging: Use soul gems to tame defeated creatures, adding them to your arsenal with possible special strengths or weaknesses. Sacrifice creatures to enhance others, increasing strategic depth.
- Rich In-Game Economy: Trade soul gems in AMM pools, auction creatures to other players, and donate gold to deities for luck boosts, creating a vibrant economy.
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:
- Power – strike multiplier
- Agility – power multiplier & creatures with an agility advantage get another strike (6 in total)
- Guard – percentage damage reduction
- Insight – creatures with an insight advantage will percentage buff their own strike rolls while nerfing the strike rolls of their opponent
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
- Complete decentralization: the game and all of its logic and mechanics are fully contained inside smart contract logic. The game uses no external APIs and does not require any services apart from a participation node (not even an indexer).
- Wallet creation system: players cannot connect other wallets to the game and instead are asked to create a fresh wallet for playing TameQuest. The whole process takes less than a minute, including the download of a password-encrypted account backup.
- Zero fee application transactions: the game is designed to allow specially-crafted zero-fee transactions to execute through the use of a logic signature. The players account can be funded through any means (such as increasing the fund limit through a centralized funding service with a card) and then used to play the game without ever holding any ALGO or any other token. This setup allows for a complete bypass of the standard cryptocurrency experience required for Web3 products.
- Feature-rich in-game logic: while being completely on-chain, the game still offers interesting game mechanics. Each battle and each creature stat increase is up to the players strategy. Both high-risk high-reward and low-risk low-reward playstyles are viable and its up to the player to make the best of their creatures, gold and soul stones.
- Feature-rich in-game economy: gold earned by players in in-game battles can be spent on many different things (with even more to come). The economy is completely run by players in a fair decentralized environment. Soul stone prices and auction card prices will fluctuate based on player needs and available gold supply, which will be consistently reduced by donations sent to the deity. Both player gold and player creatures can also be withdraw from the game – gold as an Algorand Standard Asset and player creatures as ARC3 NFTs with reserve address dictating the in-game creature data. This means that creatures are truly owned by the players and can participate not only in TameQuest, but in any smart contracts or marketplaces that supports ARC3 NFTs.
- Built-in SDK: TameQuest also has a software development kit available to developers looking to automate some part of their gameplay (or for any other use). This significantly reduces expertise needed to expand the TameQuest ecosystem.
- Great-looking graphics: TameQuest uses assets from the Unity Asset Store to enhance user experience. The creatures, backgrounds and UI elements are all created by an Unity Asset Store artist and purchased by the developer after an agreement with the artist. All TameQuest graphics are also watermark using invisible AI-based watermarks as to not devalue any Unity Store asset packages.
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: