Autosave/Interpreter functions

For every person that reviews your game and has something critical to say, “I couldn’t load the game,” “I got lost and gave up,” “A bug made the game unwinnable or I got softlocked before my save file,” etc, etc, there are probably 10 more who bounced without saying anything at all, and that’s being generous. However unpleasant a point of criticism might be, it is very unlikely to be an errant datapoint. It’s probably shared by at least some others and it’s something you should consider more widely than “that’s just the wrong opinion of this one random person”.

Please remember that there is no obligation to review at all, and which games are reviewed and to what extent is entirely arbitrary. Someone could review IFCOMP games, but refuse to review any game with a “P” in the name, and that would be totally fine. Bizarre? Sure. Arbitrary? Absolutely. Yet completely justifiable because there was never a single obligation beyond basic civility to begin with? Yes.

Get what you can from a review, positive or negative, and remember that more than half of the games on IFDB have never had a review of any kind. Silence from the screaming void is not preferable.


Wow, someone who understands my nightmares. The game without reviews, the post without replies or likes, they scare me to death. :scream:


We all occupy a niche of a niche of a niche of a niche in the cranny of another niche hobby. Even the most diametrically opposed of us probably have more in common than either of us would like to admit. Don’t believe me, try bringing up Interactive Fiction at the next random social gathering you attend. It’s something I try to keep in mind even when I find myself disagreeing with someone in this space. It can be a difficult thing to keep front and center mentally.


It’s all very well to say “get testers, fix problems, get more testers” but I myself have asked for testers for my own ADRIFT games on the IF forum and have been totally ignored. One of my few regular testers tells me that some games have up to a dozen testers. All I can say is that these authors are very, very lucky.


There’s a give and take to testing. People who always volunteer to test always get testers. Larry, I have no idea how often you respond to calls for testers, so this isn’t directed personally at you, but I’d like to remind everybody that if you want testers, build up some goodwill and get some favors in the bank. You’ll notice that people like @mathbrush are swarmed with testers. That’s because Brian gives his all to this community with testing and reviews and everybody owes him (that and they know they’ll get something good!).


Larry, I am a terrible tester. I don’t get stuff done on time, I get distracted, and sometimes hyperfixate on certain things. With those disclosures, I’d be willing to test for you if you’re willing to put up with my shortcomings as a tester. (Sincere offer; I’m not trying to minimize your point. It can sometimes be difficult to get testers, especially during certain times of the year.)


Controversially, I’d like to suggest that many useability probems are, in fact, interpreter problems. I find it quite jaw dropping that, after all these years of typing, no popular interpreter has text completion. I’m rubbish at typing and I just used to loathe having to spell out words like sarcophagus that seemed to be so popular in old games. Really old games, you could type sarco and it would work because the systems then didn’t store the whole word in the dictionary to save memory!

Also, you should not have to remember to save. Goodness me, why can’t they autosave. We don’t have floppy disks anymore!


I had someone who was testing a parser WIP for me, someone intentionally not in the IF scene, express profound puzzlement when they died and realized there was no autosave happening between setting changes or significant plot advancements. Apparently autosave has become so common in many mainstream games that there’s a (mostly younger) demographic of gamers who are sincerely confused when it isn’t included. They quickly adjusted when I pointed out they could just undo, but it was something noteworthy for me.


I think this is more of a mobile phone thing. On Android phones, Son of Hunky Punk has word suggestions, but they don’t seem to be very good suggestions, as your commands are very short and the individual words that you’re typing are generally very short and it has no context. Maybe there’s a way for the programmer to give context based on the text that has previously appeared in the text on screen.

Hunky Punk also has an option to use buttons for common commands, but I find this a distraction and turn it off.

For a desktop application, I can’t think of anything that provides autocompletion, apart from programming tools (which do it well) and Microsoft Word. The latter is obtrusive and awkward to use (constantly moving hand from keyboard to mouse), so I turn off everything that says “smart” or “auto”, as Word always gets it wrong anyway.

That’s a really good point. When you finish a session and come back to it later, you should continue on from where you left off by default. For desktop applications, it should also save the window state (minimised, maximised or restored), size and position, and it should also automatically save a transcript so that when you continue a game, you can still scroll back to see what you did in your previous session. And when you want to report an issue, you can just send the automatically saved transcript, rather than saying, “Oh, sorry, I forgot to turn the transcript on” or “I didn’t know you could save a transcript”. Hunky Punk automatically saves transcripts, but it’s hard to find them.


Many modern games don’t even have save buttons. They just… save your progress. Crazy, I know.


My kids are, one of them on particular is quite into retro games and on playing a game on Dreamcast (emulation) it didn’t autosave and he lost his progress!

It’s surprising what we (old/older folks) assume the youngsters would know.

1 Like

That’s an interesting idea about having an auto-transcript. It would have to keep different games separate though.

Thinking out loud here - but maybe it could put the transcript into the save game. That would also support your idea of being able to scroll up after restore. It would neatly solve the problem where any game would automatically have complete playthrough transcript from the beginning.

Nice idea.

1 Like

I haven’t really given this any serious thought, but I imagined the primary file name to be used for the save file and the transcript file. For example, if the story file is MyGame.gblorb, then the save file is MyGame.sav and the transcript is MyGame.log (or something similar). I don’t think the save file and transcript file can be the same, as the former is a binary file and the latter is a text file.

1 Like

I was thinking the auto-transcript would be packaged into the save game files. Then when the player typed transcript or transcript off (or something), the terp would unpack it and save as a regular text file.

You could use the game name as a prefix (as suggested), but it would mean that an older transcript would get overwritten whenever a new game was started or a game resumed - unless it just appended to the end, in which case you’d never be quite sure which bits of transcript went with which game session.

1 Like

The difference is that a save game is a snapshot of the current state and the transcript is a history.

Another format is a journal file that just keeps a record of the commands. This could be used to reproduce the game from the beginning. This may be time consuming and it doesn’t work if there’s anything that’s random, as the random outcome will be different each time the journal is replayed. To overcome this, you would have to use a pseudo-random number generator with a known starting seed. In this case, the starting seed could be randomly generated at the start of the game and saved each time the game is restarted.

I don’t think the restart is a problem for the transcript, as most transcripts just keep going. After all, they’re just writing to a text file. They don’t obliterate the file and start again.

An exception is some custom engines. I just got stung by this in a ParserComp game where I turned the transcript on, did a restart and the transcript stopped (unbeknowns to me), so it was not recording a transcript when I thought it was. The whole point of auto saves and auto transcripts is that nothing is lost during play or when you stop playing. You can continue where you left off, keep a record of your session for future reference or provide a transcript to the developer.


Can someone please split this stuff from my review thread? It’s a really cool conversation but it doesn’t belong here.

Oops-- didn’t tag a mod. @HanonO , can you split all of this interpreter/saving conversation? Other people might want to participate in it if they knew it was going on.


Sorry, Amanda.


Frotz on iOS has this. I am not sure if it is being provided by the app or by the keyboard utility built into the device. But yes it is extremely useful.

One thing I don’t like about Frotz on iOS or perhaps don’t know how to use right is that there doesn’t seem to be any way to point it to a downloaded Z5 file that you got via Safari or whatever. It has built in integration with IFDB which means it is super easy to use for games hosted there as a direct download of a supported game format. But if IFDB just points to an page or some other website, it will not correctly download and add the game to the local device library of games.

Fortunately I discovered ElseIFPlayer, a browser interpreter for Z-Code (and maybe other formats) that allows you to open a local download game file and play it in a browser (I tried it in Chrome for iOS only so far). That let me play some of the ParserComp games.



No sorries. I don’t object to it, but, it has the makings of a productive conversation and it should be labeled as so.


I have just tried sharing a z5 file downloaded(with Safari) from using iPadOS Files app to the Frotz app. This added and opened the file successfully, but this seems to work only if Frotz is already running in the background at the time of the sharing. I don’t have an iPhone, therefore I can’t test if this works on iOS. Might be worth a try.