Integrating Dyon with Rust to script game puzzles


I am working on a text based puzzle game where the user interacts with various IRC bots to progress. In order to decouple the bot logic and game logic processing, I have started using the Actix actor framework. This lets the engine actor spawn and destroy IRC bots as needed for the players to interact with, and the bot actors simply pass back all interactions back to the engine.

I started coding my puzzles into the engine, using a pile of state machines, but it started to turn into spaghetti and became difficult to iterate on. I am currently thinking about some kind of scripting language to describe the puzzles to make them quicker to experiment with and isolate them from the game engine.

Dyon looked very interesting and seems to be Piston’s scripting language of choice for implementing game logic. What I’m having a hard time figuring out is how I could describe the user/engine interaction through Dyon scripts since the actor messages are short-lived, while the Dyon script would need long-lived information to keep track of the player’s state.

Is this an appropriate use case for Dyon or is there something more appropriate? Are there any resources for integrating Dyon with Rust outside of Piston?