Has Eric Eve's Conversation Rules extension been deprecated by the Conversation Package extension?

I’m doing some research on my own to answer this question but I thought I would ask here as well in case anyone has an answer.

I used @Eric_Eve’s Conversation Package in my previous game to improve the player’s Ask/Tell interactions with the other characters in the game, providing the player with different “modes” of conversation (requesting, quizzing, informing, imploring, etc.), as well as providing dynamic conversation topics that could help the discussions along. I was very pleased with the result.

For my next game I want to continue to have the same types of conversations but I want to make it more table-driven to make it easier to add and modify topics and replies as development progresses.

I was looking at the documentation for the Conversation Rules extension, which I hadn’t used in my previous game, and found this comment:

A way of controlling conversations using rules and tables. Also implements topic suggestions and Conversation nodes. Requires Plurality by Emily Short and Conversation Framework, Epistemology and List Control by Eric Eve.

So I added these two lines to a newly-created project and added all the other required extensions to the project (except for the Plurality extension, which appears to no longer be required with the current version of Inform - link).

Include Conversation Package by Eric Eve.
Include Conversation Rules by Eric Eve.

But I received 14 errors when attempting to compile the project.

When one extension is commented out, the other extension appears to compile without errors. I haven’t gone through all the errors one-by-one but my hypothesis is that there is some sort of conflict when trying to use both extensions together.

The Conversation Rules extension is mentioned in the Conversation Package extension’s documentation, in “The Constituent Extensions” chapter:

The older extension, Conversation Rules, does not belong to this family (although it is also based on Conversation Framework, which requires Epistemology).

And.

Conversation Framework [which is used by Conversation Package] is also the basis of Conversation Rules, which provides similar functionality to this set of [Conversation Package] extensions but in a different way. This newer set of extensions is designed to be easier to use than Conversation Rules.

This leads me to hope that the Conversation Rules extension has been deprecated by the Conversation Package extension, which incorporates the table-driven dialog features in the former extension. If this is true, I can continue using the newer extension. If not, I’ll have to figure out a way to make both co-exist.

I will report what I find out from my ongoing investigation here but if anyone has already done the research, or has any suggestions, please post here as well.

2 Likes

Adding both extensions to the project and conditionally compiling the sample examples from both extensions using the “for use with…” suffix in headings (Writing With Inform §27.9) yields similar conversational experiences.

So I think my initial hypothesis that the Conversation Package extension replaces the Conversation Rules extension is incorrect. Both seem to be valid ways to implement a similar conversation experience.



The questions in my mind now are:

  1. Is it possible to implement the Conversation Rules table & rules-based approach using Conversation Package? OR
  2. Does Conversation Rules provide the same features as Conversation Package’s suggestions, nodes, default responses, etc.?

The investigation continues.

1 Like