How to Write Adventure Modules That Don't Suck