The Conversation.Engine

Now LIVE in the Asset Store!

The Conversation.Engine
by 7Moose Games

Artists, Rejoice! Game Designers with no scripting experience, Rejoice!

What is the Conversation.Engine?
The Conversation.Engine by 7Moose Games wraps a comprehensive editor with a parsing engine that allows even the most technically-challenged person to write elegant, robust in-game dialogs complete with:

  • Automatic GUI Orientation
  • Animations
  • Textures
  • Audio Clips
  • Cinematic Camera Views
  • Event System
  • Conditional Branching Dialog
  • Network-ready
  • More!!!

For the more advanced user, the Conversation.Engine also offers a complete event system! The advanced user is able to send events to and from conversations which can be used to enable/disable branches of a conversation. This functionality can be unleashed upon the scene as well, notifying ANY object that an event has occurred. Has the user spoken to the quest giver? Has the user chased down the villain in order to claim the reward? These situations are quickly handled using the Conversation.Engine’s event system.

Furthermore, we’ve added the ability to call custom script functions (which you write yourself) from each element within a conversation. For example, let us pretend your user has just completed a quest and the quest giver is handing out a reward item. You’ve written a function which will add the reward to the user’s inventory, however you want the Conversation.Engine to initiate the process by calling the function from the final dialog element. No problem! Simply specify an “Action Method” within the dialog element and choose whether to call the function in the “pre” phase (before anything executes), the “post” phase (after the dialog element completes, but before the next element executes), or timed to occur after any number of seconds. You also have the ability to send events to popular products such as PlayMaker FSMs! By using the Action functionality, we ensure that the Conversation.Engine is robust to fit into all types of simulations.

Enjoy our first video, the Conversation.Engine’s “Getting Started” guide. This video illustrates how to create two very simple conversations and tie them together using Events and Prereqs. Please note that the video and audio work in Firefox, Chrome, and Internet Explorer. I’d also like to ask that you please excuse the bodily functions of the speaker (me!). I was sick when I recorded the video, and I promise to redo the video at a later date.

Asset Store Direct Link

Getting Started with the Conversation Engine

Unity3D Forum User “Moria” and his Authoritative MMO using the Conversation Engine!!!

“Matilda” - Novel / Story driven game released using the Conversation Engine
“Matilda” - Google App Store Link

This is a wonderful piece of software.

I have been privaledged to be part of the testing team for this and am happy to say that it fulfills all it’s promises for delivery of systems to help bring your world alive, whether as a stand alone world, or in my case as an authoratative server model.

It is also very extensible and has many uses with a little lateral thinking. Conversations do not have to be limited to NPC characters. I am currently using it in my test scene for a collection quest, where a “conversation” with no dialogue is attatched to inanimate objects to trigger events and also for a door opening script, once a certain part of another dialogue has been reached. (Although I am desperately trying to resist adding the phrase “It has been our pleasure to open for you today” to the event :slight_smile: )

Think of it more as an event driver, part of which can be dialogues. :slight_smile:

I also think the new editor will really help reduce the workflow time as it is developed and am very happy with the level of support available from the design team.

Really pleased with this and can’t wait for final release.

Regards

Graham

These forums need to add the ‘Like’ button cause I seriously ‘Like’ this

Thanks Graham!! You’re suggestions and testing have been absolutely invaluable.

Thank you too, Arvz! I’m really glad you are psyched about the software.

I also added a new web build that shows how the Conversation system can respond to iTween events on completion. Very cool stuff! It also shows the new “tag” system, where you can embed variables in your dialog, and the engine will automatically substitute the variable value into the conversation. The player name, Brett, is hardcoded at the moment but it’s inserted into the dialog using the [player] tag.

Can you please make your webplayers smaller for us on laptops, all of the dialogue is hidden below the fold.

I am interested in this product but need to see a drop dead simple video showing how it can be used in other capacities beside conversations.

@24pfilms - The webplayers are smaller now. Please let me know if you need them adjusted further. I’m more than happy to create the other video you mentioned. Do you have any specific examples in mind? The system is built to be customizable, and in that respect, much is left to your imagination. It would help if you had something specific in mind

@24pfilms Greetings… I am not sure where you are in Canada, but if it is close to southern Ontario (Toronto through North York region) I could do better than a video, I’d be happy to meet up and show you :slight_smile: I doubt that the Conversation Engine would dissapoint.

Think of it as a system that waits for a trigger to be entered and can set a response based on previous and current events which you have defined in the scene. At that point, if there is a match between events that are current amd the trigger you entered, you can then initiate an action… whether a dialogue or any other action. All events and responses are set up in an on-screen editor.

In my case… when on a collection quest, when you approach the item when the appropriate event is active, it puts a line of dialogue on the screen such as “You have found the item you were looking for” and then adds the item to your inventory.

PM me if interested.

Regards

Graham

This looks very promising - looking forward to see this in the store.

New UI Screen! This is not the version 2 editor, which is getting a complete makeover. However, this is the version that will ship with the first release.

I wanted to post another update. We’re nearing submission to the Asset Store, and here’s the latest example build. In this demonstration, I tried to make an extremely simple RPG example. I’m also posting a new screenshot of the editor

Simple RPG Example - Web Build

Is it, this engine allowing the making of Quiz too ???

If yes, Is there a way to allow the users to change easily or to add their own Questions/Answers and to save them for an educational software for example ?

6R

Absolutely, you could make an educational quiz very easily with this engine. However, swapping out questions / answers is not so simple. Conversations are built from the editor right now, however a clever programmer could feed the dialogues using a database and/or web services. There are many ways to extend the conversations using “Actions”. If you look closely at the screenshot, you’ll notice 6 independent elements, each of which can call an “Action”. Actions are script functions, called by “SendMessage”. You can also have a script that proceeds the entire conversation, pulls data from the database, and then feeds it to the conversation.

I also forgot to mention that the engine now has Conditional Branching! Conditional branches allow the designer to enable / disable options in a branch based on what the player has accomplished so far.

djinni - this looks awesome. I just wanted to second a few things that others have mentioned - XML input for this would be excellent, as I can have my writers create their own missions/dialogs/etc. Also, language localization is huge - we’ve got a game that teaches foreign languages, so this would fit perfectly. I like the quiz idea as well. I’m hoping this will be supported on Unity iOS (we’re running our app on the iPad). And…would be happy to beta test this (if you still need people), especially if you need anyone to test this on iOS, with multiple languages. Happy to pay $80 when it comes out.

P.S. I think Jonathon is demoing this at the Boston Unity Group meeting later this month, so I’ll be sure to check it out.

Yep! Jonathon will treat you guys to a few things he’s been doing with the engine. His help has been instrumental during the development of the engine. I’m hopeful that you guys might also get to see some of Moria’s work (another beta tester). Moria has implemented the engine in an MMO using uLink. Both guys have really pushed the technology to the limits, and have accomplished some pretty amazing things.

Localization is a tricky issue, and I think the best that I can do short term is to support XML and provide the XML format to users. The users can write GUI apps which can export to the XML format, and then the game designer / programmer can do the import into Unity. This should overcome many issues that occur with localization / globalization.

Regarding iOS support. The engine utilizes Unity’s GUI system, which I’ve heard performs poorly in iOS and Android. If that is the case, I’d imagine that the Conversation Engine may suffer poor performance too. However, I’m PMing you to talk about this further. Thanks Jake!

I wanted to share an arcade game that I prototyped using the Conversation Engine and RageSpline. This was a spoof on a project that we’re tackling at my full time job (migration to a virtual data center, from physical hardware), and the game was meant as a stress reliever for all my peers. I hope you guys enjoy it!!

http://www.7moosegames.com/VDCMadness

Looks really impressive. Might I suggest looking at Chat Mapper for some additional functionality (e.g. reputation and relationships, script exportation) and interface.

Thanks for the compliment! I have used Chat Mapper and a few others as a guide. So far the beta testers seem very happy with the results, and I wanted to let everyone know that I’m now adding a Decision Table to help facilitate complex decision making within the dialogue tree. This feature will not be ready by initial release, however I will be including some prefabs to spice up the package. I’ll also be including a scripted solution for complex event handling, which will function over multiple scenes as well. Events captured in any scene can be evaluated!

Anything involving iOs integration?

The engine uses Unity’s GUI system for displaying to screen. I’ve heard that performance is a concern on the mobile platform for Unity’s GUI system, so with that in mind, I’d say the engine won’t perform well at all. However, I cannot verify this right now as I am not licensed for Unity iOS. I plan to do mobile testing later this summer, once I have resources that enable me to make the purchase though. Until that testing occurs, I cannot say if the engine will be able to support iOS.

I would also like to say that I am introducing “redirection” options which should facilitate the move to mobile platforms. Designers have the ability to push Conversation text to their own functions, rather than allow the engine to render the text to screen using Unity’s GUI. Redirection support is only enabled in basic dialogues however. Branching controls do not offer this functionality yet. Basically you would use redirection if you wanted to push the dialogue text to EZGUI or GUIx for example.