Interactive fiction engine