NFT Metaverse is a immersive virtual world where user can meet, socialize and play games. NFTs play an important role for personalizing the user experience and as a foundation of games / virtual economies inside the metaverse. The NFT metaverse combines existing NFT art owned by the user and combines it with a generative algorithm to produce a virtual world where the user can move around.
For this proof of concept these parts were implemented:
- World generation using a maze algorithm
- 3d rendering of the walls and NFTs with image frames
- skybox and floor rendering
- Save state (player position, name of metaverse, NFT images) in IPFS
- Restore state from IPFS to make the metaverse shareable
- Web3 login using Moralis or Sequence
- Fetching of NFT metadata using Moralis API and NFTPort API
- Demo is hosted on Vercel
This project is developed in Typescript, it is purely client side. It connects to different Web3 APIs to gather data and present it to the user. Rendering is based on WebGL using the Three.js library.
- Typescript
- Vite
- Three.js
- Web3 APIs
Three JS Pointerlock demo:
Artwork: