This mod uses a recurrent neural network that continuously writes code for the game to execute. The result ranges from hilarious nonsense to downright terrifying nonsense.
Demo: https://www.youtube.com/watch?v=WrrrUQUd3mI
Important Note: If you use Windows, please make sure you read the system requirements before installing Docker. This is because it requires Microsoft Hyper-V to run, which is not supported in all versions of Windows 10. If you don't have the right version, you can try to manually run the Python script that the service itself runs. The commands to set up the service can be found here (so you can adapt it to the Windows equivalent).
Install Docker, then run docker run -p 8081:8081 stephwag/doki
. The container must be running for the game to work. You can turn it off after you're done playing.
Copy scripts.rpa
into the appropriate directory (and backup your original game files).
Temperature is a setting to control the "creativity" of the neural net, anywhere between 0.0 to 2.0. The default is 1.0.
Generally speaking, since it is generating code, "creativity" may mean it will generate more buggy code (which may cause it to reload the script more often). However, it's there if you want to play with it anyways.
Since a neural net is programming the game, it will generate bad code every now and then. This cannot be helped.
If you see an exception giving you an option to "ignore" it, choose that option. If that isn't available, click the "rollback" option. If neither option is available, you may have to restart the game.
You may see the game go into "reload script" mode for a few seconds, then resume the game. This is because sometimes the generated code will cause something in memory to bug out, which also causes the Ren'Py parser to refuse loading new commands. Reloading script is basically a workaround for that.
You also may notice a very slight delay between each interaction. Generating dialogue takes a long time, and compared to other approaches I've tried, this seemed to be the least disruptive for gameplay. If I find a better way I'll update.
You can do whatever you want with it, as long as it follows Team Salvato's IP guidelines.