Posted on

Interactive NFT concept (INFT)

What are INFTs?

Imagine Interactive NFT pet dogs that were 3D Tamagotchi, with interactive animations and audio, that’s far more fun than a regular NFT! Owners of such INFT pets could watch them explore their virtual cages, could pet them, feed them etc.

Requirements

INFTs must load within 3 seconds, preferably within 2, nobody wants to wait for their INFT to load up. Making INFTs load quickly is also environmentally friendly as it requires less data to be transmitted over the internet: the engine core binary data must be small: <~ 5MB, preferably <~2MB

INFTs must run smoothly, with a frame rate: >= 30Hz, preferably >= 60Hz.

INFTs must be viewable in all popular browsers running on all popular OSs. No browser plugins should be required. You send the link to anyone and that person should simply click on it to view the INFT.

INFTs of the same type shall use the same engine core stored on the server. For example an INFT pet dog range could procedurally spawn a million dogs using the same few megabytes of engine core data stored on the server.

Each INFT owner would be given a unique URL like: www.website.com/nft/IJdgktVekkCBjY3ai6j4y. The unique 128 bit code on the end prevents anyone without the URL from viewing the NFT. The 128bit code is read by the INFT when it starts running.

The INFT loads a small (<~1KB) metadata file from the server whose filename contains the 128 bit code. That metadata can specify a number of unique attributes for the INFT, like the owners name, the genome of a virtual pet etc. This means that a million dogs would only require a million metadata files (<~1GB).

The core engine binary data will be cached by the users browser, this means that after a user has viewed one dog, they only need to download the metadata to view another dog, this has the added advantage of reducing loading times greatly after first viewing.

Some persistent state of an INFT may be stored as cookie data in the client browser. This would be perfect for storing things like viewing preferences of artwork etc. It (cookies) is a very attractive solution because it scales without central server impacts.

NOTE: Local cookie storage would not be perfect for a pet dog state, because every different browser instance would have a different dog state, but it would still be fun, and from the perspective of a single browser would be consistent and solid.