{"author_link":"\/users\/maus3rsr","author_name":"Maus3rSR","author_uid":"maus3rsr","comments":[],"epoch":1588528685,"event":"LD46","format":"md","ldjam_node_id":209452,"likes":4,"metadata":{"p_key":"145778","p_author":"Maus3rSR","p_authorkey":"1185735","p_urlkey":"362191","p_title":"Did you notice where it come from ? CoG's dialog system","p_cat":"LDJam ","p_event":"LD46","p_time":"1588528685","p_likes":"4","p_comments":"0","p_status":"WAYBACK","us_key":"1185735","us_name":"Maus3rSR","us_username":"maus3rsr","event_start":"1587081600","event_key":"77","event_name":"Ludum Dare 46"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD46","removed_author":false},"_superparent":176557,"_trust":1,"author":185735,"body":"![2ec5c.gif](\/\/\/raw\/785\/d2\/z\/33b67.gif)\n\nIf you had played at our game *[The Consequences of Gardening](https:\/\/ldjam.com\/events\/ludum-dare\/46\/the-consequences-of-gardening)* you may have paid attention to the dialog system.\n\nBelieve me or not, during this jam within a team of seven people, I tried to code and implement a dialog system based on **Celeste**\u2018s one.\n\n![celeste comparaison.png](\/\/\/raw\/785\/d2\/z\/33b6a.png)\n\nWhy would I reproduce it? Simply because I love Celeste, and I find its dialog system well-suited for an immersive dialog experience in a narrative point&click.\n\nIf you take a look at the Celeste dialog system, you can observe these features :\n\n- Open and close animation with own sound **(done)**\n- Per letter reveal and animation **(only reveal was done)**\n- Character speaking sounds **(done)**\n- Character speaking sound depending on emotion\n- Custom background per character **(done, only one default background yet)**\n- Tooltip when player can continue dialog **(done)**\n- Rich text **(done)**\n- Text shading effects\n- Showing avatar **(done)**\n- Showing avatar animation and depending on emotion\n- Multiple sentences and character\u2019s dialog switch **(done)**\n\nIt\u2019s enough features to implement for a game jam in 72 hours, isn\u2019t it?\n\nI wanted to make this dialog\u2019s system independant from others. Moreover having a fast method to create dialogs and easy options settings for my team was my main goal.\n\nHere is how to use it in Unity:\n\nTo launch a dialog, we just need to setup a dialog asset (which is a simple `ScriptableObject`). We can do it directly in the Dialog\u2019s game object inspector, or programmatically by simply calling `UIDialogManager.instance.Dialog = <my asset>`. The manager will start the dialog automatically. We can control if the dialog system is free to use or not by checking `bool UIDialogManager.instance.InDialog`.\n\n![UIDialogManager.png](\/\/\/raw\/785\/d2\/z\/33b6b.png)\n\nThen you just need to setup all the dialogs with ScriptableObjects! Simply as it:\n\n![Dialog.png](\/\/\/raw\/785\/d2\/z\/33b6c.png)\n\nThen per dialog you setup who is speaking:\n\n![CharacterSO.png](\/\/\/raw\/785\/d2\/z\/33b6d.png)\n\nAnd for a character, a dialog meta to change the mood (background) of it easily - yet it just contains a sprite.\n\nIf you want to look closer at how the code works, let me know in comments :v: :-)\nOr you can dive into our code\u2019s repository from the itch.io game\u2019s page.\n\nThank you for your feedbacks and for playing our game! You guys rock!\n\n","comments":3,"comments-timestamp":"2020-05-04T16:27:33Z","created":"2020-05-03T17:05:06Z","files":[],"files-timestamp":0,"id":209452,"love":4,"love-timestamp":"2020-05-05T20:48:21Z","meta":[],"modified":"2020-05-05T20:48:21Z","name":"Did you notice where it come from ? CoG's dialog system","node-timestamp":"2020-05-04T14:50:19Z","parent":185884,"parents":[1,5,9,176557,185884],"path":"\/events\/ludum-dare\/46\/the-consequences-of-gardening\/did-you-notice-where-it-come-from-cogs-dialog-system","published":"2020-05-03T17:58:05Z","scope":"public","slug":"did-you-notice-where-it-come-from-cogs-dialog-system","subsubtype":"","subtype":"","type":"post","version":636671},"node_metadata":{"n_key":"209452","n_urlkey":"362191","n_parent":"185884","n_path":"\/events\/ludum-dare\/46\/the-consequences-of-gardening\/did-you-notice-where-it-come-from-cogs-dialog-system","n_slug":"did-you-notice-where-it-come-fro","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"185735","n_created":"1588525506","n_modified":"1588711701","n_version":"636671","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/46\/the-consequences-of-gardening\/did-you-notice-where-it-come-from-cogs-dialog-system","text":"![2ec5c.gif](\/\/\/raw\/785\/d2\/z\/33b67.gif)\n\nIf you had played at our game *[The Consequences of Gardening](https:\/\/ldjam.com\/events\/ludum-dare\/46\/the-consequences-of-gardening)* you may have paid attention to the dialog system.\n\nBelieve me or not, during this jam within a team of seven people, I tried to code and implement a dialog system based on **Celeste**\u2018s one.\n\n![celeste comparaison.png](\/\/\/raw\/785\/d2\/z\/33b6a.png)\n\nWhy would I reproduce it? Simply because I love Celeste, and I find its dialog system well-suited for an immersive dialog experience in a narrative point&click.\n\nIf you take a look at the Celeste dialog system, you can observe these features :\n\n- Open and close animation with own sound **(done)**\n- Per letter reveal and animation **(only reveal was done)**\n- Character speaking sounds **(done)**\n- Character speaking sound depending on emotion\n- Custom background per character **(done, only one default background yet)**\n- Tooltip when player can continue dialog **(done)**\n- Rich text **(done)**\n- Text shading effects\n- Showing avatar **(done)**\n- Showing avatar animation and depending on emotion\n- Multiple sentences and character\u2019s dialog switch **(done)**\n\nIt\u2019s enough features to implement for a game jam in 72 hours, isn\u2019t it?\n\nI wanted to make this dialog\u2019s system independant from others. Moreover having a fast method to create dialogs and easy options settings for my team was my main goal.\n\nHere is how to use it in Unity:\n\nTo launch a dialog, we just need to setup a dialog asset (which is a simple `ScriptableObject`). We can do it directly in the Dialog\u2019s game object inspector, or programmatically by simply calling `UIDialogManager.instance.Dialog = <my asset>`. The manager will start the dialog automatically. We can control if the dialog system is free to use or not by checking `bool UIDialogManager.instance.InDialog`.\n\n![UIDialogManager.png](\/\/\/raw\/785\/d2\/z\/33b6b.png)\n\nThen you just need to setup all the dialogs with ScriptableObjects! Simply as it:\n\n![Dialog.png](\/\/\/raw\/785\/d2\/z\/33b6c.png)\n\nThen per dialog you setup who is speaking:\n\n![CharacterSO.png](\/\/\/raw\/785\/d2\/z\/33b6d.png)\n\nAnd for a character, a dialog meta to change the mood (background) of it easily - yet it just contains a sprite.\n\nIf you want to look closer at how the code works, let me know in comments :v: :-)\nOr you can dive into our code\u2019s repository from the itch.io game\u2019s page.\n\nThank you for your feedbacks and for playing our game! You guys rock!\n\n","title":"Did you notice where it come from ? CoG's dialog system","wayback_source":[]}