Both sides previous revisionPrevious revisionNext revision | Previous revision |
dragengine:modules:dragonscript:simpleconversation [2025/03/13 23:03] – [Simple Conversation] dragonlord | dragengine:modules:dragonscript:simpleconversation [2025/03/13 23:13] (current) – dragonlord |
---|
| |
====== Simple Conversation ====== | ====== Simple Conversation ====== |
| |
| <WRAP center 100%> |
| <WRAP center box 1050px> |
| {{ youtube>W6Pd6kT94Ro?1000x591 }} |
| <WRAP centeralign>\\ |
| Video explaining what simple conversation are, what they can be used for and how they are created. Shown using Epsylon game project which uses simple conversation a lot.</WRAP> |
| </WRAP> |
| </WRAP> |
| |
Simple conversations provide a quicker and easier way to create simple conversations compared to the [[gamedev:deigde:editors:conversation|IGDE Conversation Editor]]. In contrary to regular conversations simple conversations are created using XML files. Yet they are still regular conversations but using an XML syntax and a converter which creates regular conversations for you. It is important to note that simple conversations already require a regular conversation to be present. The reason is that simple conversation reuse various definitions present inside regular conversations like camera shots, gestures, look-at targets as well as pre-made topics for reuse. In the examples below it is expected such a regular conversation is present and contains the required camera shots, gestures and look-at targets. | Simple conversations provide a quicker and easier way to create simple conversations compared to the [[gamedev:deigde:editors:conversation|IGDE Conversation Editor]]. In contrary to regular conversations simple conversations are created using XML files. Yet they are still regular conversations but using an XML syntax and a converter which creates regular conversations for you. It is important to note that simple conversations already require a regular conversation to be present. The reason is that simple conversation reuse various definitions present inside regular conversations like camera shots, gestures, look-at targets as well as pre-made topics for reuse. In the examples below it is expected such a regular conversation is present and contains the required camera shots, gestures and look-at targets. |
</code> | </code> |
| |
The text ''technical things'' has been now replaced with a conversation system tag. [[behavior_ctrrbBindings|ECBCTRRBindings]] allows to adds rules which allow to replace such text in conversations with dynamic content. Depending on what kind of information you need to add these tags can be complex with parameters and what not else. Trying to use speech animation to speak them does not make sense. To solve this problem ''t'' tags (or long ''tag'' with attribute ''anim'') exist. They wrap such tags and tell the simple conversation system what text they should use instead of them for conversation purpose. The example would then look like this: | The text ''technical things'' has been now replaced with a conversation system tag. [[behavior_ctrrbindings|ECBCTRRBindings]] allows to adds rules which allow to replace such text in conversations with dynamic content. Depending on what kind of information you need to add these tags can be complex with parameters and what not else. Trying to use speech animation to speak them does not make sense. To solve this problem ''t'' tags (or long ''tag'' with attribute ''anim'') exist. They wrap such tags and tell the simple conversation system what text they should use instead of them for conversation purpose. The example would then look like this: |
| |
<code xml> | <code xml> |
==== Translations ==== | ==== Translations ==== |
| |
With the simple conversation working one last thing to do sooner or later is translations to make the game available to people speaking a different language. Regular conversations require using [[language packs]]. This is the typical way translations are done. For large conversations this can be cumbersome to use. | With the simple conversation working one last thing to do sooner or later is translations to make the game available to people speaking a different language. Regular conversations require using language packs. This is the typical way translations are done. For large conversations this can be cumbersome to use. |
| |
Simple conversation provide a nifty way to handle this. You can create a second simple conversation file which you load only if a specific language is used in your game. You load then first the original simple conversation and then the translated one. By calling SimpleConversation.importTranslation() you can then import the translated simple conversation and "patch" the original simple conversation with it. | Simple conversation provide a nifty way to handle this. You can create a second simple conversation file which you load only if a specific language is used in your game. You load then first the original simple conversation and then the translated one. By calling SimpleConversation.importTranslation() you can then import the translated simple conversation and "patch" the original simple conversation with it. |