1.2 Update Preview: Variables, Conditionals, "Twine mode", and Character Definitions


Hey all!

It's been a hot second since I threw this tool into the void with very little promise for support, but I lied! I'm back and with a few updates that might make the tool more useful in a way that I wish it had been when I launched it.

Here's what the tool will do in the 1.2 update:

  • Convert Twine variables to Ren'Py including:
    • Setting variables
    • Using variables in text
  • Converts Twine conditionals to Ren'Py
  • "Twine mode": If you originally wrote the game for Twine, the tool will add quotes around every single line and make all other quotes work inline for Ren'Py
    • Basically, if you wrote your game for Twine, your game will now work out of the box in Ren'Py. I have a feeling most people who used the tool when I first launched it probably tried it out with their existing Twine games and then realized it didn't add quotes the way Ren'Py would use them--honestly a huge oversight on my part because our workflow for Salvage was only ever with Ren'Py in mind.
    • However, I assume most people who intend to use Ren'Py are using speaking characters, so this effectively treats every single line as if spoken by a narrator. Some games work like that! If you're creating IF focused games this tool will be more useful for you now.
  • Character definitions
    • By request! I also noticed this was actually reported as a bug a bit ago, but kudos for the detailed report and suggestion for features.
  • Set the name of the first file
    • By default the tool just grabs the title of the start passage, but now you can change your starting "Untitled_passage.rpy" to "start.rpy" if you wish to. 

Some existing known bugs that may or may not be fixed:

  • Some Latin characters get chewed up in the encode. This actually caused some problems for the slanted quotes as well, but the fix was nebulous. It may work instead if Latin characters are passed in and out of the replace, but when I was digging into it I learned that some of the encode/decode bugs the tool ran into seemed to be fixed in python 3. I think to truly fix it, the tool would need a full overhaul for python 3 which would require entirely redoing the beautiful soup html parse. I think this is doable but maybe a project for the future, as I'm hesitant to change when most of my tool libraries for the game we're on currently use 2.7. It wouldn't mean just redoing this script but all of our existing tools.

As promised (a long time ago...), as of 1.2 I will also be releasing the source code on Github, as the tool would pretty much hit all the features I had considered within its scope.

The update is not live yet--I tested it on my own, but it will need a little more attention before it can be released here. If you'd like to test it yourself you can find it here, and let me know of any bugs in the comments! Alternatively, feel free to drop a Twine game or outline I could test it on. Thanks again for your support!

Get Twine to Ren'Py Tool

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

When do you plan to put 1.2 on Github?

I don't have a set date yet, but whenever I can finish adding documentation/commenting. It's a little convoluted + I'm guilty of using a lot of hacks so I want to make sure it's legible for edits for anyone who might want to make changes.

Heh, managed to knock it out in an evening. Thanks for the reminder on this. The details of the release are in this devlog. If you have any questions about it you can direct them there!