I’ve been developing a conversational system for use in my games for the last 5 years.
It started in Halloween Dance , a small speed-IF where I tried out my ideas, which are basically to treat topics like an inventory. So topics are literal items that you carry with you, with some code to keep from doing physical things with them.
This isn’t all that different from normal ASK ABOUT with a topics list, so I refined that in
Color the Truth by letting you combine topics. I used that same topic-combining idea in both
Absence of Law and Sherlock Indomitable , and I’m currently using it in my Alias the Magpie WIP.
Another user suggested I consider working it into an extension, but I’m not sure how to go about doing that.
How do you make an extension? Do you just write code like you usually would and just name it something else?
How many use cases should you include in an extension? I’ve had cases where I wanted some topics to be temporary and others to be permanent, cases where you need to link things together, cases where all conversation is directed at one person, cases where anything can be said to anyone, and cases where each person has their own topics. Should I include all of these options, and what is the best way to signal/code available options?
How do you keep your code from messing up theirs? For instance, since my method revolves around ‘topics-as-things’, I have to rewrite taking inventory. But wouldn’t that clash with their own inventory code if they alter it?
I know this a lot, but I’d appreciate any help anyone has to offer. Thanks so much!