Hmmm, I keep thinking about not posting this, but I guess it’s time to hit submit before I can change my mind!!!
This thread:
https://intfiction.org/t/help-me-clean-up-my-source-code/5173/1
Got me to thinking about how tedious and bug-prone (at least for me) it is to model conversation trees using a text editor.
I may or may not (I am loathe to blather about vaporware that never gets finished after something shinier appears to distract me) have started throwing together a tool for creating and editing dialog trees, and then exporting them to Inform 7 extensions for inclusion in a story. The idea is, you’d import a runtime library extension (containing the code to walk the trees and do something with them) and a bunch of these exported conversations, and then just fire them off in your game and not have to fool with much else.
A vaporous screenshot to illustrate the type of tool of which I speak:
I only mention it because it is not polished or feature-complete as-is. I certainly have interest in using it for my own stuff, but if anyone thinks that a tool like this could be useful to the larger IF community, I will try to keep myself from being distracted long enough to polish it up a little and put the sourcecode on a public repo somewhere.
The application is written in Java Swing (though it uses some language features only found in Java 1.6 and later), so it should be able to run on any desktop-paradigm computer capable of running JavaSE6. It is inspired by the dialog editor in the NWN Aurora toolset; the same sort of dialog tree editor that’s been done countless times before.
It uses a json structure for its internal file format, so that other tools can easily hook into the format if desired. The export model is modular, so it could easily export to other IF languages too, given someone to code an export module for the desired language. And although the tree model makes heavy use of TreeNode extensions, I’ve tried to make the presentation and storage layers relatively modular too, so that one could port it to Android, cloud storage, etc if desired. I am still working on the runtime library.
I hope I don’t seem big-headed or self congratulatory or anything with this post. (Look what IIIIII made, lol.) In truth, I’d have kept it to myself, except that the interest of others in my various pro bono free-time projects is what keeps me working on them.
So yeah, if you think something like this would be useful to you, please let me know, and hopefully that will motivate me enough to “make license plates” and polish it enough to release. Also please mention if you’d like to see some sort of flatter mode as well, for ask/tell/show conversation models and the like.