Hi! I’m interested in the inner workings of blockchain games like Axie Infinity.
Suppose, I want to make a breeding system for character NFTs on Solana. I have an on-chain program that can swap two “parents” NFTs (burning them) and mint a new “child” one, with game stats determined by random chance (using a VRF oracle like Switchboard) and stats of the parents. The problem is - I need to generate the artwork for this new NFT somehow, upload it off-chain (to Arweave) and get a URL to it to include in Metaplex Metadata. How to do this? Artwork depends on game stats - so I guess I cannot pre-generate the art, but I can’t create an NFT without an art image URL either.
Probably, my program can generate a “stub” of an NFT, my artwork generation service reads the stats, generates and uploads the art and then the service executes the instruction to “finish” NFT minting passing the art URL and sends the complete NFT back to the player. A bit like escrow - you send your “parents” NFTs to the game program, and wait for the whole process, that involves centralized (?) art generation service. Can this be done better / more decentralized?
Also, are there good resources / discord channels where one can find technical information like this on GameFi or ask quiestions like this?