stacksgov / grants-program

Welcome to the Stacks Foundation Grant Program. Community members interested in submitting a grant proposal may do so by opening an issue in this repository and filling out the grant application.
141 stars 36 forks source link

DEGEN GAMING OPEN-SOURCE CONTRACTS FOR GAMEFI APPLICATIONS #302

Closed BowTiedDeployer closed 1 year ago

BowTiedDeployer commented 2 years ago

image

Background What problems do you aim to solve? How does it serve the mission of a user owned internet?

GameFi is the next major trend coming to the ecosystem, thanks to its creation and facilitation of a truly user-owned internet built on Stacks and secured by Bitcoin. Degen Gaming has outlined four problems within traditional gaming that we will solve with four different open-source contracts that may be utilized by other gaming projects in the ecosystem.

In the traditional gaming world, there is a lack of opportunities for players who enjoy gaming to actually earn from the game. Decentralized gaming applications built on the user-owned internet offers the opportunity for players to earn economic incentives. The nature of a user-owned internet promotes a trustless and censorless form of engaging with these dApps to compete in games they enjoy while earning rewards in the process. Players should not have to rely on a team to deliver those economic incentives to them, and thus they deserve a product that verifiably guarantees that they are rewarded for their efforts playing and competing.

One thing the traditional gaming world does very well at is allowing for strong customization and personalization of their gaming experience with in-game items. However, it is very rare for players to truly own the in-game items that they accumulate throughout the game. They also offer very little instances for players to transact those in-game items with each other, nonetheless transact them for economic reasons. And if the game were to disappear tomorrow, their in-game items would either be rendered useless or lost entirely. We aim to keep the good, allowing for optimal customization and personalization of their gaming experience, while solving for the bad.

Lootboxes have emerged as an extremely addictive element integrated into traditional gaming used to reward players through a mechanism that yields them a random chance to obtain valuable items that can be used to further personalize their gaming experience or use for a competitive advantage in-game. However, some incorporations of lootboxes have been scrutinized as predatory for adding another layer of monetization that gaming companies use to entice players to spend more money in the game. In other instances, they may conflict with gambling laws because they lack a sufficient randomization function. Players on the user-owned internet deserve ethical lootboxes that add another layer of excitement and earning potential to the games they enjoy while avoiding instances in which they may be considered illegal or unethical.

All of this sounds very utopian, but would not be possible if games were not able to interact effectively with the blockchain that secures these functions and capabilities. There must exist a way of simply and seamlessly connecting off-chain activity with the blockchain in a trustless, secure, and verifiable manner. Without this, users could simply call a function from the blockchain explorer without actually completing the required in-game activity that triggers it. Solving this issue is integral to promoting the gaming experience that players on the user-owned internet deserve.

Project Overview What solution are you providing? Who will it serve?

We will be providing a framework for three open-source contracts and an on-chain off-chain connection for use by Degen Gaming and other gaming projects on Stacks that solve these problems. The first will be the establishment of an open-source on-chain contract that establishes the framework for trustless rewards pools for players so they may compete in games, tournaments, or public and private lobbies without having to rely on a central entity or intermediary to guarantee their rewards.

Next, we will establish an open-source on-chain contract that allows for a customizable gaming experience by incorporating in-game items. Depending on the nature of the game, players will be able to use these items for further personalization or for use in-game. When earned, players may use or transact these items freely without relying on an intermediary to facilitate it for them.

Building on this previous solution, we will also deliver an open-source on-chain contract that establishes a framework for the incorporation of lootboxes into the user-owned gaming experience. These lootboxes will be consumable items that, when consumed, yield a random chance for players to earn different in-game items with varying rarity levels.

Finally, we will establish a connection between the on-chain contracts and off-chain events that connects off-chain activity with on-chain functions. This will ensure the on-chain contract may not be called without first being triggered by its necessary off-chain event. This will be a trusted process worked towards optimizing throughout the establishment of the on-chain contracts. This will minimize and hopefully eliminate any instances in which users may bypass completing a required activity in-game while reaping the rewards as if they did.

Solving this last specific problem would allow for a more fair gaming experience that doesn’t allow for cheaters to defraud players who actually take the time to complete the required in-game activity to earn their rewards. Full and open transparency of its processes will be a priority so players may see and expect the intended outcome.

Scope What are the components or technical specs of the project? What will the final deliverable look like? How will you measure success?

The final deliverable will be four open-sourced Clarity contracts that provide the solutions to the problems we outlined are present in traditional gaming. The first contract will be for establishing the trustless rewards pools. When deployed, it will allow for the acceptance of the correct amount of the required cryptocurrency from players, and then the trustless distribution of the rewards in that cryptocurrency upon the completion of the respective game, tournament, or activity. There will be an incorporation of the Lightning Network that allows players to conduct their in-game activity even while their Stacks transaction is pending. However, this part of the contract could, in the near future, be rendered obsolete by Stacks scaling solutions like subnets or app-chains that speed up the confirmation of transactions.

The next Clarity contract will be for establishing the framework for in-game items and further NFT customization. Degen Gaming has already delivered one instance of this with the integration of StacksPunks into the game. StacksPunk holders may customize a raceable StacksPunk NFT in our ‘Degenerator’ so they may race their StacksPunk in a Ferrari to compete in tournaments. Building on this, we will establish various components that will allow for swapping of other things on their NFT, such as new wheels, cars, attributes, etc that are accumulated by players. Depending on the nature of the game, swapping old components for new components could result in the burning of the old component or allow the player to retain custody of their old component. Other established items may be for use in-game rather than for customization purposes.

The next contract will establish randomizable on-chain consumable virtual items, or more simply put, lootboxes. this will establish a ‘loot box’ framework in which these consumable virtual items may be redeemed for random components or in-game items, or transacted with freely. The randomization function that determines which item is earned from a lootbox will be verifiably sufficient because of the nature of the contract being open-source. A player may be able to redeem their loot box for a verifiably random chance to earn different in-game items with varying rarity levels. Once redeemed, the bridged in-game item will be received and the loot box will be burned. Parameters, such as the nature of the items received and the amount of items a loot box may randomly yield, are simply modifiable and adjustable by any entity seeking to incorporate loot into their game. For example, in Degen Gaming, players will be able to stake their Degen to register to compete in tournaments, and doing so will yield them a lootbox.

The most challenging of our tasks will be the establishment of an on-chain off-chain connection that assures only a required off-chain event may trigger it's respective on-chain function. More simply, users may not be able to simply call a rewards function from the explorer without first completing the portion of the game required for triggering that rewards function. The measure of this success will be determined by the effectiveness of the contract at preventing this.

Budget and Milestones What grant amount are you seeking? How long will the project take in hours? If more than 20, please break down the project into milestones, with a clear output (e.g., low-fi mockup, MVP with two features) and include the estimated work hours for each milestone.

Total Grant Request: $50,000

M1: The first contract will be for establishing the trustless rewards pools and the incorporation of lobbies, as discussed in scope. (Time: 3 weeks; Ask: $12,500)

M2: The second contract will be for establishing the framework for in-game items and further NFT customization, as discussed in scope. (Time: 2 weeks; Ask: $12,500)

M3: The third contract will be for establishing randomizable on-chain consumable virtual items, or more simply put, lootboxes, as discussed in scope. (Time: 2 weeks; Ask: $12,500)

M4: The fourth task will be the finalization of an on-chain off-chain connection that assures only a required off-chain event may trigger it's respective on-chain function. This will not be deployed on-chain. It will be a process worked towards optimizing throughout the other milestones as well. Each milestone will require a respective on-chain off-chain connection for each on-chain contract established. (Time: 3 weeks; Ask: $12,500)

Technical Flow: image

Trustless Rewards Flow:

  1. User creates lobby by calling the contract from the game interface
  2. Player pays to enter the lobby using the contract by joining the lobby with the id from the game
  3. Game checks the on-chain contract's read-only function that gives a list of the users that paid the entry price
  4. After check confirms, the player can race as many times as he wants before the time ends
  5. The results are published on-chain every 6-12 hours
  6. A pre-determined formula determines how much rewards each player receives based on the scores of the runs

Simple MockUps: image image image image

Team Who is building this? What relevant experience do you bring to this project? Are there skills sets you are missing that you are seeking from the community? Please share links to previous work.

BowTiedSirJonathan.btc is the founder of the Miami Degens, project which has transitioned into the Stacks Degens. Key abilities are marketing, communication and recognising talent in people. This has played an important role into maintaining a healthy workflow between the team members, keeping everyone satisfied and focused on the project. Besides having spent over 5 years into various charitable communities in a leadership role, he has made his living through e-commerce. Now, all his focus is put into this project, quitting all of the previous just to see the success of Stacks Degens happen.

BowTiedDeployer.btc is the deployer of website, game, contracts and integrations that includes the Stacks Degens Gaming Universe. His background includes but is not limited to two times Gold Medalist National Computer Science Olympics and one time Silver Medalist, multiple hackathons run, first place in one creating in a team of 4 in less than 24 hours a multiplayer 3d school universe where people could walk, write, teach and learn using white boards and interact with others using VR headsets. Also first place in a national contest regarding keeping the earth healthy by creating a real time multiplayer game card game with references to pollution and how to combat it to help bringing awareness in that regard. Always liked writing code and building stuff, especially web based since it was the most flexible option and the easiest to get people to use. Started with ethereum and writing smart contracts there and web dapps to interact with them, found it quite interesting how the blockchain works . Later on found about stacks and clarity and decided to max out on combining his various areas of expertise in developing a project that can have real impact.

Vali is the head of design inside the Stacks Degens Gaming Universe. He has over 8 years of experience in the visuals field of work starting from photo to video producing, all the way to vector and game design. He knows his way around most of the Adobe creative software and has been using them for over 5 years. He has general coding skills enough to shape the art inside our project.

BowTiedFellow.btc is an active user in the Stacks Ecosystem and extremely bullish on Bitcoin, Stacks, and Proof of Transfer. He is a tremendous believer in web3 and believes it will be built on Bitcoin via Stacks. He has recently transitioned from a leadership role in the United States Army to now doing SaaS sales full-time while also helping build projects on Stacks in his free time. He is a respected advisor to the team and helps brainstorm the direction of the project and keeps the team organized and focused.

Andrei Alexandrescu more recently came on board because of his extremely thorough technical skills and industry experience. He has an MS in Computer Science from the University of Oxford and has worked as a Forward Deployed Software Engineer at Palantir Technologies. Currently, he serves as a Software Engineer Manager and Senior Frontend Developer at Mosaic.tech. He has experience in front-end development, software, and research and demonstrates proficiency in java, react.js, angularJS, redux.js, NgRx, and more.

Risks What dependencies or obstacles do you anticipate? What contingency plans do you have in place?

The biggest risk we will encounter is making sure the contracts accomplish what our intentions are. We will mitigate this by gathering expert insight from the Stacks Community on how to best accomplish our intentions and make sure it is thoroughly vetted and audited for accuracy and sufficient randomness, while mitigating any potential errors or bugs we may encounter.

Community and Supporting Materials Do you have previous projects, code commits, or experiences that are relevant to this application? What community feedback or input have you received? How do you plan to share your plan to the community over time and as the final deliverable?

Degens Gaming is a gaming entity aiming to build a P2E gaming universe that is built on Stacks and secured by Bitcoin that players and communities can join, compete, and earn. We have delivered a Stacks Degens racing game, in which our community of gamers may race their raceable NFTs in our tournaments for the opportunity to compete and earn rewards. Our community of gamers is growing exponentially.

Pitchdeck: SDGU_Pitch_Deck.pdf

Website: https://stacksdegens.com/ Twitter: https://twitter.com/StacksDegens Discord: https://discord.gg/4J2CTBfr Medium: https://medium.com/@stacksdegens

Contract for MIA Degens: https://explorer.stacks.co/txid/SP1SCEXE6PMGPAC6B4N5P2MDKX8V4GF9QDE1FNNGJ.miami-degens?chain=mainnet Contract for NYC Degens: https://explorer.stacks.co/txid/SP1SCEXE6PMGPAC6B4N5P2MDKX8V4GF9QDE1FNNGJ.nyc-degens?chain=mainnet Contract for SDGU StacksPunks: https://explorer.stacks.co/txid/SP1SCEXE6PMGPAC6B4N5P2MDKX8V4GF9QDE1FNNGJ.SDGU-

image

stx-grant-bot[bot] commented 2 years ago

Thanks for submitting a grant proposal. Our team will review your submission and get back to you.

friedger commented 2 years ago

M4 is the more difficult part and requires trust, does it make sense to create M1, M2, M3 for trustless actions if M4 requires trust?

BowTiedDeployer commented 2 years ago

Hey Friedger, thanks for the question. There was a misunderstanding when this grant proposal was made and we have edited it appropriately. The fourth milestone "contract" will not be a on-chain contract like the other three we are establishing - it will be the establishment of the on-chain off-chain connections required for assuring only an off-chain event may call, or trigger, its respective on-chain function.

Therefore, you are correct in that M4 (and thus, all the other milestones) does require trust. Our priority will be to make this connection (process) as transparent, sustainable, and self-operating as possible. Perhaps it is not entirely correct for us to then be calling the trustless rewards pool "trustless" yet, but we would like to point out that perhaps the STX scaling solutions coming in the near- to medium-term may enable us to move this process completely on-chain.

I hope this makes sense and you make a very good point.

will-corcoran commented 2 years ago

@BowTiedDeployer - Thanks for this proposal. We are very much in support of this project. Before we officially approve it, can you please add your Knowledge Base deliverables that you discussed with Jasper to this thread for our records? Thanks, Will

BowTiedDeployer commented 2 years ago

DELIVERABLES EXPLAINED

We are prioritizing clearly and transparently documenting how our contracts are written, what their intentions are, and how they work. We are doing this so knowledge of how they are written, what their intentions are, and how they work may be freely shared with other projects within the ecosystem so they may also benefit from such an advance.

In regards to the Trustless Rewards and Lobbies, we will:

In regards to the NFT Customization, we will:

In regards to the Lootboxes, we will:

In regards to M4 (on-chain off-chain connections and processes), we will:

will-corcoran commented 2 years ago

@BowTiedDeployer thanks for providing the clear list of deliverables. We are all really excited for this project. Your grant is approved!

We would like to meet with your team in late April / early May to review progress. Please schedule a time here.

stx-grant-bot[bot] commented 2 years ago

Congratulations. Your grant is now approved. Please complete the on-boarding link here: https://grants.stacks.org/onboard?q=2b7a5ee5e27bc53fc397f61e435dc06c

will-corcoran commented 2 years ago

@BowTiedDeployer you guys sign the contract? off to the races?

BowTiedDeployer commented 2 years ago

Contract is signed. Off to the races!

will-corcoran commented 2 years ago

Hello and thank you for participating in the Stacks Foundation Grants Program!

We are in the process of migrating from GitHub to the new Grants Dashboard. In order to complete your grant, you will need to submit any remaining Progress Review and/or Final Review requests through the Dashboard in order to receive your remaining payments.

Lastly, please note we are marking this grant 'closed' on GitHub for organizational purposes, but it is still 'open' on the Grants Dashboard.

Thanks and we hope to continue to support your efforts with additional grants!

Best, Will

KlikMagdalena commented 1 year ago

Hello @will-at-stacks ! I am currently conducting research for a grant application for a future cohort. As I was reviewing the list of previous grants, I noticed that there are no links to grants documentation, such as the StackDegens GameFi Research (cohort 16)(@BowTiedDeployer ).

Can you please share a link to this grant application? It would be an excellent source of inspiration for me, and it would also help me avoid duplicating any research work that has already been done through previous grants.

will-corcoran commented 1 year ago

Hi @KlikMagdalena I would recommend reaching out to @bowtiedsirjonathan https://github.com/BowTiedSirJonathan from the Stacks Degens team. He is always excited to discuss these things and can link you to all of their research.

KlikMagdalena commented 1 year ago

@will-at-stacks Thank You for the recommendation.

Hi @BowTiedSirJonathan. Can You link me to grant documentation, such as the GameFi Research (cohort 16)? It would be an excellent source of inspiration for me, and it would also help me avoid duplicating any research work that has already been done through previous grants.

BowTiedSirJonathan commented 1 year ago

Hello @KlikMagdalena . Here's a link to our gitbook https://gamefi-stacks.gitbook.io/gamefistacks. It includes the Research Paper and GameFi related work.