Twine is an open-source tool for telling interactive, nonlinear stories.
You don't need to write any code to create a simple story with Twine, but you can extend your stories with variables, conditional logic, images, CSS, and JavaScript when you're ready.
Twine publishes directly to HTML, so you can post your work nearly anywhere. Anything you create with it is completely free to use any way you like, including for commercial purposes.
Twine was originally created by Chris Klimas in 2009 and is now maintained by a whole bunch of people at several different repositories.
Twine Free
An open-source tool for telling interactive, nonlinear stories