Phew, since I don't know the details about how Pycolab works, it's hard to suggest details. Ideally most of the Pycolab internals are handled inside the
Environment class and controlled via higher-level constructor arguments (like
gym_id for OpenAIGym, for instance).
human_ui already sound more like internal stuff to me -- but you will be in the best position to assess what can be internal and what needs to be passed in. ;-)
reset(): There must be a way to get the initial screen (which is what needs to be returned) somehow, right? If the
engine object alone is not enough to retrieve it, maybe something in the way you currently setup the internals needs to be changed? May be I also misunderstand what "screens" in Pycolab look like, in which case please correct me.
Cool stuff, looking forward to a PR! :+1: