itch.io is community of indie game creators and players

Devlogs

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

Twine to Ren'Py Tool
A downloadable tool

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!

Download Twine to Ren'Py Tool
Read comments (3)