Sorry if my knowledge of NFTs and smart contracts is limited, but as far as I understand they wouldn't be the right thing for something like a poker game. NFTs represent assets that can be bought, sold and used in a game (such as a digital cat for CryptoKitties). But poker is not played with "tokens" in this way. Also, if we would use a smart contract for each turn in the game, the turns would need to take a minimum of 15 seconds, because this is the block time for ethereum. IMO this is too slow for a poker game, players want to act faster than this. It would also be prohibitively expensive to play the game if we need to make an ethereum transaction for each turn. I think what would be needed is something like the Internet Computer (DFINITY) or
Cartesi. These platforms allow decentralised computation that can be verified by a blockchain, but they don't run on a blockchain themselves. The result is that they can run decentralised computation that runs at "regular computer speed". There is actually poker engine under development on top of Cartesi here:
https://github.com/cartesi/poker.
Reading my reply I realise that it might come across a bit "smart ass". It is not my intention. It might be the case that NFTs and smart contracts are the perfect things for decentralised poker, but I just don't understand how. If this is the case, please explain more!