This blog will keep you updated on new StoryScript developments and share tips & tricks on how to make things work with the tool.
Over the last weeks I worked on improving StoryScript's responsiveness, so StoryScript games will look good on all devices. For the more text-heavy example games that was relatively easy as I could use Bootstrap's responsive framework to change the layout a bit when needed and media queries for the rest. The map functionality was already there, as the portion of the map you can see depends on the maximum of either your device's viewport or the maximum set by the game designer (setting a max-height using the map-container class).
The challenge was the visual adventure game, as it uses a picture for a location that should be shown in it's entirety and can have other pictures on top of it for features that can be removed (the herbs). That meant repositioning not only the feature pictures, but also recalculating all clickable feature ares. On top of that, as it was quite unclear what a user should do in the game when using a touch device, we wanted to add symbols to all areas to show that they could be tried with the combination selected by the player.
Using the image load events and storing the original sizes, I was able to calculate the factor to use to scale and apply that to the features, areas and symbols. Monika got me some nice symbols to use, so while I was at it I also improved the experience for mouse users by showing the symbols as custom cursors when hovering over feature areas and I added them to the combination action's buttons.
The result works great and looks very nice. Check out the demo! I updated the tutorial on visual adventuring to show how to add your own symbols. It's very easy. Another great improvement for StoryScript!
StoryScript will be present at the DH Benelux 2026 conference in Maastricht in The Netherlands! When I first showed StoryScript to dr. Monika Barget (Faculty of Arts and Social Sciences, Maastricht University), she immediately saw potential for using StoryScript for educational purposes. This is why we are now presenting small demonstrations of historical storytelling that can be created with StoryScript to digital humanities and digital heritage experts. The aim of our demo session is to learn more about the needs of potential academic users and to explore possible use cases, new features and maybe even collaborations. Registrations for DH Benelux are still open, so if you are interested in digital storytelling and new developments in tech for the humanities, join us in Maastricht! Check out the conference website for more information.
As there are new versions available for the great tools that I use in StoryScript, it was time for an upgrade. StoryScript now uses Vite 8 and TypeScript 6. Everything should work just like before, but maybe you'll see improved performance while developing and publishing your game. If you do run into trouble, don't hesitate to log an issue on github.
I added a new feature to StoryScript, the ability to script gameplay so you can autoplay your game! This is great for demonstrations that need to run continuously, like arcade games do before you throw in your coins. I've written a tutorial on how to use this functionality, and added a demo to showcase it. You can check out the source code to see exactly how it all comes together. I hope you can put it to good use!
I've moved the StoryScript documentation from a PDF document to 15 tutorial pages on the website and updated it to match the latest state of StoryScript. Using prism.js, I'm able to show the code written during the tutorials in a great way online that allows you to easily copy it if you want to. There aren't quite as many screenshots now as these are painful to maintain, but I hope that the rewritten text is clear enough.
In the new tutorials, I don't deal with setting up the required tools or using GitHub anymore. There are plenty of resources on that on the web. I only cover the bare essentials of what you need to do to get started in the quickstart now.
I really like the result. Another step forward for StoryScript!