Official Shroom Kingdom Whitepaper DRAFT
Shroom Kingdom is a building and jump'n'run game, that is inspired by traditional games of the genre. Active players will be rewarded with a token by participating in the game.
All assets that will be used in Shroom Kingdom are user provided. Players can either use the original assets from the game Super Mario Maker 2 or it is alternatively possible to use game modifications with assets that are user created. It is not mandatory to use original assets, since once the game launches a good default of assets will be provided. Please read the chapter "How to play" to learn more about the details.
The main activities in the game are:
- Building new levels
- Playing existing levels
- Participating in challenges to win leaderboard prices
- Super Virtual Worlds
Players can earn tokens by participating in these game activities. The native token that will be used for all activities is called Shroom (SHRM). Since SHRM tokens will be provided for playing the game, there won't be an upper limit. The exact token economics are explained in its chapter.
Shroom Kingdom is built with web technologies, thus it runs in your browser. The web application is built with HTML5, WebAssembly and WebGL2 and it should run in all major browsers. For Safari an experimental flag needs to be enabled for WebGL2, but this should change in the future. For all mobile devices it is highly recommended to follow the prompt to install Shroom Kingdom as a Progressive Web App once implemented. This will also make it possible to launch the game in full screen.
To be able to play on Shroom Kingdom the user needs to provide an asset resource file. This file can be generated by an external program called Asset Extractor. The Asset Extractor will be able to generate the resource file either from an original Super Mario Maker 2 game file or from modded game files.
To be able to generate the asset resource file from the original game, it first needs to be dumped from original hardware. Early hardware revisions of Nintendo Switch are vulnerable to a hardware exploit that makes it possible to install and start the console with Custom Firmware (CFW). Additionally early versions of Original Firmware are vulnerable to a software exploit, which will also allow running CFW. The game files can be dumped using a CFW like Atmosphère. In addition to the game, you will also need to dump your console keys.
Due to the huge success of the console and the game, the modding community has created a variety of game modifications with user generated assets. These assets are free to use in general and you can find a list of them on Gamebanana.
In addition we will reach out to artists to help us define a good default set of textures. Collaborating artists will get paid from our DAO.
Shroom Kingdom strictly prohibites piracy in any form and only encourages people with original hardware to dump their game files. Shroom Kingdom will never distribute copyrighted content and will not use the intellectual property of others.
All code written to extract asset files has been developed by researching and reverse engineering file formats. Copyright claims against code that has been made available by extensive research and which has not been copied by the original game creator's work are not possible.
To make the onboarding process of new players from Web2 as easy as possible, there will alternatively be an option to create an account via Discord OAuth2 login. A wallet will be generated for the user, which will be managed by the application. The application will keep track of how many SHRM tokens the user posseses. The user can always decide to claim his account by creating a key pair and asking the application to transfer ownership.
The onboarding process of new players is free as there is no investment required to play the game. Players can start earning SHRM tokens by playing levels. Once they earned enough tokens, they can go to a DEX and exchange SHRM tokens for NEAR tokens to pay gas fees.
This onboarding process fits to the general consensus of NEAR Protocol as being one of the blockchain technologies with astounding UX.
Levels can be built off-chain, while still in development.
All APIs will be served from Cloudflare Workers.
Once a level is ready for public, a user can decide to mint it as an NFT and make it available for other players.
In Shroom Kingdom everyone can build his/her own Kingdom!
Super Virtual Worlds (SVW) are a form of Virtual Lands and are our interpretation of Super Worlds. SVWs can be purchased on our (upcoming) NFT marketplace in exchange for NEAR tokens.
SVWs are 2-dimensional top-down maps, that can be edited by its owner. You can place your NFT levels and connect them via paths to let other players have a more challenging and more fun way to play through your list of levels, thus it is an easy way to advertise them.
To make SVWs even more compelling there will also be a variety of NFTs that can be additionally placed on the map and players can interact with them to get temporary upgrades or boosts. These special NFTs can be minted by all players after achieving several milestones or you can get them as a reward from challenges.
The native Fungible Token for Shroom Kingdom is called Shroom and has the symbol SHRM. Fungible Tokens do not differ from each other and are a common way to develop "money-like" tokens.
Since SHRM is commonly minted by playing on Shroom Kingdom, there is no upper limit. Instead, a constant minting and burning mechanism should make sure, that the token's value won't suffer from inflation or deflation.
Also keep in mind, that this document often talks about minting, but in fact the tokens do not yet exist on-chain. Instead they will be stored in an off-chain database first. The user can then decide to mint its SHRM tokens by calling a Smart Contract. This mechanism is explained more in depth in the Smart Contract details.
SHRM tokens will be minted by one of the following tasks:
- finishing a level (max 5 x 1 SHRM / day)
- voting/rating a level (max 1 x 3 SHRM / day)
- daily challenges (5 SHRM / day)
- passive generation while others play own levels (max 8 SHRM / day).
SHRM tokens will be burned by one of the following tasks:
- unlocking new building blocks and entities that can be placed in levels (token amount varies)
- minting of levels (100 SHRM)
- challenge passes (tbd)
- virtual land acquisition and NFTs involved (tbd)
Since Shroom Kingdom will launch with relatively few game mechanics as a Minimum Viable Product, there won't be many ways for burning SHRM tokens. Once more game mechanics will be implemented, there will also be more ways to burn tokens. To prevent inflation in the early days after launch, a multiplier will be applied to all previously mentioned minting mechanisms.
To make sure that every kind of player enjoys playing on Shroom Kingdom, the SHRM token minting will be capped at 13 SHRM per day (8 SHRM for playing/building + 5 SHRM for daily). Players can either decide whether they want to earn their tokens by playing or building levels or by a combination of both.
For the initial distribution of the token, 15 million SHRM tokens will be minted on launch. These tokens will be distributed as the following:
The launch of the token will be initiated via a DAO vote on SputnikDAO .
The founder's share will be unlocked linearly over 6 years, which results in about 685 tokens per day.
A token airdrop has been announced on October 01, 2021. The airdrop distribution will immediately follow the token launch and will also be distributed via several DAO proposals. The proposals will trigger Smart Contract function calls, which will directly transfer the tokens to eligible accounts. The airdrop is meant to support Near early adopters as explained in this forum thread.
An NFT airdrop is also planned with a special founder NFT, which has been announced on September 06, 2021. The founder NFT will unlock traits, that can give lifetime boosts to token earnings. To unlock traits users need to use a generated referral link to advertise for new members for the platform.
An Initial DEX Offering is planned to launch on Skyward Finance. The revenue of the IDO will be distributed as the following:
The IDO will be launched in three phases as following:
- 1,500,000 SHRM (date will be announced)
- 1,500,000 SHRM (two months later)
- 1,500,000 SHRM (two months later)
The SHRM token Smart Contract needs to be able to mint tokens on demand. Since tokens are tracked in an off-chain database before minting, the backend would need to read this information. Only the backend is allowed to directly read and write values to the database.
To be able to mint new SHRM tokens, the backend would have to read the pending SHRM token rewards from the off-chain database. Then it would call the Smart Contract to mint tokens and update the value in the database respectively. This approach has the drawback, that it could potentially be exploited, since the backend API would have to pay the gas fees for minting SHRM tokens.
To avoid this problem, a different approach is used where the pending SHRM token rewards will be tracked in the Smart Contract itself, which will be updated once per day. The user has then the ability to mint tokens himself by calling the Smart Contract. As a result the user would have to pay the gas fee for minting and the backend would only have to pay the gas fee once per day for updating the pending rewards in the Smart Contract. The only disadvantage of this approach is that pending rewards will be locked for at most 24 hours.
This chapter discusses several USPs, that make Shroom Kingdom unique and valuable.
Shroom Kingdom will be developed on NEAR Protocol, which is a Smart Contract capable layer-one blockchain.
NEAR Protocol wants to solve scaling issues of prior blockchains by introducing a sharded architecture. With a block time of about 1 second and very low gas fees, transactions are both fast and cheap. The sharding architecture makes sure, that these metrics won't change with an increasing amount of transactions. NEAR Protocol is also certified climate neutral by supporting green projects. Another aspect about NEAR Protocol is its focus on User Experience, which includes the smooth user onboarding process but also for developers the ease of use of building Web3 applications.
The game itself will be a web application. It runs in browsers via Rust compiled to WebAssembly and uses WebGL2 for rendering.
WebAssembly is a new binary format for the web, that has been available in all major browsers since 2018. Ever since then it found its way into other environments like "regular" backends, serverless and blockchain. The reason behind this is its built in portability and security. WebAssembly is meant to be a common compilation target for many programming languages, which makes it possible to allow cross language communication via Interface Types.
NEAR Protocol also allows building Smart Contracts that compile to WebAssembly. This approach of building Smart Contracts has the extreme advantage over other Smart Contract capable blockchains, that developers have a choice of what programming language they want to use. NEAR Protocol already allows building Smart Contracts with their Rust SDK or AssemblyScript SDK. Both these languages pioneer the WebAssembly format and are considered the best choice, if you want to compile to WebAssembly.
The app will also be built as a Progressive Web App (PWA). PWAs let you install web applications to your home screen and allow client side caching. Depending on the platform, the process for this is slightly different and eventually only specific browsers will be able to do so. PWAs launch in full screen and will automatically be updated on a cache miss with the new version of the application. The distribution of PWAs doesn't happen from centralized app stores, which fits into the idea of blockchain.
As backend technologies Shroom Kingdom will use CloudFlare Workers, which is a serverless edge computing environment. Edge computing is a terminology focused on bringing computing as close to the source of data as possible in order to reduce latency and bandwidth use. Serverless is a way of running stateless functions on a cloud server. It is another abstraction layer above cloud computing and uses a pay-per-use model rather than having running server costs. You also don't have to care about scaling your backend, because serverless functions automatically scale with the amount of requests. Other resources that the serverless functions depend on can still become a bottleneck in the overall architecture of the application, e.g. the database.
- familiar gaming characters
- play-to-earn with passive income
- free-to-play. No initial investment needed
This chapter will talk about the way the community is incentivised to participate and how this system of a Decentralized Autonomous Organization (DAO) works.
A DAO is a form of government that is responsible for the blockchain. It has to follow rules that are transparent to everyone and as many decisions as possible will be decided following these pre-defined rules. This will happen either automatically (through contracts), by the whole community or by a council. How to become a member and who is a member should be transparent to the community and in theory these people are supposed to make decisions that represent the community in a pre-determined form, rather than making decisions for their own good. The community then can make proposals that are then voted for or against within these guidelines.
For Shroom Kingdom Sputnik DAO will be used. This is a DAO of DAOs that has tools to make the process of proposals and votes possible for small DAOs. Shroom Kingdom DAO will have a council, which at the time of writing only consists of the founder. More members will be added as the project grows and matures.
The members of the DAO or temporary supporters of the project will be able to receive payouts via Sputnik DAO, that will be approved by the council or specific members of it. Applications to join the DAO can be made on Shroom Kingdom's Discord server, where you can find a list of open positions and available tasks.
The payout will be in SHRM and depends on the task and position. After the succesful launch of the IDO, it will also be possible to get payouts in NEAR for certain tasks and positions. In general, to receive payouts you need a NEAR wallet and there is no predefined workload. In general the DAO is looking for self-motivated and self-determined members to join them. Every member should be able to do whatever is possible and enjoyable for him, depending on his own circumstances.
For more information about the token economics of SHRM see Token Economics.