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 two 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 to 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. Then, 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 to produce a successful NFT game.
Regarding 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
We ordered an external audit to check smart contracts, but it took longer than expected, and the final audit report didn’t include critical and high-severity bugs. As a result, the dev team themselves found uncovered bugs and performed the necessary internal testing for the issues the external audit team did not detect.
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 users didn’t confirm their auto-picked NFT players. This led to a significant imbalance of NFT player tokens within a certain team/teams and between several divisions.
The scope of work was huge. The dev team hadn’t performed GameFi projects of this scale before. Furthermore, 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. Given the volume of the smart contracts’ code, we wrote comprehensive tech documentation and created a complicated Subgraph to pull all the data for the web application. This led to an exponential increase in project complexity, many logic interconnections, and a much bigger scope of work.
Four teams worked under the LeagueDAO umbrella under this project: 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 smoothly and optimally.
Thanks to our collaboration with LeagueDAO, we could implement all the requirements and launch a new Fantasy Football platform in time, right before the official start of the NFL championship. We successfully completed all aspects of the project development and made all necessary amendments 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.