At the moment we do not provide a nice way for users to provide state + actions and receive the next state
A few issues:
The engine outputs observations that aren't the same as the state serialization (the current state serialization is human readable and verbose whereas the observations are condensed commands.
Not easy to feed a state into the engine and reset the state as engine has a few things stored in random places (although everything is at least under match.state)
This issue would mean a somewhat considerable overhaul
One option:
Overhaul how observations work. Engine prints to user a long JSON like string and user parses that as usual. This is the state serialization effectively.
Another option with less work
Provide a reset function to allow users to reset match with a serialized state or the condensed observations outputted from the engine. The received observations will continue to be the condensed form of the observations
At the moment we do not provide a nice way for users to provide state + actions and receive the next state
A few issues:
This issue would mean a somewhat considerable overhaul
One option:
Another option with less work