Twine (2.3.14) Harlowe (3.2.2): Saving User Input?

Hi all,

Firstly, please forgive me if I’ve posted this to the wrong topic… I’ve never actually used a forum of this nature before. I’m a beginner who is learning how to use Twine for a university task and I had a question about variables.

In my game, I have a text box which asks users to write a response based on a prompt. I use the following to achieve this: (set: $response to (prompt: “What will you say?”, “Type it here.”))

I was just wondering if it was at all possible to store every user’s input, and then show this at some point in the game; essentially, a record of what all users have previously written. Obviously, the first user would only see their own words… but then as more users play, that data would grow. Is this actually possible? And if so… how? I’m hoping it’s not too complicated. Full disclosure, this is something my professor suggested I explore, but she wasn’t sure how to do it… and I am very much a novice (the last time I attempted to use HTML, I was decorating a guild on Neopets in the early 2000s… lol).

Thanks in advance for your help, if any!

The Twine Story HTML file you generated is just a self contained single page web application, so generally anything a web developer can do within a web application you can do within a Twine project(1).

So as long as you have:

  1. some means to uniquely identify each user.
  2. access to a remote server to store the common data on/
  3. the Web Developer / JavaScript skill required to add the required functionally needed for your project to send & receive data to/from that remote server.
  4. Legal consent from each user to store their data.

then you can track data for each user.

Other people had asked questions like this before, and some are using a Google Sheet solution with varying results…

  1. Additional help with the John Stewart Twine Game Data to Google Sheets
  2. Harlowe 3.1: Importing data from Google sheets

(1) Harlowe has been deliberately designed to restrict an Author’s ability to use JavaScript to extend the functionality of a project that uses Harlowe as its Story Format. And while it is possible to use JavaScript within such a project, you would need to use a Scope Escalation hack to gain access to the Story Variable sub-system within the Harlowe engine. And Harlowe doesn’t have a documented JavaScript API so you need some knowledge of how it works internally to know what you can do.

Thank you. I’ll investigate those previous topics, but it sounds like it might be a bit too complicated for my skillset… Nonetheless, I appreciate you taking the time to respond!