Platform for user-submitted, tokenized game mods
_BACKGROUND_ With a standard for accessible modding, game communities can become powerful economic engines—multi-sided marketplaces with strong network effects—bringing to videogames the kind of innovation Youtube enables for video content. This is the vision for Squad Games: to make it easy for games to support mods and allow mod-makers and game devs to share revenues automatically. We imagine an ecosystem with millions of games and mods, evolving more quickly and effectively than any set of games developed by an isolated team could. In this ecosystem: - Inside each game, you see a dashboard of different ways to play, with the most compelling to you shown first. - You can create and submit new mods from within each game, creating new maps, items, and formats, or rebalancing existing ones. The range of mods is wide, from new cards in a card game to full RPGs in RPGmaker. - Games often share revenue directly with mod-creators, and vice versa; many mods share revenue with games when purchased directly. Fundamentally, this ecosystem employs the same engine that powers the social internet today–the combination of open submission, aligned incentives, and effective curation–to the benefit of game developers, mod-makers, and players. Looking further ahead, the Squad approach to user content may also unlock new markets for user-submitted content. Squad Games is focusing on mods for video games, but with few changes, the same mechanics can be applied to custom loadouts in any kind of software. _CONSTANT PURCHASE PRICE LICENSES_ During this hackathon, we built an implementation of the network based around constant price licenses backed by dynamically priced assets. The system lets users buy the right to play a given chess format for a constant price, but if that format becomes more popular later, they can sell the license back to the system at a higher rate.
How it's made
We primarily used solidity to build smart contracts, but we also retrofitted a previously built chess UI to use the new contracts (JS, mithril). The smart contract system we built consists of three main parts: 1. Bonding Curve Factory -- this contract creates new ERC20 tokens that are minted and burned by a bonding curve, with the other token being a reserve ERC20 specified in the constructor. 2. Token Claim Check -- this contract mints NFTs in exchange for locking ERC20 tokens, and lets users burn an NFT to redeem the tokens locked when it was minted. 3. Squad Controller -- this contract creates new contributions, which include the purchase price for a license and fees for the creator, and creates a corresponding bonding curve in a bonding curve factory. It lets users buy licenses for contributions by taking in the price in a reserve token, paying fees to the contribution's author, minting from the contribution's bonding curve, locking the bonding curve tokens in the Token Claim Check, giving the buy the corresponding NFT, and noting that the buyer now has a valid license. It also allows users to redeem their license and then sell the bonding curves tokens to receive back reserve tokens (which may be greater or less than the original price paid depending on market activity).