Video není dostupné.
Omlouváme se.

Dynamic Conversations - Legacy Devlog #23

Sdílet
Vložit
  • čas přidán 17. 08. 2024
  • Support me on Patreon:
    / aarthificial
    0:00 Showcase
    1:14 How does it work?
    3:27 Practical example
    === GDC Talks ===
    AI-driven Dynamic Dialog through Fuzzy Pattern Matching:
    • AI-driven Dynamic Dial...
    Programming Context-Aware Dialogue in The Last of Us:
    • Programming Context-Aw...
    Do You Copy? Dialog System and Tools in Firewatch:
    • Do You Copy? Dialog Sy...
    === Tools I'm using ===
    JetBrains Rider
    Unity
    Adobe Illustrator, After Effects, Premiere Pro, Audition, Photoshop
    === Music from Epidemic Sounds ===
    www.epidemicso...
    Jo Wandrini - Puzzle Of Complexity:
    • Puzzle Of Complexity
    Luella Gren - There Is Something about the World:
    • Luella Gren - There Is...

Komentáře • 131

  • @sodagames4980
    @sodagames4980 Před 2 lety +333

    Once again I'm absolutely blown away by your ability to easily present these complex systems in such a short video. That's awesome

  • @louispretends
    @louispretends Před 2 lety +219

    Dialogue like that looks so snappy and satisfying! Really cool for people replaying the game, and don't need to go through the tutorial, too. Amazing job man!
    Also the more I learn about your game the more I think speedrunners are going to love it

  • @KyotecYT
    @KyotecYT Před 2 lety +104

    Finished binge watching your channel.
    Damn you're good. I am a software engineer looking to do some hobby game dev and oh boy did I love watching all your vids! Keep up the good work, you're definitely on an upwards trend and the quality of your vids is stellar, the best devlogs in term of explaining architecture & code, next to Sebastian Lague.

  • @capsey_
    @capsey_ Před 2 lety +135

    Your editing and explanation are so good! Similar to Sebastian Lague in some way. I really hope you'll finish the game, because as far as it goes, it looks amazing. Keep it up!

    • @aarthificial
      @aarthificial  Před 2 lety +24

      Thanks so much!

    • @EthMiC_
      @EthMiC_ Před 2 lety +25

      I mean he has the same trifecta:
      Amazing accent
      Intuitive learning
      Chill and relaxing vibes

    • @samhblackmore
      @samhblackmore Před 2 lety +3

      @@EthMiC_ now just imagine if @aarthificial would do a 30-minute long coding adventure!

    • @EthMiC_
      @EthMiC_ Před 2 lety +1

      @@samhblackmore I would watch it

  • @krycerkris
    @krycerkris Před 2 lety +12

    I am blown away by just how insane your code structure is. It's like you're 10 steps ahead of your own programming, making every feature into a complex, yet flexible and efficient structure.
    I try to follow a similar philosophy in my own code, but after watching your videos I can only awe at how much more I have to learn.. And don't even get me started on the video itself...

  • @logix8969
    @logix8969 Před rokem +2

    Always love when a game makes tutorials opt-in and doesn't do them in an obnoxious way that locks you in place while the NPC talks and then forces you to do something specific. That ability to just walk away mid-conversation is so underrated!

  • @krawieck
    @krawieck Před 2 lety +13

    A day when aartificial uploads is a good day. It’s great to see how much care and thought you put into this game

  • @greatot7429
    @greatot7429 Před 2 lety +17

    Finally, a video!
    I really like the way you handle your codes. It gives me a lot of insight

  • @guilhemane
    @guilhemane Před 2 lety +2

    I've been watching your videos for a while and also making an event-based context-aware dialogue system based on the GDC talks you mentioned... And somehow I never saw this video! You solved every difficult aspect of this really elegantly and the tool looks great!

  • @BravosChannel
    @BravosChannel Před 2 lety +3

    I love how intricate and clean everything you put into this game is. It's not common to find people talking about how they work on their architecture, so seeing channels like this always makes me intrigued on what there is. Have a great time with working on your game!

  • @monsieuralexandergulbu3678

    Yayy, new vid!
    Love them!

  • @lunarxs
    @lunarxs Před 2 lety +3

    I love the interaction and immersion these dynamic dialogues add to your tutorial

  • @Gerz970
    @Gerz970 Před 2 lety +1

    Your devlogs are such a breath of fresh air. I havent found any devlogs that explain games systems as well as yours and most devlogs anymore are spent talking about non devlog stuff like making a coffee or going for a walk.

  • @verified_tinker1818
    @verified_tinker1818 Před 2 lety +53

    Amazing job! Every video you put out, I'm astonished by the amount and quality of work you put into your game. I feel like a half-assed amateur, watching you.
    Have you considered selling Typewriter on the Asset Store, once you deem it reasonably finished? I'm not a fan of third-party assets, but if I were looking for a dialogue system for Unity, I can totally see myself buying this.

    • @aarthificial
      @aarthificial  Před 2 lety +39

      Thanks!
      Like most of my tools, I'd like to release Typewriter as an open-source package. The only problem right now is that I don't have time for maintaining it so it'll have to wait a bit

    • @right_jehoon
      @right_jehoon Před 2 lety +6

      @@aarthificial im so fascinating by your concepts. I really want to see how you implement these concept to real codes! waiting for you to release the package :)

    • @ruchirraj5300
      @ruchirraj5300 Před 2 lety +1

      @@aarthificial I would really love to see how you made all those editor tools 😁

  • @AreThereGhostsOnMars
    @AreThereGhostsOnMars Před rokem +1

    I just love your dev logs. You’re not just doing things, you’re showing us how you did them and even teaching us about them.

  • @BlueGooGames
    @BlueGooGames Před 2 lety +2

    This is super cool, love that it’s letting you play freely during dialogue!

  • @the_mm_159
    @the_mm_159 Před rokem +1

    The explanations are great, love those videos

  • @justVontadeh
    @justVontadeh Před 2 lety +2

    Love this! I've been making a custom tool for doing something similar in Unreal for a while and I've struggled a bit on how to organize the tool. Love the look and simplicity of yours! Can't wait for more vids on Typewriter and see its inner workings.

  • @AstonishedByTheLackOfCake

    smh, youtube recommendation did not notify me of this one in time
    on the upshot, now I have two glorious aarthificial videos to watch :D

  • @Talvara
    @Talvara Před 2 lety +1

    very cool. Tingles the brain with excitement.

  • @JonaCorrea
    @JonaCorrea Před 2 lety +1

    This is just amazing. And the way it's explained is simple but insightful.

  • @S41L0R
    @S41L0R Před 2 lety +2

    Your videos are made so well. I literally get excited when I see them, because I know they'll be worth my time (:

  • @bobthedeleter
    @bobthedeleter Před 2 lety +1

    you really have a talent for explaining these very technical systems in a very human way. subscribed!

  • @3dsteve
    @3dsteve Před 2 lety +1

    Never ceases to inspire several heated, fascinating conversations in and outside my head lol

  • @tommckenzie
    @tommckenzie Před 2 lety +1

    This channel deserves way more subs. Quality work!

  • @igrb
    @igrb Před 2 lety

    I get so excited watching you talk about systems you built for the game, they're aways so cool and the editing is just on point! Thanks again for making these videos

  • @_kett2164
    @_kett2164 Před 2 lety +1

    Another amazing devlog! This is going to make a fantastic game

  • @PurpleDaemon_
    @PurpleDaemon_ Před rokem

    Still waiting for this project to be published. Not even for use in my projects, but for a deep understanding of how such a system can be coded.

  • @quinndepatten4442
    @quinndepatten4442 Před rokem

    This is incredible intel. I'm very inspired.

  • @albertoaltozano8354
    @albertoaltozano8354 Před 2 lety

    This tutorial is so thought through and well explained. So on point with the animations too. I dont even make games and found this entertaining, good job.

  • @zaidmermam2524
    @zaidmermam2524 Před 2 lety

    its unfair how smart you are , you inspire me ALLOT as a developer , thanks for the amazing content

  • @animaitor99
    @animaitor99 Před 2 lety

    Every one of your videos opens my eyes to a new way things can be programmed.

  • @Will_-it3mh
    @Will_-it3mh Před 2 lety

    I've personally firewatch and didn't even notice such a feature. I guess it really does make conversations more seamless. also just a great game in general

  • @asyncrevengance3322
    @asyncrevengance3322 Před 2 lety

    I’m so excited to play this game!

  • @timmy8852
    @timmy8852 Před 2 lety

    Absolutely amazed at the quality of your devlogs. Inspiring!

  • @FelanLP
    @FelanLP Před 2 lety

    So, tldr, to make context aware dialogue you still have to script every situation you can think of manually. There are just tools and methods and stuff to make the workflow easier.

  • @FaceFirst
    @FaceFirst Před 2 lety +5

    Wow this is totally amazing! I also loved reanimation! Is there any chance we will be getting typewriter on your github too? I am so in love with the tools you created for your games! You are a great help for the Unity Community!

    • @aarthificial
      @aarthificial  Před 2 lety +4

      Thanks! Yes, that's the plan, although it may take a while do to my lack of time™

  • @His-Games
    @His-Games Před 2 lety +1

    was doing work, this is more important

  • @captainbarge
    @captainbarge Před 2 lety

    It looks nice, but terminology can use some polishing,
    - Fact, Rule, Event doesn't share any domain, you can understand termins separately, but they don't act as whole
    - What you call "Rule" is in fact "Action", but should be called something domain specific, lets say Dialog. Rule as termin is more a part of criteria.
    I'll make an example from different area: Imagine you have a cart in online shop, then there are a collection of promotion, that are eligible for application. Each promotion has collection of rules (cart total exceeds certain amount, cart contains at least one product from certain category) and collection of actions (do a fixed price discount, do a percentage discount, add a complimentary gift product).
    So a propasal is to have something like that:
    DialogEntry extends ActionEntry and has collection of rules(criteria) and collection of actions (modificator, execute)

  • @SnackLive
    @SnackLive Před 2 lety

    At this point i dont even care what the game is gonna be, look or whatever. I'm gonna buy it just because these videos are just amazing, high quality content that not only shows the work and dedication but also would help others to create their own things. Simply amazing dude keep going

  • @benjaminlehmann
    @benjaminlehmann Před 10 měsíci

    This is wonderful.

  • @Skeffles
    @Skeffles Před 2 lety

    Great to see how you're implementing conversations!

  • @peterhuijsen
    @peterhuijsen Před 2 lety

    That looks very impressive. Can't wait to see what you do next

  • @spunglebop1348
    @spunglebop1348 Před 2 lety

    finaly!!!!!
    i really enjoy your vids

  • @Snowdrama
    @Snowdrama Před 2 lety +1

    The real question I have is how did you make that sweet unity UI for searching for those event entries at 3:22? Is event entry a scriptable Object? Anyway good stuff! Can't wait for the next video!

  • @socialseymour4834
    @socialseymour4834 Před 2 lety

    such high quality editing

  • @lime31373
    @lime31373 Před 2 lety

    Great video as usual. I feel like I learn new things with each video. :)

  • @musictme4317
    @musictme4317 Před 2 lety

    Can’t wait until the game is finished

  • @manueldiprima
    @manueldiprima Před rokem

    You've gained my respect by talking about Naughty Dog.

  • @escapegoat573
    @escapegoat573 Před 2 lety +1

    I love your dialogue system, is there any way you could make a tutorial on your VODS channel like you did with the other cool one

  • @TimSAksu
    @TimSAksu Před 2 lety +2

    Would love a tutorial or breakdown on how you put together your editor UI's.

  • @yaboiskner
    @yaboiskner Před rokem

    I'm very impressed by the potential of Typewriter. It's very adaptable and seems to be very scalable also.
    Getting more technical, I have a question: how are you able to reference Events in your Rules or the Interaction Handle in the inspector? How are these Entries defined? How can you create them and then reference them uniquely across Unity?

  • @stealcase
    @stealcase Před 2 lety

    HAHA, gosh darnit dude! I was going to make a video about this and my own implementation on the Elan Ruskin dialogue system, but then you go ahead and make something even better.
    Amazing work, but damn. 😅

  • @laszlokortvelyessy1999

    i wanna play this game soooo baaaad. this is excelent work my friend! keep it up

  • @plusmorale
    @plusmorale Před 2 lety

    As always, short, information++

  • @imveryangryitsnotbutter

    My god, could you imagine a Phoenix Wright-type game which allowed you to solve cases through a wide variety of routes using a robust dialogue system like this?

  • @sinus4784
    @sinus4784 Před 2 lety

    some amazing work as usual

  • @pw5687
    @pw5687 Před rokem

    How does this compare to Inky? It can also do context-aware branches using variables. It, imo, also seems a lot simpler than handling events, you just type something similar to very basic pseudocode in plaintext files. I have no experience with either solution yet, but a dialogue system is soon on my todo list.
    Also, good job on the videos! Very high quality, enjoyable and informative. I always find myself watching these far too late at night as i just get hooked!

  • @Ziboo30
    @Ziboo30 Před 2 lety +1

    As always that's awesome !
    Love the editor UI. I guess you used the new UI Toolkit, would love a breakdown :)
    Also does the search dialog popup is a build-in one ?
    Great work !

    • @aarthificial
      @aarthificial  Před 2 lety

      Thanks!
      Yes, the search dialog was done as a property drawer, so I could use TreeView from IMGUI

  • @UnofficialFoneE
    @UnofficialFoneE Před 2 lety

    Great stuff as always!

  • @DrakiniteOfficial
    @DrakiniteOfficial Před rokem

    I didn't even know you were able to create your own UIs in Unity for custom tools. Very neat. Did you have to create Typewriter as a Unity plugin, or is Typewriter just part of your project?

  • @CoolGabrijel
    @CoolGabrijel Před 2 lety

    Very cool and inspiring video!

  • @matthewedwards8849
    @matthewedwards8849 Před 2 lety +1

    I love this system!
    Do you plan on publishing the typewriter program you made? I think a lot of unity developers would be interested in using it, and you could probably make a lot of money off of it if felt like it!

  • @svendpai
    @svendpai Před 2 lety +1

    Impressive system! :)

  • @jao5254
    @jao5254 Před 2 lety +1

    god

  • @TheBlazeThrower
    @TheBlazeThrower Před 2 lety

    Hi there, love your work. I thought you would appreciate being told that at 0:24 there's a small typo in dialogue "straigth" instead of "straight". Very nitpicky, so keep it up!

    • @TheBlazeThrower
      @TheBlazeThrower Před 2 lety

      Sorry, then 0:35 "breake" instead of "break" - not like anyone cares about spelling when it all looks so awesome!

    • @aarthificial
      @aarthificial  Před 2 lety +1

      Thanks so much!
      Yeah, I think there's a few more mistakes, especially when it comes to punctuation.
      Don't worry though. I haven't really started writing the game yet so all these dialogues are more of a "programmer art" and will most likely change in the future

  • @WeslomPo
    @WeslomPo Před 2 lety

    Instead of strings, use struct with string in it - that represent this id. This is much robust and agile method compare to strings.

    • @aarthificial
      @aarthificial  Před 2 lety +1

      I'm using keys that are integers because there's lots of dictionary lookup that needs to be done to test all the rules - and strings are much slower for that.
      Elan Ruskin in his talk goes into more technical detail on why strings are generally a bad idea in this case

    • @WeslomPo
      @WeslomPo Před 2 lety

      @@aarthificial yeah, this is true, but point that you can change how struct is works in their guts, so your struct can be as fast as integers. And you can do that _later_, when you get problem with their performance. As example, you can calculate their hash when they created, and save that hash to variable that will be used when calculated hash for dictionaries. Or can replace string completly for hash calculation and does not save them at all. You will create your ID with string, but after that it will be works as integer. Just a little trick to make the code cleaner.

    • @WeslomPo
      @WeslomPo Před 2 lety

      This is how your Events is represented. I think :) id and their humanreadable name.

    • @aarthificial
      @aarthificial  Před 2 lety +1

      Yes, like I siad in the video, entries are objects that contain an id. I'm not using structs because these entries need to be extended.
      Still, calculating the hash when a string is created would be nightmare because there is no way to prevent collisions.

    • @calcopod
      @calcopod Před rokem

      @@aarthificial I am sorry for replying 11 months after, however I was wondering: when you say the entry is an object, do you mean it inherits from UnityEngine.Object, or is it just a normal class?

  • @TheAguilacelestial
    @TheAguilacelestial Před rokem

    How do you link the behaviour that a rule should execute? For instance, RuleA triggers a dialogue but Rule B triggers some noise to reproduce or a cutscene, how do you do that?
    Great content!

  • @ruchirraj5300
    @ruchirraj5300 Před 2 lety

    Hey, how did you create the selection popup for events in your system? I really could use a system like that in my project.
    You editor tools just look so well organized, do you have any tips or resources I could look at?

  • @EthMiC_
    @EthMiC_ Před 2 lety

    Great, I no longer need friends to talk too

  • @eboatwright_
    @eboatwright_ Před 2 lety

    Super interesting! :D

  • @jimmyliu0104
    @jimmyliu0104 Před 2 lety

    God like...

  • @syntheticperson
    @syntheticperson Před rokem

    cool

  • @manancialgd.
    @manancialgd. Před 24 dny

    How did you learn to make your own Windows? I am struggling to lean editor code....

  • @sagrel
    @sagrel Před 2 lety

    Your videos are great and I think you deserve more views. Have you thought about posting something on reddit? I'm sure people will love it.

    • @aarthificial
      @aarthificial  Před 2 lety +1

      Thanks!
      I used to post on reddit a bit in the past.
      Unfortunately, for me, posting on social medias tends to be really stressful, and since growing this channel is not my priority, I don't do any marketing like that so that I can focus on the game more

  • @MrMagicPenguin12
    @MrMagicPenguin12 Před 2 lety

    Was the UI done by hand with Unity libraries or did you use another tool like Odin? Very cool system..

    • @aarthificial
      @aarthificial  Před 2 lety

      Thanks! It was done with Unity's new UI Toolkit

  • @bonyimperio8809
    @bonyimperio8809 Před rokem

    Is there a tutorial explaining how to do it? Or source code to study?

  • @the_yashe
    @the_yashe Před 2 lety

    Amazing video as always! What do you use for animations etc. ? They are so clean and well made..

    • @aarthificial
      @aarthificial  Před 2 lety +1

      Thanks! I use Illustrator and After Effects

  • @ObsidianContraption
    @ObsidianContraption Před 2 lety

    I love the dynamic dialog concept, plus your pixel perfect scrolling, seems like it's turning out to be a cool game. What platforms is this coming out for? I would love this on Atari VCS

    • @aarthificial
      @aarthificial  Před 2 lety +1

      Thanks!
      I haven't thought this far ahead. Windows and Linux for sure, we'll see about other platforms.
      The new Atari doesn't seem to be too difficult to relase onto though

    • @ObsidianContraption
      @ObsidianContraption Před 2 lety

      @@aarthificial if you do that I'll definitely support it. I'll find you on itch anyway. I'm a musician and dabble in game creation myself

  • @zop5725
    @zop5725 Před 2 lety

    Amazing work! Could you make a video on Serializing bool functions the way UnityEvent does it with voids?

    • @aarthificial
      @aarthificial  Před 2 lety

      I'm not sure what you mean exactly.
      UnityEvent serializes functions by storing the method's name and then using Reflection to find it. Is that what you're referring to?
      Also, by "bool functions" do you mean a function that returns bool or a function that takes bool as a parameter?

  • @Mouse97Master
    @Mouse97Master Před 2 lety

    Interesting and flexible realization.
    How about adding graph presenter of this system, so you can more easily handle the dialog flow?

    • @aarthificial
      @aarthificial  Před 2 lety +1

      Thanks!
      That was the plan initially, but Elan Ruskin changed my mind (clip):
      czcams.com/users/clipUgwkneKnSZnjMGj1kFp4AaABCQ
      And after making this tutorial level, I don't really feel like I need a visual tool

    • @Mouse97Master
      @Mouse97Master Před 2 lety

      That's sad
      Also, how do you store the dialog files?
      Is they are hardcoded to the prefab or you use files?

  • @uhhmir
    @uhhmir Před 2 lety

    Is Typerwriter public? I would love to use it but I can't find the link anywhere (:

  • @AmberLimShin
    @AmberLimShin Před 2 lety

    Ajsohebdodowuhe it's so fascinating to see people make game systems. It's like a weight has been lifted off my shoulders as I imagine how much easier it's going to make the development process later. 🥵🥴

  • @khushalkhan83
    @khushalkhan83 Před rokem

    Typewriter should be polished & released to asset store, there are many dialogue systems on asset store but all of them poorly implemented.

  • @UsatiyNyan
    @UsatiyNyan Před 2 lety

    So it is basically a state machine with extra steps.
    Good work tho

    • @aarthificial
      @aarthificial  Před 2 lety +1

      In theory, every computer is a finite state machine.
      Therefore any program that runs on it is just a finite state machine with extra steps

    • @UsatiyNyan
      @UsatiyNyan Před 2 lety

      @@aarthificial well that’s pretty true

  • @partially2k
    @partially2k Před 2 lety

    God damn

  • @KjipGamer
    @KjipGamer Před 2 lety

    Amazing video. Do you use Odin for your custom inspectors?

    • @aarthificial
      @aarthificial  Před 2 lety

      Thanks!
      No, it's all done with Unity's new UI Toolkit

    • @KjipGamer
      @KjipGamer Před 2 lety +1

      @@aarthificial Wow, I've dabbled with custom inspectors myself but this looks absolutely astonishing! Keep up good work!

  • @notsoren665
    @notsoren665 Před 2 lety

    I don't see why one shouldn't just use yarn spinner?

  • @Btomaek
    @Btomaek Před rokem

    half-life 2 lost cost and alyx has this type of system

  • @AntonioBrandao
    @AntonioBrandao Před 2 lety

    What language (+platform) are you using for development?

    • @aarthificial
      @aarthificial  Před 2 lety +1

      It's Unity, C#
      Unless you mean something more specific?

    • @AntonioBrandao
      @AntonioBrandao Před 2 lety

      @@aarthificial thanks! Yeah that’s what I mean. Just started learning C#, looking forward to do cool stuff with Unity too :)

  • @windbreaker17
    @windbreaker17 Před 2 lety

    Interesting, but i wish i didnt try to recreate it, just wasted time (

  • @RoffeDH
    @RoffeDH Před 2 lety +1

    I'm gonna say it again: if you end your video with "and if you want to learn how to do this for yourself, pay me all the moneys in the world" I'd pay it.

  • @jakubfuntal8972
    @jakubfuntal8972 Před 2 lety

    First