Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Should I port Jonah to Twine 2.0 (challenge)?

edited May 2015 in Chit-Chat
I just found out that Twine 2.0 currently doesn't have any published stretchtext Story format, like Jonah, where the passages never disappear and the newones are displayed below.

I played couple of Twine games and I liked both layouts. Sometimes it's really nice to see the whole story being created, it really feels like the story is being written in front of your eyes.

So my question is, does anybody here likes the stretchtext format, or can you explain me, why nobody has already ported the Jonah format to Twine 2.0? I am actually thinking about doing the port, but I would like to know first, if it's wanted.

Here is the challenge:

If I get 15 positive answers from different people, I am going to do it.


  • I think this is a cool idea, but Harlowe provides similar functionality by using link hooks.
  • Can you please explain? I was told it's not possible.
  • edited May 2015
    The thing atm is that beside story formats, there is not a ~whole~ lot of difference between Twine 1.4 and Twine 2.0. The end output is practically the same.

    Twine 2 gave an opportunity to develop new formats, but if people really like Jonah, there's not much reason to avoid Twine 1.4. It's practically the same program at the end of the day.

    The only real thing Twine 2 gives over Twine 1 is cross-platform compatibility, since browsers work on every device, whereas Twine 1.4 is limited to PCs that can run it. Twine 2 isn't a replacement for 1.4, it's just something to allow mobiles to use Twine.

    So your question becomes: Do Mac and iPad users like Jonah enough? :P
  • Claretta wrote: »
    So your question becomes: Do Mac and iPad users like Jonah enough? :P
    Correction. Twine 1 comes with prebuilt binaries for Windows and Mac OS X (AFAIK, it should also compile on Linux). The only domain which Twine 2 has to itself is mobile devices (and similar products).
  • Okay, understood :) Thanks. I will not waste my time than. :)
  • I think it's worth it. I'd do it myself if I knew how.

    I just came across Twine after searching everywhere for something new, updated, and well documented. Although Twine doesn't have all of it's docs up-to-date it really felt like a strong competitor until I realized that Twine 2.x doesn't have a Jonah story format.

    So I did some research and assumed a simple "display passage" macro would be fine, this started to make things complicated. Displaying would just copy everything and paste it (including any page links, allowing the user to click them again).

    At this point i'm pretty much stuck with Twine 1.x which i'm okay with. I really need Jonah support. It would be great to have Jonah support in Twine 2.x but you can't have your cake and eat it too, right?
  • @aqqadk
    Is there a reason you don't just download and use Twine 1, it works on Windows and Mac's (and Linux if you download the Twine 1 source code), and comes with the Jonah story format.
  • Great question, @maral, and good feedback, @aqqadk. I'm gonna chime in here, and I hope @TheMadExile can direct me...

    I'm EXTREMELY interested in the Sugarcube feature set + the Jonah down-the-page interface.

    - I've tried TME's <<click>><<append>>... suggestion posted in another thread. It does exactly what it's supposed to. Alas I need to trigger JavaScript with each new "passage" (either actual or simulated)-(incidentally, via the TME-suggested <img path="gibberish" onerror="dothething()"> workaround! My scripting owes TME much.) Anyway, I don't know if this is doable/wise with <<click>><<append>>, but my attempts have not borne fruit.

    - I tried diffing my local Sugarcube and Jonah source and making changes, which was educational, but not productive.

    - A solution for either Twine version (1 or 2) would be A-OK with me.

    - I'm happy to offer a nominal fee for this labor OR the guidance on how to do it myself. OR I'm happy to partner with someone with a vision.

    If I can't get it to look like Jonah (more or less), I'll go back to good ol' Sugarcube and be happy.

    But a Jonah look would be reeeeeal nice.
  • As much as I like Twine, is InkleWriter a more suitable tool for those kinds of stories?
  • Sugarcube has the big firepower and big flexibility I need. Nothing as far as I can tell has the built-in feature set (replace! append! continue! audio! save slots!) + freestyle JavaScript/styles.

    I want to stand on the shoulders of giants, and then I want to juggle.
  • yes go for it cant wait!
  • Adding a Jonah-like passage display mechanism to SugarCube isn't really an option.

    SugarCube (1.x or 2.x) does not store the post-rendered text of passages within its state history, which you absolutely need if you're going to be displaying all of the previous passages too. Otherwise, any time the previous passages have to be redisplayed (e.g. rewinding, loading a save, simply reloading the page) you'll have to render them again, with disastrous results (i.e. $variables being set over and over, interactive elements/JavaScript going wild, etc, etc).

    SugarCube's history states are minimalistic, containing only the title of the associated passage and the current $variable store (well, and a little state for the seedable PRNG, if enabled). This saves memory and storage (both in operation, since play sessions are normally serialized, and in saves). This is particularly important to me as it allows SugarCube stories to run with, save, and load many history states (hundreds or thousands) and not grind to a halt or explode.

    Bloating history states by storing post-rendered text is not something I ever plan to do. Sorry.

    Beyond that, I can't really recommend trying to emulate the down-the-page behavior within one passage, for various reasons.

    Additionally, to anyone thinking of porting Jonah: My advice, don't. If you have the skills to do it, then you, and everyone else, would be far better served by writing a new Jonah-like story format from scratch, rather than dragging its cruft into Twine 2.

    Regardless, best of luck!
  • This is damn useful information, @TheMadExile, and makes sense.

    It's actually a huge relief, too, as it's the Clear Instruction I need to quit trying to make SugarCube do something bad for its health.

    As exciting as SugarCube is, and as bad as I want the latest SugarCube feature set, this project is bound to be the thing that makes me move to Twine 2.

    Thank you for taking the time to write this up. It's exactly what I needed to hear.
  • As exciting as SugarCube is, and as bad as I want the latest SugarCube feature set, this project is bound to be the thing that makes me move to Twine 2.
    I don't follow. What does one have to do with the other?
Sign In or Register to comment.