• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Best method to create a choose your own adventure styled document

Community Beginner ,
Sep 28, 2023 Sep 28, 2023

Copy link to clipboard

Copied

Hi!

I am working on a project which used the choose your own adventure style of narration, so each paragraph has a number which gets referenced several times.

Because I need the agility to move paragraphs around and shuffling them through the book, if I did it with plain text, what would happen is that you'd fin on page 1, a paragraph with the title "60" for example, because I ahve moved it from a page much further along. Yes, I could change the title from "60" to "2" for example, but then all of the texts everywhere in the book which referenced "60" would be wrong and the reader would be unable to complete the story.

 

My solution is creating variables, so I crea a number of variables equal to the numbers of paragraphs, so if there are 120 paragraphs there will be 120 variables, and whenever I switch things around, I only need to change the variable number once, and all of the instance of that number gets changed everywhere I placed in the document.

 

Is this the best way of doing it or is it over engineering? Without a proper dockable Variable panel this task feels extremely klunky and slow.

Do you think there is a better solution or am I doing something wrong?

 

Cheers!

TOPICS
Experiment , How to , Type

Views

953

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 28, 2023 Sep 28, 2023

Copy link to clipboard

Copied

I'm not sure there is any canned, out-of-the-box tech that will do this — easily and well, at least. It would take custom coding in Javascript or the like, an actual "app" in which the content pieces were secondary to the overall structure.

 

It could, however, be done in HTML with little or no scripting/coding, although a little, through PHP or the like, would make it easier to shuffle name and page and segment variables.

 

I'm not saying it couldn't be done via InDesign, exporting to Publish Online or EPUB, but... it would be messy, slow and unreliable without lots of custom scripting.


┋┊ InDesign to Kindle (& EPUB): A Professional Guide, v3.1 ┊ (Amazon) ┊┋

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Sep 28, 2023 Sep 28, 2023

Copy link to clipboard

Copied

Just to be on the same page here: this is meant to be published digitally? Not on paper?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 29, 2023 Sep 29, 2023

Copy link to clipboard

Copied

This is a physical booklet aid which will be used for a table top game.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 29, 2023 Sep 29, 2023

Copy link to clipboard

Copied

Oh, never mind my answer, then; I ass/u/med this was to be a digital doc of some sort. As Robert T notes, the cross-refs feature is probably your best friend here. I'd suggest a training course or some fairly deep study so you can master its power (and pitfalls) to your best advantage.


┋┊ InDesign to Kindle (& EPUB): A Professional Guide, v3.1 ┊ (Amazon) ┊┋

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 29, 2023 Sep 29, 2023

Copy link to clipboard

Copied

How about Bookmarks and Cross-References? 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Sep 29, 2023 Sep 29, 2023

Copy link to clipboard

Copied

I do not believe I have used any of t hem, before I do some extended research into those, would you kindly explain very roughly how both function? Thanks!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 29, 2023 Sep 29, 2023

Copy link to clipboard

Copied

In short - Bookmark is a "destination" and Cross-References is a "source" that makes a dynamic reference to the Bookmark. 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 29, 2023 Sep 29, 2023

Copy link to clipboard

Copied

Robert's suggestion is 100% correct, and it's how I have made CYOA-style stories in the past. There are multiple ways to do it, but there are only two really meaningful methods for someone in your shoes.

 

If you go to Window -> Type -> Cross-References, and click on the flyout menu in the upper right hand corner, you can choose "Insert Cross-Reference." This will allow you to choose "Paragraph" in the "Link to" dropdown, and then the Destination will actually show you the first words of each of your paragraphs. You can choose to limit the paragraphs displayed by source document and paragraph style. 

 

Below that, you can choose the format of the cross-reference, and you'll probably need to click on the little pencil edit-me icon to massage the format of the displayed cross-reference to your specifications. 

 

If the whole-paragraph method of referencing feels clumsy to you (as it often does for me) then you can instead start by putting little invisible named markers into your paragraphs. So e.g. you put your cursor at the beginning of the "your character falls down the mineshaft and dies" paragraph, go to the flyout menu of the Cross-References panel and choose "New Hyperlink Destination." Then you can choose to insert a Text Anchor (an invisible zero-width character in your text) and give it a simple name ("Mineshaft Death"). Then, when you need to make a cross-reference to it, you can pick "Text Anchor" instead of "Paragraph" from the Link To dropdown, and point your reference to "Mineshaft Death." 

 

I strongly prefer the second method because I usually work with languages I can't read, but even when working in English I'd rather look for a word or two in the Cross-References panel, instead of needing to actually search through paragraph text. 

 

 

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Sep 30, 2023 Sep 30, 2023

Copy link to clipboard

Copied

I created a CYOA-style book for fun a while ago as well, but I ran into an unsolvable issue. Each story section must be assigned an automatic number. So I created a paragraph style with numbering and applied that to a paragraph leading those story sections. Similar to the classic Fighting Fantasy books:

 

rayekelfin_0-1696063176651.png

The numbering works as expected. Moving story sections to other pages updates the numbering accordingly.

As you can see in the example pages of the original books, the running header at the top of the pages list the story section numbers of the first and the last story sections on each page. This is absolutely essential to have: the reader navigates the story with those.

 

But it seems impossible to automate this in InDesign. The first problem I encountered: running headers in InDesign (still!) cannot include paragraph numbering. An empty paragraph is required here with merely the number. And that refuses to work. Now, there is a old workaround method (see https://www.youtube.com/watch?v=sBgBQJLErCM&t=77s) but that will not work in this case because when story sections are moved around, that trick doesn't update the actual numbers.

 

The second problem is that some pages only include 1 story section. But there is no way to set up a condition to leave out the second part (which uses a Text Variable Running Header (paragraph style) -->Last on Page) when only 1 story section is present on a page. 

 

The third problem is that a story section may start on 1 page, continue over 2 pages and end on the third or fourth. The running headers of those in-between pages are unable to retrieve a story section number. Here is an example where story section 49 runs over two pages. It also shows a single story section number on the right page.

 

rayekelfin_1-1696064513609.png

A plugin exists that may solve these issues:

http://in-tools.com/products/plugins/power-headers/

Although it is entirely unclear whether power-headers remains compatible with the current version, nor is it acceptable to me that such simple functionality (including the autonumbering in a running header!!!) requires an additional $59.

 

@Joel CherneyHow did you solve the autonumbering in the running headers? Can it be solved?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Sep 30, 2023 Sep 30, 2023

Copy link to clipboard

Copied

Hm. Out of curiosity I went online to check out the docs of Affinity Publisher, and it seems running headers are supported with or without autonumbering. It also seems to support a much broader set of text variables compared to InDesign.

 

I might download the trial of Publisher and test if I can finish my Fighting Fantasy booklet in that.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 30, 2023 Sep 30, 2023

Copy link to clipboard

Copied

How did you solve the autonumbering in the running headers? Can it be solved?

 

The last time I needed to automate numbering in running headers for the purposes of a CYOA project, I skipped InDesign's text variables entirely. As you already know, they're not up to the task. Instead, I wrote some Javascript that would harvest particular page items and turn them into running headers. These headers weren't live; anytime I made changes to pagination or paragraph numbering, I'd need to run the script to update them. I think I lost that script years ago, but I'll go to my external backups and look to see if I still have a version there.

 

The whole scripting project was well outside of my JS abilities at that time. When I got stuck, I posted my question somewhere (here, I recall, in some long-lost posting from at maybe two Adobe forum server providers ago, probably back in the mid oughts) and, if memory serves, received assistance from Gabe Harbs, who is the InDesign scripting wizard behind in-tools.com. Haven't seen him around here in years, and his recent GitHub activity shows me that whatever he's working on these days, it's not closely related to InDesign. But there seems to be a downloadable installer for Power Headers that claims to be compatible with Windows InDesign CC. Why not give it a shot?

 

nor is it acceptable to me that such simple functionality (including the autonumbering in a running header!!!) requires an additional $59.


Well, it does seem to be the case that running heads, or text variables generally, have not been given much attention in the last decade or so by the InDesign development team. Because I frequently work with large, complex documents (manuals, textbooks, and other similar documents, often in a wide variety of languages) I am accustomed to coming up against InDesign's limitations. InDesign is not the right tool for every job. I find that InDesign + Javascript automation is the right tool for me for almost every job, but if you don't have JS skills in your toolbox, and you aren't willing to pay someone else who has done the scripting work for you, then perhaps InDesign is not the right tool for you for this particular project. I'm a very slow scripter, and therefore I sometimes (okay, often) find that I'd rather pay for someone else's script than spend the time to do it myself. Then again, the value equation is different for me, because I've never personally paid a penny for a script for a personal creative project, but I've often said "Oh, sure, it's totally worth fifty bucks to get this twelve-language med-tech manual project done & in my client's Dropbox today." 

 

I looked for feature requests over at indesign.uservoice.com, and I found many feature requests related to your inquiry about numbering in running headers, but none of them had commentary from the developers, leading me to believe that these long document features are not on their short-term development roadmap. 

 

Maybe you should give Affinity Publisher a shot? Total cost of ownership would be less than a CC subscription + Power Headers in a very short amount of time. I also seem to recall telling a tech writer with a question like yours "Maybe you should go back to Framemaker? Frame handles numbering in running heads without issue."

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
Oct 01, 2023 Oct 01, 2023

Copy link to clipboard

Copied

@Joel CherneyThank you for your response!

I used to work a lot with Framemaker ~18 years ago for technical manuals. I still do the odd manual nowadays, but the rarity of those jobs doesn't warrant Framemaker for me anymore. But you did remind me of Sphinx which do I use for technical writing jobs, and I am sure I could create a CYOA in Sphinx.

But that seems a rather painful process: I'd like to focus on the graphical and presentation aspects instead of structure. InDesign is perfect for that part.

 

I do have Javascript experience from my web dev work, but I feel basic functionality should just be part of InDesign. It ruins the fun for me somewhat, to be honest. I have a feeling that the InDesign department were told to steer away from including too much Framemaker functionality for obvious reasons. I may be wrong.

 

As for Affinity Publisher: today I installed the latest (trial) version today and I am actually pleasantly surprised. Version 1, which I tested 2 years ago, was way too limited, but the current version 2.2 adds a pretty good range of quite deep functionality, including text variables and much improved typographical control.

 

...And yes: it took 20 minutes to get the result I want in Publisher. My CYOA experimental book I imported as IDML and the running headers only display the story section numbers. What's more, Anchors are easily added and cross-References linking to those Anchors were no problem either. The workflow is slightly different, but mostly similar.

 

InDesign still is king of the hill. And I do love working with InDesign. But as you wrote @Joel Cherney the developers seem to be taking it easy this past decade and InDesign is no longer the innovative leader it used to be. Remember the Quark times? InDesign felt so fresh! Compared, it's starting to feel like InDesign's role is reversed, and Affinity Publisher took the part of the new innovative upstart.

 

That said, Publisher still has a number of caveats. My #1 is the lack of page spreads covering more than 2 pages: still not possible. Nor is epub export an option, although that is becoming less important to me: FXL ePub is pretty much a dead-end, on which @James Gifford—NitroPress will agree with me I expect, and I moved those kind of projects for the most part to Godot to create web, desktop, and mobile apps instead. Reflowable ePub projects I already used different tools for, so... I won't miss those.

 

Against my own expectations I've decided to get an inexpensive license of Publisher (perpetual license too! 🙂 ). For the money it is a no-brainer. Never thought I'd be considering to switch to an alternative. At least for now I am still tied to InDesign for work. But it never hurts to leave your options open 😉

 

Cheers!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 02, 2023 Oct 02, 2023

Copy link to clipboard

Copied

So, like you, I've been using these tools for a few decades, and I have a few follow-up suggestions. But I've also been hanging out in the InDesign forum and submitting feature requests and bug reports for the last twenty-odd years, and I have a little more to say about that. So I think that my response is going to be... to come to the defense of the dev team. 

 

I do have Javascript experience from my web dev work, but I feel basic functionality should just be part of InDesign. It ruins the fun for me somewhat, to be honest. I have a feeling that the InDesign department were told to steer away from including too much Framemaker functionality for obvious reasons. I may be wrong.

 

[...]

 

InDesign still is king of the hill. And I do love working with InDesign. But as you wrote @Joel Cherney the developers seem to be taking it easy this past decade and InDesign is no longer the innovative leader it used to be. Remember the Quark times? InDesign felt so fresh! Compared, it's starting to feel like InDesign's role is reversed, and Affinity Publisher took the part of the new innovative upstart.


I actually didn't say that at all! If you look at the last decade's worth of release notes, you will absolutely not come away with the idea that the Noida dev team has been taking it easy. I said specifically that running heads hadn't seen much attention. Maybe you personally aren't excited about, say, good support for Burmese text rendering, but I certainly am. And when Burmese support broke, we filed bug reports, and it was fixed in the next dot release

 

The features that seem to get less attention from the current InDesign development team are features that seem to be quite old (i.e. written by a previous developer team, more than a decade ago), features well outside areas of interactivity & ease of use & such that are getting lots of dev attention, features that are already well implemented in other apps (like Frame), and features that aren't heavily upvoted on indesign.uservoice.com. Unfortunately for us, better handling of variable text (including running heads) seems to me to appear in all four categories. 

 

So, when I have a problem like this (a broken or missing feature) I often engage in a bit of cost-benefit analysis. How long would it take me to code around the holes in my preferred tool? Has anyone else had to write something similar that I could steal borrow adapt? What's my hourly rate, anyways? Do I stand to profit from spending the time writing the tool? Of all the solutions in this thread, I like James' the most; just do everything but the numbering, and then manually number things in the last step. If you foresee frequent editing in the future, spending a bit of money (on a script, or on a separate app like Affinity Publisher) might be a better call. @Robert at ID-Tasker's tool might be overkill for this particular task, but at least 3x a year I long for a tabular interface for easily handling hundreds of xrefs, and I always have the exact same complaint as you about the InDesign UI for xref management ("why can't this tool just let me right-click here to handle this xref?"), so it might well be profitable to me to demo that tool and see how much more time I might save per annum. 

 

 

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 02, 2023 Oct 02, 2023

Copy link to clipboard

Copied

@Joel Cherney, thanks, but what do you mean by "overkill"?

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 02, 2023 Oct 02, 2023

Copy link to clipboard

Copied

LATEST

I've been looking at the ID-Tasker documentation, and it seems like it not only be useful in a circumtance where one would have to manage large numbers of cross-references, but dozens of other areas as well. The slang usage of the term implies a great excess of something beyond what is necessary to complete a given action; in this case, a great excess of kinds of functionality within InDesign, over and above xref management. (Originally, I suppose it meant an excess of firepower in dealing death, but I've never personally seen it used in that context.)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 01, 2023 Oct 01, 2023

Copy link to clipboard

Copied

Funny how in a lot of the CYOA I remember reading I do not recall there being a page number which told you all of the numbers within that page for easy browsing, I thought I had come up with that idea myself for this project because it felt intuitive (and it lessen the spoil of the illustrations as you brows).

From the very start I thought of putting it a blank "##" on the Master page and then once I know I am 100% finished with it, going through each page and force edit the blank space numbers on each page (though I really hate the idea of doing so, I am sure it will only take a bit). The only thing that concerns me is human error as well as possible 1 last minute changes which will break EVERYTHING past that page.


Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 01, 2023 Oct 01, 2023

Copy link to clipboard

Copied

Thank you, I think the Cross Reference works really well. This way if I have to move paragraphs around and re-number them, all of the attached cross reference points updates as well, very helpful. The only downside I find is that there is no way for me to tell which one has the Cross Reference on, (fitting this system retroactively can lead to to some mistakes. Even enabling Hidden characters does not seem to show this.

 

Also having to go always on the top menu as opposed to a short cut or a right click, is definetly a pain!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 01, 2023 Oct 01, 2023

Copy link to clipboard

Copied

With my tool - if you work on a PC - navigating through *Hyperlinks, Bookmarks and Cross-Refs shouldn't be so hard:

Hyperlinks_1.png

You can even check how may times selected Destination is used - and where.

 

And all this is available in the free version.

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Oct 01, 2023 Oct 01, 2023

Copy link to clipboard

Copied

This kind of cross-linking with automatic updates is exactly what cross refs are for, and InDesign's feature is pretty powerful.

 

Now all you need is a market, and my hazy understanding is that the market for CYOA's peaked long, long ago. Which brings us back around to my first assumption, that this would be an e-book of some kind, which is a natural evolution of the genre and makes the whole reader-chosen path much faster and smoother. You might think that direction; carefully managed, the cross-refs would work seamlessly in an EPUB edition.


┋┊ InDesign to Kindle (& EPUB): A Professional Guide, v3.1 ┊ (Amazon) ┊┋

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Oct 02, 2023 Oct 02, 2023

Copy link to clipboard

Copied

quote

Now all you need is a market, and my hazy understanding is that the market for CYOA's peaked long, long ago. 


By @James Gifford—NitroPress

I do not worry about the market because as mentioned before, this is only an aid book for a board game, and not a stand-alone CYOA book. I had done this already in the past with a lot of success but my previous process was  the stuff nightmares have nightmares about, (like making a whole book in photoshop) and I promised never to work like that ever again, so here we are 🙂

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 30, 2023 Sep 30, 2023

Copy link to clipboard

Copied

It seems to me that manually numbering the component chapter bites is a simple, if slighlty tedious solution to the running headers etc. Everything else would be completely automated. Just make one final pass through the ms assigning linear numbering, and wah-lah.


┋┊ InDesign to Kindle (& EPUB): A Professional Guide, v3.1 ┊ (Amazon) ┊┋

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines