an IF-style gamebook engine