Twine

Twine is an open-source tool for telling interactive, nonlinear stories.