User Tools

Site Tools


dragengine:modules:dragonscript:simpleconversation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dragengine:modules:dragonscript:simpleconversation [2025/03/13 23:00] – created dragonlorddragengine:modules:dragonscript:simpleconversation [2025/03/13 23:13] (current) dragonlord
Line 6: Line 6:
 ====== Simple Conversation ====== ====== Simple Conversation ======
  
-Simple conversations provide a quicker and easier way to create simple conversations compared to the [[conversation editor]]. In contrary to regular conversations simple conversations are created using XML files. Yet they are still regular conversations bug using an XML syntax which 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.+<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.
  
 Conversations in general compose of a series of actors speaking with camera angle changes in between. Furthermore actors do mouth animation, perform gestures, perform facial animation and looking at the currently speaking actor or other targets. For the majority of conversations the same type of camera shots are used with the same delays. This process can be sped up by generating actor speaking and camera changes according to common rules. Also speaking gestures or automatically looking at whatever actor is speaking is a common task that can be automated. All this is done by the simple conversation system to make conversations faster to build for which you do not need full control. Conversations in general compose of a series of actors speaking with camera angle changes in between. Furthermore actors do mouth animation, perform gestures, perform facial animation and looking at the currently speaking actor or other targets. For the majority of conversations the same type of camera shots are used with the same delays. This process can be sped up by generating actor speaking and camera changes according to common rules. Also speaking gestures or automatically looking at whatever actor is speaking is a common task that can be automated. All this is done by the simple conversation system to make conversations faster to build for which you do not need full control.
Line 198: Line 206:
 </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>
Line 219: Line 227:
 ==== 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.
dragengine/modules/dragonscript/simpleconversation.1741906831.txt.gz · Last modified: 2025/03/13 23:00 by dragonlord