Random cycling text: what's a good limit?

I like having random cycling text in my games. And I like seeing it in others.

The only problem is, too much and character faces the paradox of choice. There’s just too much, and it’s too annoying to go on.

So I was wondering what people feel would be the maximum number of texts they’d put up with before the text began cycling again? (Note–I’d write that you could see everything at the end of the game.)

For instance I have a bookshelf that has 1000+ books at the start of the game that establishes the, um, mechanic. The player isn’t going to want to get through them all, but there is a cute message at the end saying ok, it will rotate. There’s also a message after you read 5 books saying “Boy, there’s a lot, if you get to the end of the game or read the source code, you can see everything.”

I’d like to push that (and other end messages) so they’re a bit more visible. I don’t know what a good number is, and I don’t want to push-poll other than to say 1000 is way too much. But I think it’d be a neat feature to have so that the player doesn’t get too grumpy trying to see everything.

So, what number do people think would be reasonable? No rigor needed–even a range is good. I know how to program the framework, but any data is appreciated.

I am a nut for cycling text. Some people will read it all and many won’t. So long as you don’t put an important clue in the tenth “or” and expect the player to find it, you should be fine.

1 Like

Hear, hear.

If I see cycling text I tend to scroll through it all, even when the game tells me “You know what, this is just random text and nothing important, why not go back to the game?”. Partly because I can’t always trust the game not to be misleading me. Partly because it may be the PC’s voice, and he/she may just be completely wrong. And partly it’s because of inertia…

1 Like

Actually, I put in a redundant clue in some cases. A bookshelf at the game’s start may clue a word you need to use later, but that’s relatively chancy. Everything else is clued some other way.

I love it too. I just realized, though, the problem is that I may be dangling something unacheivable and impractical in front of the reader–I mean, few people are going to sit and read through 100+ random texts. Eventually I think even a player who enjoys it will cool on the idea. During Release 1 I think I had one tester go through about 140 texts, then say “Wow! That was cool but I’m not doing it again.” So eventually fatigue sets in.

Especially when there are 72 different places that show random text. It adds up.

I have things organized so the text cycles after 30 (adjustable for each table of random text,) which is still a lot of random text–and it says “Win the game, you can see your favorites. Or see the source code.”

The actual best use (imho) is for repetitive text the player might see a lot without directly requesting it. I randomize the text for a character in my game who tells lengthy stories - in that case it’s pulling elements from about six lists of phrases.

1 Like

Definitely. I like having those in there. But I also like the perception of “You read the long book. One of the pages mentions research on (xx). That’s probably not relevant, but it’s more interesting than you expected. Whew!”

say “‘Ah, yes,’ drones Mr. X. [i][bookname entry][r]. A most [one of]iconic[or]transformative[or]edifying[or]scintillating[or]zeitgeisty[in random order] read, providing you are a good reader. [authname entry]. A [one of]stirring treatise[or]vigorous discussion[or]tour de force[or]stunning perspective[at random] on [booksubj entry] And more. [pompous-phrase]!’”;

to say pompous-phrase:
say “[one of]Indeed[or]True art[or]Quite so[or]Ah[or]Fascinating[or]Food for thought[in random order]”

Weeeeeeell… it’s not so much loving it, as not trusting the game implicitly. There are many reasons not to trust the narrator or the game. So many games delight in laying out specific goals and then you get led to a rotten ending because you allowed yourself to be led by the nose…

(Book & Volume and Nightfall, I’m looking especially at you!)

…and so many games ask the player to do tedious and repetitive things…

(the very fact that you have to lawnmower room descriptions with “examine”, and sometimes “search”, “look behind” and “look under”, is an accepted part of IF that… I’m not always OK with. One Eye Open delighted in hiding little scraps of paper this way. I spent the entire game wondering about the ones I wasn’t finding, because the ones I did find were in places I didn’t really think were worth examining, I was just lawnmowering)

…that until the text starts repeating, I never know for sure. I mean, how many times have we all seen stuff like…

“There’s nothing important here, it seems.”
“You keep searching, but there’s still nothing”.
“Nada. Zilch.”
“Oh hey, here’s a rare baseball card! This is exactly what you need to get past that rabid sports fan blocking your way!”

I’m thoroughly vaccinated now. I prefer to lawnmower (IF’s version of “farming”) than to wonder around, not knowing I’m in a “walking dead” situation because I’ve mentally written off the possibility that that rubbish heap might have something after all.

It’s something I accepted and thought “Gee! Great! I can code that!” But after some time I realize I need a way to detect if the player is running in circles. I agree it’s a better alternative to dead lost, but yeah.

At any rate I want to make it clear that fun random text is a joke. For instance, if you say yes, you get 10 different responses before a “Glad you had fun.”

Examine should definitely clue search if it’s there, but then that feels like a lawnmowering convention. Still it’s better than Beyond Zork’s “X AMULET THROUGH BOTTLE” which, ugh, guess the preposition.

That’s funny, I find “x SOMETHING through TOOL” quite natural. :slight_smile: Though through the bottle? I probably wouldn’t have gotten that

ZIL accepts “x all”. That saves on the lawnmowering, and I hope it stays.

X ALL is definitely a good thing. Especially if it works with other descriptions of things as well: READ ALL THE SPELL BOOKS, EXAMINE THE GOLD AND SILVER COINS, etc. I recommend re-adding it for any big games with a lot of examining.

Yeah, I tried with, under, behind and I also tried put bottle over amulet, etc, put amulet under bottle. There are finitely many cases, fortunately, but I seem to forget it each time I come back to it.

I was surprised X ALL was blocked by default in inform. It can be a bit of a text dump. I think there;s got to be a good compromise, though. Maybe warn the player if there are >5 items? I guess it is up to the programmer.

I am almost addicted to creating cycling text but not to change subject matter (i.e. 1000s of different books) but as a matter of style. I find this transcript boring…

The book is stuck.

The book is stuck.

The book is stuck.

…to be a frequent kind of deadening IF experience. You keep trying different things but always get the same error. The narrator doesn’t evince any awareness that you are being talked to in an incredibly robotic way. This is not the way a human being would respond to repetitive questions, and it completely breaks me out of the narrative. But adding just a few variations can suddenly make the narrative seem much more human, even if the sequence cycles after three or four iterations. E.g.

Can’t. The book si stuck.

Can’t. It’s stuck.

The book is stuck.

Can’t. The book is stuck.


Ooooh, that’s a good idea but it has its own inherent danger. One of the ways in which I recognise synonims and failed actions is by having set, repeatable failing text. If I started seeing what you describe, I’d immediately assume (before I found out otherwise) that there IS something useful to do with that book. I’d probably waste SO much time on that…

Not if almost every default error response cycled in a similar way, though — I bet you’d get the hang of it pretty quick and learn to ignore ‘mostly similar responses with no new info’. (This is one of the reasons I’ve rewritten almost every default rule response. Among other things, I have added random and/or cycling variations to the majority of responses in the library, to make it more human. I burn to release this source code and both my WIPs share this approach. I am pretty close to doing so in the case of one particular WIP but my life exploded in the meantime.)

I’m curious to see that in action, I really am. I wonder what it’ll play like. Get the really important stuff out of the way first, though - and then come back to show us what it’s like!

You could also consider releasing the framework as an extension…

It doesn’t help that Wreck My Car is a one-move game, so it’s not always easy to ‘type a command twice’ - often you will see the entire finish text and restart text between Command A and Command B.

Another innovation from Wreck My Car that you’ll also see in my WIPs is Instant Restart. I dispensed with all that Restart, Restore, Quit nonsense. Death leads immediately to the next play’s opening text. This is the way I will always do things, but it’s a huge pain in the ass to code that way because it means I have to fake-end the game, instead of truly ending it, which means I have to reset all the variables manually, and some Inform 7 variables are not easily susceptible to manual resetting, as I believe I mentioned in another thread.

Note: I edited my last post you replied to quite a bit after your reply.

EDIT: This is weird. The post I was replying to here is now showing below this response instead of above it. Weird! Anyway no time to troubleshoot. Thanks for the cool chat. I needed a little diversion but nose must meet grindstone.

I remember playing (and enjoying) “Wreck My Car”, but the effect you’re talking about was, I’m afraid, totally lost on me. Because the replies I got were clearly “failed messages”, so I didn’t try again.

But I suppose that just means you did it right. If you’d done it wrong I’d have been misled the way I was just describing. I do like the following sequence:


Think concrete action verbs.


Concrete action verbs.

Like it’s saying, “I already told you, man. CAV”.

Anyway, I got my wish, I got to see it in action, thanks. I like it. It’s not the sort of thing I’d notice as a player - but it might be the sort of thing that, as shown above, will produce a nice, commonsensical sequence. That’s a bonus in any game, whether it happens a thousand times or just the once.

(mind you, WmC is a game that keeps track of how much of the text is unread. So you’re encouraged to go back in and keep trying different things. Always different things. So you’re really less likely to retry old stuff, whereas in a more classic IF you’d be retrying lots of times)

1 Like

I see what happened now. I typed a huge post above, and then accidentally wiped it and replaced it with what I thought would be a second post. Shit! Any way to recover my edit history? The post I deleted was about details of how I had first implemented the 3 or 4 step default rule responses in Wreck My Car http://ifdb.tads.org/viewgame?id=3dq6d1flnt2u5llh and how a more complex version is in both my WIPs. It also noted for Andrew that I vote for cycling text on the bookshelf, and that it would work better if I were not encouraged to dig to the bottom of the repetition. e.g. something like ‘The bookshelf is full of books with curious but not partiicularly relevant titles like [random book].’ That way the player is cued to cooperate with the narrator in avoiding the breakage of suspension of disbelief. They know the variations will eventually repeat but know there will be no new key information, so they are probably willing to stop before the narrator sounds robotic. Even humans begin to repeat themselves eventually; they just don’t do it directly from one response to the next like IF games do. IF games can very easily sound more human with added variations. I said this all much better in the post I accidentally deleted, but ah well, butterfingers. 8(

Everyone can read your edit history by clicking the pencil at the top of your post. It’s a rather amazing feature.

But I think the post you meant may be actually lost…

I may have edited it too many times. I was able to recover this snippet but it’s not the whole thing…

[quote]If you try commands that shouldn’t work, like ‘GET DKFJKD’ or ‘OPEN WHEEL’ or the like, you can see that many of my default messages are already rewritten (with CLM instead of with rule responses since it was done in 6G60) and often two-step cycling, and I’m sure in some cases I was already using 3-step cycling. That’s because I built that game by hollowing out the shell of one of my works-in-progress and then refilling it, simplifying the custom library mesages but leaving most of them in place. What I’m hoping to get time to get back to working on, uses my original more complex custom library messages (recently upgraded to 6L38’s rule responses), only much further evolved over the intervening time. Most of my rule responses do 3 or 4 step cycling now.

It would not be hard to recreate this without me, and anyone has my blessing to do so if they like the approach. I’ve told you how it works and all it takes is a bunch of grunt work to come up with a handful of variants for each of maybe hundred-odd rule responses. Of course it’ll be a lot easier when I release my source code. Sorry I am so dilatory but I am confident I will get there.[/quote]