StoryScript

About the tool and the author

The history of StoryScript

StoryScript started as a simple idea of linking HTML-pages together to create interactive stories. Show a piece of the story, and let the player decide what happens next. I added more features while we developed new ideas. Adding items to be collected to a story. Interact with objects in the game world. Solve puzzles before being able to move on to a new part of the story. Quickly, it grew into a tool that can create a variety of games.

I tried to make StoryScript fun to work with, powerful, easy to understand and easy to maintain. That's a big challenge! These are some of the design decisions I made that play a big role in what StoryScript is today:

  • No StoryScript-specific editor. IDEs (Integrated Development Environments) are really powerful today in helping to create, show and organize code. Visual Studio Code is a good example. Use these instead of spending a huge amount of work in creating a bespoke editor.
  • Web-browser technology only. StoryScript games should depend on nothing else but standard browser technology. This has several huge advantages:
    • You can run your games on all devices.
    • They offer the most well-understood technology stack available. Tons of help is available for all issues you might run in to.
    • Web-tech offers the best possible backward compatibility. You can't break it without breaking the Internet 😃! Once build, StoryScript games should remain functional for as long as the web exists.
  • The UI should be super-flexible to adapt. You should be able to add your own custom UI components if you want to. Vue.js makes this possible!
  • Changes you make should be reflected in your game as quickly as possible. Using HMR (Hot Module Replacement) technolgy with e.g. Vite, you can today make changes in your code that are reflected instantly in your browser while developing. For StoryScript to make full use of that, I had to create a state management system that tracks your game's process during module and page reloads that is just as flexible: save the game state, but show design changes that impact that state as well! That was quite a challenge, I think my solution turns out to work very well.

With StoryScript growing into a full-fledged game development tool, the time came to bring it to the people and have people create their stories with it. Hence this website.

About the author

StoryScript was created and is maintained by Rutger Schurgers. It is my most beloved pet project, which is saying something because I love development and I have created a number of pet projects over the years. You can find the ones I open-sourced on my Github page. You can find more information about me on my  StrixIT website.