Now this is the really fun stuff. Back in university these solvers were only used for cinema like pre renders and benchmarking the newest 2000$ GPUs. At least if they are in 3D. But even in 2D and with graphics toned down a bit to give your graphics hardware the opportunity to catch up with the task, they are quite mesmerizing.
Fluid Ninja for instance used this potential for a high-end production-ready Unreal Engine-Plugin.
This nice. I too can. I thought. And I am too lazy to learn the deeper meanings of the “Unreal” and some strange plugin which I will probably never get to work the way I need for my use cases. Therefore I made some little bastard of this in Flax:

And also tested with a quick dirty collision controller:

There is still a lot to do. First and foremost - optimization and scalability for mass emitting smoke (or explosion) effects like you do in a real game. There is nothing more boring than games that break immersion on the smallest bit of interaction.

Unreal’s plug in translates the volume into volumetric textures, which makes the use of VDBs feasible in a game environment. Perhaps a better approach in the translation process could make it possible to use in realtime (high end) games. Getting it to run in a fog volume would be awesome, and still useful for cinematic sequences / cut scenes.