The idea would work for single player games, where all the content is in the executable, but yeah, multiplayer is another story.
It won't necessarily work for single-player games, since it's trivial to build a game so that it requires a connection to an external server (put in some API with game logic there. Make sure logic isn't easily reversed engineered). Of course, a game company could always make a game which was built to run locally. It's all the company's choice regardless of NFTs, which are as useless as always.