NFT GAME DEVELOPMENT – FANTASY FOOTBALL LEAGUE
In 2021, the Blaize team contributed to the P2E game development of Nomo Fantasy Leagues for LeagueDAO.
LeagueDAO is a decentralized open-source project that continuously works on a tokenized fantasy sports protocol. Currently, the project consists of three areas: DeFi protocols, GameFi, and NFTs, which together create an ecosystem of web3 fantasy sports games.
LeagueDAO allows users to play, build, and define the future of fantasy sports.
After the first season of the Version 1 Nomo Fantasy League, we started working with LeagueDAO on version 2 of the protocol, a new fantasy football application called The Mega League.
WHAT WAS THE TASK?
To develop NFL Fantasy Football Mega League – a season-long fantasy league built where users draft a team of players, represented as NFTs, and compete in weekly head 2 head competitions against other users in the League. To create the essence, the logic, and the architecture of the game where team owners can draft a roster of players to compete in weekly head-to-head matchups against 11 other teams. To work on the token mechanics and allow users to mint their team of NFL player tokens so that they can join the Fantasy Football Mega League and compete to earn a share of the League’s Reward Pool in the Polygon network.
The integral part of the Fantasy Football Mega League game development, similar to any blockchain-based project creation, is smart contracts. To make everything right, you need to hire highly qualified specialists with extensive previous experience in smart contract deployment. This is crucial due to the essence of smart contracts, their impact on protocol security, and the variety of functions.
BUILD AN EFFECTIVE AND HIGHLY SECURE NFT PLATFORM WITH BLAIZE EXPERTS
THE DEVELOPMENT PROCESS
To complete this project, the Blaize team provided three Solidity developers, two back-end devs, two front-end devs, one QA, and one DevOps.
Our first step was to collect all the input from the LeagueDAO team and create initial technical documentation, which allowed us and other teams to start the development process. With a clear project understanding in mind, we created a step-by-step plan that included what we needed to change, what we could reuse, and what we needed to develop in order to produce a successful NFT game.
When it comes to blockchain projects, we develop smart contracts first so that back-end devs can use them to develop and test everything on the testnet.
Simultaneously, the front-end team develops interfaces according to the design. When the layout and API are ready, we can connect them, and then the QA team can test the application. In the meantime, smart contract developers write tests for the existing code and develop new smart contracts for the next step.
One interesting difference from the previous project’s iterations was the usage of three different oracles – SportsData, Chainlink, and Rotowire. This innovation allowed us to collect all necessary statistics and statuses about the games and players and update this data regularly.
CHALLENGES WE CONFRONTED
The external audit that was ordered to check smart contracts took longer than we expected, and the final audit report didn’t include critical & high-severity bugs. As a result, the dev team themselves found uncovered bugs and performed the necessary internal testing for the issues not detected by the external audit team.
Rebalancing of the auto-picked NFT players after the actual drafting process: after the end of the drafting process, when users automatically receive their NFT players to build the initial team lineup, some of the users didn’t confirm their auto-picked NFT players. This led to the significant imbalance of NFT player tokens not only within a certain team/teams but between several divisions as well.
The scope of work was huge. The dev team hadn’t performed GameFi projects of this scale before. The whole game logic was on-chain in smart contracts, which is great for trustless decentralized games.
Disregarding the fact that many “blockchain” projects move complicated logic to their centralized back-ends, we implemented the Fantasy Football League with PlayOff and MegaLeague on-chain.
We only used off-chain resources to get players’ scores. Taking into account the volume of the smart contracts’ code, we wrote all-around tech documentation and created a complicated Subgraph to pull all the data for the web application. All this led to an exponential increase in project complexity, many logic interconnections, and a much bigger scope of work.
Four different teams worked within this project under the LeagueDAO umbrella: three separate development teams and one design team. This work implied constant and unstoppable synchronization between them on an everyday basis to perform the development process in a smooth and optimal way.
As a result of our collaboration with LeagueDAO, we managed to implement all the necessary requirements and launch a new Fantasy Football platform in time, right before the official start of the NFL championship. All the aspects of this project development were successfully finished, and all the necessary amendments were made so that players could enjoy a true gaming experience on blockchain.
We are grateful to the LeagueDAO team and its community for active participation in the new platform’s beta-testing and timely reporting of any occurring issues. The Blaize team will perform maintenance of the platform during the whole NFL season to make this product even better for the end users.