Decentralization
An overview on how NFT Worlds' decentralized multiplayer is structured.
There are a lot of NFT based metaverse games out there right now. However, as far as we're aware at this time, none of them are truly decentralized. If any of these games' centralized servers were to go down or be taken offline, you'd lose access to all utility & functionality of your owned NFT's and content within their game or platform.
We see this as a significant liability for any truly decentralized metaverse gaming platform. We've developed our own multiplayer architecture to address it.

High Level Architecture Overview

High level architecture diagram
  1. 1.
    NFT World players use the "NFT Worlds Game Launcher" that automates the installation of NFT World specific Minecraft mods, quality of life visual upgrades, blockchain specific UI and more for their local Minecraft client. Players use this launcher anytime they play. In the future, players will also be able to access & play in NFT Worlds directly through a web browser.
  2. 2.
    The game launcher interacts with a smart contract that acts as a world server router. Allowing the game client to know in a decentralized manner where a specific world's server is hosted and how to connect to it. World owners have control of defining connection details for their world within the World Server Router contract.
  3. 3.
    The NFT Worlds server will be open-sourced and made available for anyone to use. It is compatible with Windows, OSX, Linux, etc. A world owner can host their NFT World for others to play using any cloud-based hosting provider, their own hosting infrastructure, the NFT Worlds hosting service, etc. By decoupling where each world server is hosted and letting world owners be in control of how they host their world, we naturally foster a decentrally hosted world ecosystem with all world lookups being done through the blockchain through our World Server Router smart contract.
  4. 4.
    World servers by default have all baseline compatibility required for an NFT World. This includes proximity voice chat, the Node.JS layer to sync in-world interactions with the blockchain and/or web apis, and much more. Additionally, world owners familiar with Minecraft server mods can easily integrate added functionality to their world. This allows popular Minecraft games like "Hunger Games", First person shooter mods, RPG type mods, and pretty much anything you can imagine. World owners could then link these in-world games back to a now possible play-to-earn model through the $WRLD token integration. The possibilities are limitless.

Playing Between Decentralized Worlds

Within each NFT World, world owners are able to create a limitless number of "portals".
Anytime a player interacts with one of these portals, the player is transported to another world and an exact location coordinate within that world.
This "Portal" system opens up endless possibilities for cross-world collaborations between owners, interlinked world systems, worlds that act as "hubs/transport stations" to other worlds, smooth exploration for players across all worlds in the NFT Worlds ecosystem, and much more.
Under the hood, the portal system when interacted with by a player will cause their game client to do a lookup against the World Server Router contract for the connection details of the world the portal is transporting them to. If a lookup succeeds, the player's game client connects them to that world's server and places them at the portal defined location coordinate.
Portals can also be used to transport players to location coordinates within the same world.

Console Play & Blockchain Interactions

NFT Worlds multiplayer on consoles will be played through Minecraft Bedrock edition. NFT World's open source servers include a packet bridging layer that allows cross-platform play between Minecraft Java edition & Bedrock edition.
Connectivity to worlds on consoles at this time will need to be manually inputted into the game from a dApp of ours. This will take console players less than a minute to do. Once connected to any world, warping through portals to other worlds works as intended.
Because Minecraft Bedrock edition cannot be modded like Java edition on PCs, we're unable to serve the same blockchain interaction UI.
For blockchain interactions on game consoles, this will be done through a combination of text-based & native in-game UI.