Twine
Twine, a tool for telling interactive, nonlinear stories
...Twine stories can include HTML, CSS, and JavaScript for advanced customization and dynamic gameplay. Finished projects can be published as standalone HTML files that run in standard web browsers. Available as both a browser-based editor and a desktop application, Twine is widely used for interactive literature, narrative games, and educational experiences.