text adventure game framework