No video

Godot 4 Souls-Like Template: Programming Patterns & Signals

  Рет қаралды 2,793

Cat Prisbrey

Cat Prisbrey

Күн бұрын

Пікірлер: 27
@Maximartjom
@Maximartjom 6 ай бұрын
this video is an example of great teaching, thank you very much for the continued updates and help, we appreciate you!
@catprisbrey
@catprisbrey 6 ай бұрын
Thanks for saying so. I used to be a teacher some 10 years back, glad to hear I have some of that ability still
@alvarocafe
@alvarocafe 6 ай бұрын
Woooow wasnt expecting so many updates! Been toying around with the template earlier today, nice job!
@catprisbrey
@catprisbrey 6 ай бұрын
Yeah, these first few days/weeks will be pretty rapid and active development
@tjdiddy
@tjdiddy 6 ай бұрын
what a lovely way of teaching! Thank you so much for sharing this bit of godot wisdom. The analogies with the surgeon and car make so much sense and you described it so flawlessly.
@catprisbrey
@catprisbrey 6 ай бұрын
Thanks for the compliments on my teaching! Hope the insights will be helpful to you!
@Carkoon
@Carkoon 6 ай бұрын
Really enjoyed the higher level explanation of this!
@catprisbrey
@catprisbrey 6 ай бұрын
Glad you found it useful. I WAY simplified the command pattern, but still, it's cleaner and clearer this way to make a better example and comparison
@garyjiujiu
@garyjiujiu 6 ай бұрын
Just started using Godot for a more serious project. This is great! Thanks for sharing.
@catprisbrey
@catprisbrey 6 ай бұрын
The scalability of the observer pattern is key for the bigger projects. My game jams start to gridlock if I don't code smart and use it often
@MaxGameStudio111
@MaxGameStudio111 6 ай бұрын
Great explanation of the way to implement signals, thanks for sharing! Looking forward to using this on my next project :D
@catprisbrey
@catprisbrey 6 ай бұрын
That's great to hear, honestly I think I get more joy from the positive comments on this educational video than I do my other template feature videos. I know the folks that comment here have learned something valuable that they can use in the future
@diegodelacerda8828
@diegodelacerda8828 6 ай бұрын
absolutely fantastic
@catprisbrey
@catprisbrey 6 ай бұрын
Haha thanks, gotta train folks up on the common coding patterns before I explain the template in full :) laying the ground work
@spitemonster
@spitemonster 2 ай бұрын
everyone out here appreciating the (good) information, no one here with me dying at "succion"
@catprisbrey
@catprisbrey 2 ай бұрын
Typos, I'm also a spanish speaker which messes with my spelling sometimes. "suction" = "succión"
@spitemonster
@spitemonster 2 ай бұрын
@@catprisbrey ah my apologies I don't mean to laugh at your typos, I read it as "succion" as in "the succ" lol
@spitemonster
@spitemonster 2 ай бұрын
@@catprisbrey appreciate the insight here and also your anim library videos have been very helpful. hope you didn't take offense!
@St4rdog
@St4rdog 6 ай бұрын
That doesn't look like the Command Pattern, just regular code calling functions. Commands Pattern is when you turn game actions into an object. "Move Up" command sequence might be created from two modular commands "Translate Up" and "Play Animation (Walk)". Commands you could use to build a cutscene.
@catprisbrey
@catprisbrey 6 ай бұрын
Yes, and I said in the description text of the video I'm WAY over simplifying it for the sake of the analogy. But still, at it's very very most basic, one script calling outside node functions in a sequence is still command pattern, well just as you said func move() being "node.tranalate" ,"animation.play()"
@ParallaxC137
@ParallaxC137 6 ай бұрын
great video! would you explain some other Game Dev Patterns too?
@catprisbrey
@catprisbrey 6 ай бұрын
Perhaps once I finish all the videos on the template. You can also go to that website I linked and read the book for free. It'd short, and concise (but a bit dense)
@michettmusic
@michettmusic 6 ай бұрын
Nice video but I have a question: when connecting to a signal, you still need a specific node to connect to (the signalling_node in your example), unless you use something like a Singleton (a SignalManager for example). Without such a singleton, wouldn't you still be tightly coupling stuff?
@catprisbrey
@catprisbrey 6 ай бұрын
Nope, no need for a signally bus Singleton. The idea is, if the node is there, it'll connect to it, otherwise it won't. And then you build the features independent of each other. So for example, the targeting system I wrote. If the player sees it's there and available, it'll connect to it and vice versa,and will add that targeting feature to the game. But if I delete the targeting system, then the game continues exactly as it did before except no targeting. Or thinking something simpler. Like a sound effect or particle node waiting for an attack_started signal. If the connectionn is available, then particles/sounds will emit when the signal triggers... Other wise they simply won't emit/play. But the attack will still happen. Independent nodes and functions, that happen to take action based on the same signal. Rather then a bunch of nodes all needing to be directly called, creating breaking dependencies
@catprisbrey
@catprisbrey 6 ай бұрын
Like, coupling stuff is fine. Nodes talking to nodes is necessary for the game. But there is monolithic master/commander scripts calling the names of different nodes and telling them specifically what to do (tight coupling). So basically one node talking to 10 specific nodes for example. 10 tight dependencies, I'd any break the whole thing crashes. Versus the master script just says "hey, signalling that 'x' happened... I don't care who cares". So zero dependencies in the master script. Then each of the other nodes connects only to that master, so each feature node has only one, loose dependency. If any fail, the main script won't fail, only the feature node breakers. So 1 LONG script with 10 dependencies, each crash you must review the whole thing. Verses, 10 short scripts, 1 dependency each. If anything crashes, its quite obvious which script/node had the issue
@darkstarmike85
@darkstarmike85 6 ай бұрын
I'm not liking; sorry. I don't want to break the meme number. edit: This has actually made me glad I spent time on modelling in Blender, rather than learning Unity. Godot, signals, and observer pattern seem like such a better way to do my project.
@catprisbrey
@catprisbrey 6 ай бұрын
Haha, the balance between practicing code or improving art and asset workflow. And yeah the observer pattern and signals are amazing. They're not a magic bullet or the go-to-solution for every problem, but they have a role they play very very well.
Godot 4 Souls-Like Template: State Machine, Input, & Adding Features
22:07
Immersive Sim in Godot 4: COGITO - Overview
8:22
Philip D
Рет қаралды 39 М.
Oh No! My Doll Fell In The Dirt🤧💩
00:17
ToolTastic
Рет қаралды 10 МЛН
Godot 4 Souls-Like Template: Equipment System, Gadgets & Weapons
16:10
Godot 4 - Easy Animation Retargeting In Minutes
8:34
Cat Prisbrey
Рет қаралды 6 М.
The Playstyle So OP, Mojang Banned It 4 Times
13:54
XayXay
Рет қаралды 193 М.
Cat's Godot 4 Souls-Like Template & Asset Pack
3:41
Cat Prisbrey
Рет қаралды 13 М.