Once again I'm absolutely blown away by your ability to easily present these complex systems in such a short video. That's awesome
@louispretends3 жыл бұрын
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
@KyotecYT3 жыл бұрын
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.
@aarthificial3 жыл бұрын
Thanks, it really means a lot!
@capsey_3 жыл бұрын
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!
@aarthificial3 жыл бұрын
Thanks so much!
@EthMiC_3 жыл бұрын
I mean he has the same trifecta: Amazing accent Intuitive learning Chill and relaxing vibes
@samhblackmore3 жыл бұрын
@@EthMiC_ now just imagine if @aarthificial would do a 30-minute long coding adventure!
@EthMiC_3 жыл бұрын
@@samhblackmore I would watch it
@krycerkris3 жыл бұрын
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 Жыл бұрын
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!
@Great_OT3 жыл бұрын
Finally, a video! I really like the way you handle your codes. It gives me a lot of insight
@BravosChannel3 жыл бұрын
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!
@aarthificial3 жыл бұрын
Thanks so much!
@guilhemane2 жыл бұрын
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!
@lunarxs3 жыл бұрын
I love the interaction and immersion these dynamic dialogues add to your tutorial
@Gerz9702 жыл бұрын
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.
@krawieck3 жыл бұрын
A day when aartificial uploads is a good day. It’s great to see how much care and thought you put into this game
@AreThereGhostsOnMars2 жыл бұрын
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.
@monsieuralexandergulbu36783 жыл бұрын
Yayy, new vid! Love them!
@BlueGooGames3 жыл бұрын
This is super cool, love that it’s letting you play freely during dialogue!
@Talvara3 жыл бұрын
very cool. Tingles the brain with excitement.
@justVontadeh3 жыл бұрын
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.
@3dsteve3 жыл бұрын
Never ceases to inspire several heated, fascinating conversations in and outside my head lol
@animaitor993 жыл бұрын
Every one of your videos opens my eyes to a new way things can be programmed.
@AstonishedByTheLackOfCake3 жыл бұрын
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
@JonaCorrea3 жыл бұрын
This is just amazing. And the way it's explained is simple but insightful.
@aarthificial3 жыл бұрын
Thanks so much!
@the_mm_1592 жыл бұрын
The explanations are great, love those videos
@bobthedeleter2 жыл бұрын
you really have a talent for explaining these very technical systems in a very human way. subscribed!
@PurpleDaemon_ Жыл бұрын
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.
@Will_-it3mh2 жыл бұрын
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
@zaidmermam25243 жыл бұрын
its unfair how smart you are , you inspire me ALLOT as a developer , thanks for the amazing content
@igrb3 жыл бұрын
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
@albertoaltozano83543 жыл бұрын
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.
@S41L0R3 жыл бұрын
Your videos are made so well. I literally get excited when I see them, because I know they'll be worth my time (:
@timmy88523 жыл бұрын
Absolutely amazed at the quality of your devlogs. Inspiring!
@quinndepatten4442 Жыл бұрын
This is incredible intel. I'm very inspired.
@tommckenzie3 жыл бұрын
This channel deserves way more subs. Quality work!
@verified_tinker18183 жыл бұрын
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.
@aarthificial3 жыл бұрын
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_jehoon3 жыл бұрын
@@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 :)
@ruchirraj53002 жыл бұрын
@@aarthificial I would really love to see how you made all those editor tools 😁
@Skeffles3 жыл бұрын
Great to see how you're implementing conversations!
@SnackLive3 жыл бұрын
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
@aarthificial3 жыл бұрын
Thanks!
@_kett21643 жыл бұрын
Another amazing devlog! This is going to make a fantastic game
@TimSAksu3 жыл бұрын
Would love a tutorial or breakdown on how you put together your editor UI's.
@asyncrevengance33222 жыл бұрын
I’m so excited to play this game!
@His-Games3 жыл бұрын
was doing work, this is more important
@peterhuijsen3 жыл бұрын
That looks very impressive. Can't wait to see what you do next
@maannybeatss Жыл бұрын
You've gained my respect by talking about Naughty Dog.
@musictme43172 жыл бұрын
Can’t wait until the game is finished
@escapegoat5732 жыл бұрын
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
@lime313733 жыл бұрын
Great video as usual. I feel like I learn new things with each video. :)
@socialseymour48343 жыл бұрын
such high quality editing
@Snowdrama2 жыл бұрын
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!
@benjaminlehmann Жыл бұрын
This is wonderful.
@laszlokortvelyessy19993 жыл бұрын
i wanna play this game soooo baaaad. this is excelent work my friend! keep it up
@aarthificial3 жыл бұрын
Thanks so much!
@FaceFirst3 жыл бұрын
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!
@aarthificial3 жыл бұрын
Thanks! Yes, that's the plan, although it may take a while do to my lack of time™
@CoolGabrijel3 жыл бұрын
Very cool and inspiring video!
@FelanLP2 жыл бұрын
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.
@sinus47843 жыл бұрын
some amazing work as usual
@imveryangryitsnotbutter2 жыл бұрын
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?
@yaboiskner2 жыл бұрын
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?
@plusmorale3 жыл бұрын
As always, short, information++
@stealcase3 жыл бұрын
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. 😅
@UnofficialFoneE3 жыл бұрын
Great stuff as always!
@matthewedwards88493 жыл бұрын
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!
@spunglebop13483 жыл бұрын
finaly!!!!! i really enjoy your vids
@aarthificial3 жыл бұрын
Thanks, I'm glad to hear that!
@svendpai3 жыл бұрын
Impressive system! :)
@aarthificial3 жыл бұрын
Thanks!
@Ziboo303 жыл бұрын
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 !
@aarthificial3 жыл бұрын
Thanks! Yes, the search dialog was done as a property drawer, so I could use TreeView from IMGUI
@pw5687 Жыл бұрын
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!
@DrakiniteOfficial Жыл бұрын
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?
@EthMiC_3 жыл бұрын
Great, I no longer need friends to talk too
@zop57253 жыл бұрын
Amazing work! Could you make a video on Serializing bool functions the way UnityEvent does it with voids?
@aarthificial3 жыл бұрын
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?
@TheAguilacelestial2 жыл бұрын
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!
@captainbarge2 жыл бұрын
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)
@the_yashe3 жыл бұрын
Amazing video as always! What do you use for animations etc. ? They are so clean and well made..
@aarthificial3 жыл бұрын
Thanks! I use Illustrator and After Effects
@Mouse97Master3 жыл бұрын
Interesting and flexible realization. How about adding graph presenter of this system, so you can more easily handle the dialog flow?
@aarthificial3 жыл бұрын
Thanks! That was the plan initially, but Elan Ruskin changed my mind (clip): kzbin.infoUgwkneKnSZnjMGj1kFp4AaABCQ And after making this tutorial level, I don't really feel like I need a visual tool
@Mouse97Master3 жыл бұрын
That's sad Also, how do you store the dialog files? Is they are hardcoded to the prefab or you use files?
@eboatwright_3 жыл бұрын
Super interesting! :D
@ruchirraj53002 жыл бұрын
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?
@TheBlazeThrower3 жыл бұрын
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!
@TheBlazeThrower3 жыл бұрын
Sorry, then 0:35 "breake" instead of "break" - not like anyone cares about spelling when it all looks so awesome!
@aarthificial3 жыл бұрын
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
@AmberLimShin3 жыл бұрын
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. 🥵🥴
@jao52543 жыл бұрын
god
@KjipGamer3 жыл бұрын
Amazing video. Do you use Odin for your custom inspectors?
@aarthificial3 жыл бұрын
Thanks! No, it's all done with Unity's new UI Toolkit
@KjipGamer3 жыл бұрын
@@aarthificial Wow, I've dabbled with custom inspectors myself but this looks absolutely astonishing! Keep up good work!
@WeslomPo3 жыл бұрын
Instead of strings, use struct with string in it - that represent this id. This is much robust and agile method compare to strings.
@aarthificial3 жыл бұрын
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
@WeslomPo3 жыл бұрын
@@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.
@WeslomPo3 жыл бұрын
This is how your Events is represented. I think :) id and their humanreadable name.
@aarthificial3 жыл бұрын
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.
@calcopod2 жыл бұрын
@@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?
@ObsidianContraption3 жыл бұрын
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
@aarthificial3 жыл бұрын
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
@ObsidianContraption3 жыл бұрын
@@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
@bonyimperio88092 жыл бұрын
Is there a tutorial explaining how to do it? Or source code to study?
@jimmyliu01043 жыл бұрын
God like...
@sagrel3 жыл бұрын
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.
@aarthificial3 жыл бұрын
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
@syntheticperson2 жыл бұрын
cool
@MrMagicPenguin123 жыл бұрын
Was the UI done by hand with Unity libraries or did you use another tool like Odin? Very cool system..
@aarthificial3 жыл бұрын
Thanks! It was done with Unity's new UI Toolkit
@manancialgd.4 ай бұрын
How did you learn to make your own Windows? I am struggling to lean editor code....
@uhhmir3 жыл бұрын
Is Typerwriter public? I would love to use it but I can't find the link anywhere (:
@partially2k3 жыл бұрын
God damn
@UsatiyNyan2 жыл бұрын
So it is basically a state machine with extra steps. Good work tho
@aarthificial2 жыл бұрын
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
@UsatiyNyan2 жыл бұрын
@@aarthificial well that’s pretty true
@AntonioBrandao3 жыл бұрын
What language (+platform) are you using for development?
@aarthificial3 жыл бұрын
It's Unity, C# Unless you mean something more specific?
@AntonioBrandao3 жыл бұрын
@@aarthificial thanks! Yeah that’s what I mean. Just started learning C#, looking forward to do cool stuff with Unity too :)
@notsoren6653 жыл бұрын
I don't see why one shouldn't just use yarn spinner?
@aarthificial3 жыл бұрын
One should use whatever they want
@Btomaek2 жыл бұрын
half-life 2 lost cost and alyx has this type of system
@khushalkhan83 Жыл бұрын
Typewriter should be polished & released to asset store, there are many dialogue systems on asset store but all of them poorly implemented.
@windbreaker172 жыл бұрын
Interesting, but i wish i didnt try to recreate it, just wasted time (
@RoffeDH3 жыл бұрын
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.