another VERY nice use case of `await`: writing NPC/level scripts like literal stage instructions. imagine e.g. having an NPC object with functions such as `say(str)`, `walk(point)`,... which trigger a dialog, make the npc walk, etc and then just internally await being done. then you can just script any interaction like normal code like you would with the tweens (even with loops for e.g. patrolling enemies, or switch statements for dialog, etc) one of those calls after each other and your functions take care of any waiting / state transitions / etc in the background.
@finseaf3 жыл бұрын
Every time I see new features I become more and more grateful for choosing Godot over Unity.
@BramwellWilliams3 жыл бұрын
I swear as Godot 4 stable gets closer and closer the choice is becoming starker and starker ^^
@ScumlordStudio3 жыл бұрын
This video has singlehandedly gotten me interested in Godot again, thank you for making this!
@amnesiophilia3 жыл бұрын
Await being so simple, and the fact that tweens can be sequenced like that as single lines, is mindblowing from an ease of use perspective. I was a bit worried about learning Godot 4 but now I'm excited to get started!
@BramwellWilliams3 жыл бұрын
its sooooo nice🤩 - I was pensive initially but its definitely not as hard to get into as you'd expect from a total rewrite c:
@simmzzzz2 жыл бұрын
It's been a challenge figuring out all the new features. This was quite helpful. Thanks!
@Nadeli02 жыл бұрын
Thank you so much for making Godot 4 tutorials and lessons! I haven't been able to find ANYTHING on Godot 4 until I found you! So thank you! You are a life-saver!! :D
@BramwellWilliams2 жыл бұрын
Very happy to help! I love doing Godot 4 stuff so much ^^
@Crisisdarkness3 жыл бұрын
I'm glad you're back, your channel is like a gold mine, I still remember your great tutorials and I hope you keep doing that from time to time and keep showing news of your good card game
@BramwellWilliams3 жыл бұрын
Thankyou! it feels really good to have the free time to put out content again
@TackerTacker3 жыл бұрын
Oh I didn't know about the script templates :O It reminds me a bit of Construct and it's build in behaviors, but implemented in a Godot way, really great. Maybe I don't need to rely on Construct anymore in the future for quick prototyping. It needs some work though, it should at least contain a basic top down movement script as well, not only one for a game with a side view.
@BramwellWilliams3 жыл бұрын
We're in alpha i'm sure we'll get more templates - maybe I could make some 🤔 At a minimum I'm pretty sure you can define your own templates in the editor settings
@sslaxx3 жыл бұрын
So much more than this, too. Getters and setters, for one.
@BramwellWilliams3 жыл бұрын
100% I'm gonna see what i can do about putting together a bunch of shortform tutorial content with the proviso that everything is alpha and subject to change - so much to cover!
@HeraldOD3 жыл бұрын
I'm so impressed by how tweens work now, it's so slick and easy! The fact that it's linear by default and you can choose to change the smoothing function is really convenient as well
@EnderCrypt2 жыл бұрын
yield actually has a meaning to do with threads, more than python generators yield means that a thread is willing to let go of its current cpu usage and resume later
@maranr3 жыл бұрын
Super clear and succinct explanations of the features. Thanks so much.
@BramwellWilliams3 жыл бұрын
I'm glad - thankyou!
@davidmurphy5633 жыл бұрын
Aw, that was such a good video. I abandoned ship with my first attempt at a mini-project with G4 because it was taking so long to do anything, I redid 3 hours of G4 work in G3 in 15 mins. I just lost patience. So, um, could you make another dozen of those vids please? ;)
@BramwellWilliams3 жыл бұрын
Damn that's rough - but hell yeah! New vid tonight c:
@slecornu3 жыл бұрын
It's great that Godot 4.0 removes boiler plate code and provides reusable code templates to reduce repetitive development from project to project. Woopa!
@BramwellWilliams3 жыл бұрын
It really is! I'm hoping I can figure out how to create and distribute my own templates in that style, maybe even propose additions to the engines - I feel like most nodes could benefit from having a good example template
@seppoday3 жыл бұрын
Great video. I didn't know "connect"was changed. Thanks!
@BramwellWilliams3 жыл бұрын
Thanks, its a really sweet improvement! the way to bind extra arguments is really slick too
@seppoday3 жыл бұрын
@@BramwellWilliams Yea all of those changes look more clean to me. I like direction godot is heading to :)
@sosasees3 жыл бұрын
i will keep using Godot 3.x for now since i am making an actual game and i don't want it to become broken from updating Godot 3.x to Godot 4.0 Alpha (or even updating again to the next version of Godot 4.0 Alpha once that releases. Godot 4.0 Alpha is called Alpha for a reason). but once Godot 4.0 Stable gets released, i will definitely jump to Godot 4. Even if it means that i'll have to mothball my current game project, mess around with tiny test projects to adjust my mind to Godot 4, and then re-consider (with asking on the forums) what can be done with current technology because Godot 4.0 (and hardware that is commonly used today) is next-gen compared to Godot 3.x (and hardware that was commonly used when i started using Godot 3.2), and then revive the mothballed game project but adjusting it to the new technology. That process will take a while but i think that in the end i will end up with a game that's much funner and juicier because it does not underestimate the power of mid-range phones as badly as it otherwise would (because currently i am really bad with underestimating hardware, leading to silly things like using 3D and the Light and Particle systems as sparely as possible even if heavy use would make the game much better).
@KoenEngelen903 жыл бұрын
Thank you for this nice video! It really has some nice syntax improvements. I do have a question though: At 11:22 why would you use "tween.tween_callback(button.queue_free)" instead of just "button.queue_free()" since you already need a reference to the button anyway?
@BramwellWilliams3 жыл бұрын
Glad you liked it! The former adds it to a queue of animations the tween handles - so the button will only queue_free after all the animations are complete as opposed to immediately ^^
@谢朋刚 Жыл бұрын
Love this video
@christopheswiderski20263 жыл бұрын
For the algorithm :D
@BramwellWilliams3 жыл бұрын
👑
@RyanScottForReal3 жыл бұрын
Bramwell could you show us how to use the tilemap? Baffled by it, no idea how to get a png into it to even start working with it.
@BramwellWilliams3 жыл бұрын
Happily! I'm just working on a pair of videos about the 3D side of Godot 4 - I've been hearing lots of people having a rough time tryna figure it out 😬
@Christobanistan2 жыл бұрын
Does GDScript 2 do JIT compiling at all? I'm more interested in some real performance improvements.
@officiallyaninja3 жыл бұрын
why do you have to use a tween to queue free at the end? why can't you just queue free the button directly
@BramwellWilliams3 жыл бұрын
There's a very good reason actually! The queue runs those callable functions in order - so that way the queue free happens when all the animations finish rather than immediately 👌
@r6scrubs1263 жыл бұрын
Great video, but the amount of breaking changes in the language worries me slightly. Hope this isn't going to end up like Unity in a few years where they keep reinventing the wheel and every tutorial you find doesn't actually work anymore because they changed how everything works since then.
@ColorauGuiyino3 жыл бұрын
The new tween system seems to be very unintuitive to me. Great video..!
@RamHomier3 жыл бұрын
Something I don't get when you do button.pressed refering to a signal, it currently is a boolean value is the button is pressed or not. Why would they remove/rename such a basic value.
@BramwellWilliams3 жыл бұрын
I believe it's currently a public proposal to figure out what the best plan for the rename is - the boolean is button_pressed at the moment but I think its a temporary measure
@RamHomier3 жыл бұрын
Maybe is_pressed would make sense but then they should rename all similar boolean properties.
@trafficface2 жыл бұрын
Now today it's really time, it's feature freeze soon
@gasoline17073 жыл бұрын
If you tween two objects with the same tween object, will they tween at the same time or one after the other?
@BramwellWilliams3 жыл бұрын
tween_property does one after another by default - but you can make them happen at the same time with `tween.set_parallel()` first I think c: