filecoin-project / devgrants

👟 Apply for a Filecoin devgrant. Help build the Filecoin ecosystem!
Other
377 stars 308 forks source link

Open Grant Proposal: Unity(Web)3D Toolbelt #1030

Closed Doc-Failure closed 1 year ago

Doc-Failure commented 2 years ago

Open Grant Proposal: Unity(Web)3D Toolbelt

Unity(Web)3D Toolbelt:

Proposal Category: integration-adoption

Proposer: Doc-Failure

Technical Sponsor: Longfei Wang

Do you agree to open source all work you do on behalf of this RFP and dual-license under MIT, APACHE2, or GPL licenses?: YES

Project Description

In the next few years, it will be necessary to embark on a large number of developers if we want to make blockchain applications mainstream. Unfortunately, learning a new programming language is not easy and takes time (It's estimated that learning a new language takes between 2 and 6 months on average). How can we set as many developers as possible in the condition to build video games for the metaverse without the need to learn new programming languages?

Unity3D is one of the most popular game development software platforms.

An add-on that would allow Unity3D developers to create video games without the need to learn new languages ​​and tools for developing smart contracts, would allow a large number of video game developers to be onboarded very quickly, significantly reducing times and costs.

We want to create a tool to facilitate the integration of the various networks with the existing video games. The tool should allow the game developer to

Value

The add-on facilitates the integration of various blockchains into video games. Building this add-on means bringing blockchain into the hands of millions of web2 developers who are not familiar with how to build DAPPs. Simplifying the integration of IPFS into a large number of video games.

Not having this add-on would mean wasting time and resources on learning and building non-standardized smart contracts. Sometimes, this could mean the creation of buggy smart contracts or non properly decentralized NFT.

The challenges we expect to encounter are of two types:

  1. Technical challenge:

    The NFT generation and deployment processes are currently managed by a pipeline. The pipeline uses an NFT boilerplate from which it generates the real NFT, this makes the process not very customizable and expensive (in terms of server resources). We're not sure if this implementation is the best in the long run. Before proceeding with the execution of the deliverables, we will carry out an analysis to evaluate different approaches and the feasibility of each of them.

  2. Product challenge

    Our goal is to create an add-on for video game developers who do not have blockchain knowledge.  As web3 developers, we have preconceptions and take many things for granted that may not necessarily be the case.  We are afraid that,( in the future) there may be a mismatch between our and game developers' visions. The only way to keep this from happening is to do frequent user interviews, get feedback, and be ready to pivot if the need arises.

Deliverables

During the Chainlink Spring Hackathon 2022, we created the POC for this project (link here).

The next step will be to complete this POC and bring it to the Unity3D Marketplace.

At the moment, we want to keep the add-on simple. The 3 main features that we want to implement are: -Integrate an NFT generator into Unity3D -Create a tool to interact with the created NFT -In-game login system*

NFT metadata, images, and ABI will automatically be uploaded thanks to web3.storage.

Part of the deliverables will be the documentation, which will explain step-by-step how to use the plugin.

  • N.B.: This part wasn't planned during the hackathon. After a discussion with a couple of (web2) game developers, we found that one of the main problems they are facing is that their users decide to sell their accounts after spending a lot of time on video games.  This has two major problems:     1) Players use external sites to complete the transactions, and sometimes they get scammed.      2) Video game developers don't make money from these transactions.  The idea is to fix this problem thanks to NFT.  With this login system, every user account will be an NFT.  If a player wants to sell an account, they have to sell their own NFT.

Development Roadmap

The current POC is based on this architecture: current POC architecture

Before proceeding with the development we need to understand if we want to stick with this architecture or if we want to migrate to a new one (I haven't included this part in a milestone because is a prerequisite for the rest of the project).

  1. NFT Generator Component Deliverables: q Unity3D add-on with a graphical interface to create ERC1155 and ERC721 without writing lines of code.  From the graphic interface, you can automatically insert the images to be associated with the NFTs.  NFT metadata, images, and ABIs will automatically be uploaded to web3.storage. Staff: 1 programmers. Cost: 6500 USD. Time: 1,5 Month.

  2. NFT Interactor component Deliverables: a Unity3D object to help developers to implement the in-game interaction with the NFT. This object should be able to read the ABI and call a function from the ABI. It needs to be able to be called from different games phase. Staff: 1 programmers. Cost: 6500 USD. Time: 1,5 Month.

  3. In-Game Login System Deliverables: the idea is to build a pre-standardized way to create and login into the video game. A game developer can integrate this functionality by activating one flag from the add-on and adding/modifying the GUI provided. Staff: 1 programmers. Cost: 11000 USD. Time: 2,5 Month.

  4. Release, Bug Fixes, and user interviews Deliverables: publish the add-on on the Unity3D marketplace, fix the bugs found, and eventually interview some users to understand how they interact with the add-on (We are planning to release 2 alpha versions before this one, however, this would be the first completed version). Staff: 1 programmers. Cost: 6500 USD. Time: 1,5 Month.

  5. Documentation and articles about how to use the tool Deliverables: write documentation (articles, blogs, or videos) to help users in the onboarding process. Staff: 1 programmers. Cost: 4500 USD. Time: 1 Month.

Total Budget Requested

Estimated completion time: ~8 months Total budget requested: $35,000

Maintenance and Upgrade Plans

We'll continue to work on this product full-time if the add-on is found useful for the community and the project proves itself economically independent. A possible second step for this tool could be its insertion inside an accelerator. The team currently consists of one person. A second person is willing to enter the project as a community manager.

Team Members

Stefano | stefano.convertino@gmail.com | https://github.com/Doc-Failure

Team Member LinkedIn Profiles

https://www.linkedin.com/in/s-convertino/

Team Website

Not available yet.  We are working on this.

Relevant Experience

Right now, the team is made up just of me. Soon, a non-technical member will join the team to support the shaping of the tool with customer interviews.  I am a software developer with more than 7 years of experience and a certified Near blockchain developer: https://certificates.near.university/certificate/a3ba5f83c18646f09180aa9b5322362f. During the last year, I took part in several hackathons and won some minor prizes in some of them.  This time allowed me to learn a lot about Solidity and Assemblyscipt. You can check my Devpost portfolio here: https://devpost.com/stefano-convertino?ref_content=user-portfolio&ref_feature=portfolio&ref_medium=global-nav. During the Chainlink Spring Hackathon, I built a POC for this project, and I would like to complete what I've started.

Team code repositories

Additional Information

This project has been bootstrapped during the "Chainlink Spring Hackathon 2022". This is the link to the hackathon's submission: https://devpost.com/software/unity-web-3d-toolbelt. After the hackathon, we received an email from Niki Gokani saying you'd like to support our next steps. We weren't sure about our solution, but in the last two months, we had the opportunity to interview some (Web2) game developers, which clarified our vision of why a classic game developer should integrate web3 into their video games. Those discussions convinced us to take the next step.

realChainLife commented 1 year ago

Hi @Doc-Failure thanks for your patience with our review however we will not be funding the work outlined here at this time.