danijar / dreamerv3

Mastering Diverse Domains through World Models
https://danijar.com/dreamerv3
MIT License
1.28k stars 219 forks source link

typical protocol for windows-only games given lack of jax cuda support? #149

Open nullonesix opened 1 month ago

nullonesix commented 1 month ago

what's the typical way for doing RL for windows-only games when jax cuda has no support on windows?

0xlouis commented 1 month ago

I don't think there's a “standard” (maybe I'm wrong), from what I've seen, everyone does their own thing.

At the time of writing, I'm training a DreamerV3 agent (from this repo) on the game “Lethal Company” (Windows). To do this, I wrote a Windows-side script that injects the keyboard/mouse and reads the screen (and the game's memory to compute the reward). The script makes all this available on an MQTT broker which allows me to run several games in parallel through the network. The training script and the gym environment(s) run on a single GNU/Linux system. Basically, the gym environment interacts with the game(s) via the network.

I'll publish the project on my github soon.

In the past, I've done the same thing with Switch games via a Yuzu emulator (but Yuzu has since been removed by Nintendo).