Overview
A no-loss strategy-based Yield Farming RPG tournament.
It's similar to Pool Together where users pool their assets and enter into a lottery to win the interest accumulated over time.
Except that instead of a simple lottery, users have to actually farm in the game and get the most in-game crop yields to win the prize. The in-game farming part is similar to the games like Stardew Valley and Harvest Moon. But, in Farm Together users have to also strategically select their seeds and trade them to match the seed properties with the land they have acquired, which will allow them to get the most crop yields. Randomness and chance of seeds and land properties are determined using Chainlink.
Inspiration
Pool Together, the growth of yield farming and the lack of gamification
Demo
http://bit.ly/farmtogether-finance
GitHub Repos
https://github.com/kPatch/RealYieldFarm
https://github.com/johhonn/realyield.farm-contracts
What it does
It's a 2D farming RPG that uses Chainlinks VRF, Alarm Clock, and AAVE. It creates a collective pool of user deposits using the AAVE aDAI token. Then generates NFTs based on user game performance with a proportion of randomness generated by the VRF. These NFTs can then be burned for access to a proportion of the interest. Users can also withdraw their initial stake after the game is finished.
How I built it
We used Unity, WebGL, Web3JS, Solidity Smart Contracts with Chainlink, AAVE, Open Zepplin, and Buidler.
Challenges I ran into
Integrating Web3 with Unity proved to be difficult. The mechanics of game play is difficult and hard to test because there are numerous components that are interacting and must be tested at runtime.
Accomplishments that I'm proud of
A new game play mechanic was created. Very few people have attempted what we did by game-ifying yield farming. By adding the NFTs as a certain portion of the interest we created a different sort of game play than a simple win-all-take-all type game play.
What I learned
How challenging it is to develop smart contracts around interactions that happen at runtime. Learned about Chainlink scheduler and AAVE api and how to use them within game play.
What's next for FarmTogether RPG
We intend to expand FarmTogether and add more complex game play mechanics. For example, the ability for genetic mutations on plants in order to breed new crops with different values, the ability to interact with other people's farms, the ability to add weather as a randomness factor to game play, and much more. We're hoping to go live and do a token sale. www.farmtogether.finance
More details will be described in our greenpaper.
Log in or sign up for Devpost to join the conversation.