Industry News | Godot 3.4 Gets Released

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey guys this is mitch with fine point cgi and today we're going to talk about godot 3.4 which was released just over this past weekend at least at the time of recording so we're going to talk about some of the core features that godot 3.4 is going to be giving us and we're going to talk about all the cool things that it has and we're just going to run through it and see what we find so let's go ahead and get started okay so the first major feature and we'll kind of just go down through the list and i'll explain how they work and why they work and what use they have the first major features is in the core section and the first one is promote object validity checks to release builds so this is exciting because how objects are handled is slightly different between debug and release so i was helping a developer a while back who ran into a problem where objects were getting deleted before they were completely removed and i ran into or i guess he ran into some issues where uh he was calling is instance valid obj but it was being handled differently between debug and release and that inconsistency caught us a lot of problems so this change here makes it so that they should work about the same and in theory it might affect your performance a tiny bit with this new feature but the ease of debugging makes it way better so it's an awesome new feature and i'm glad to have it the next big feature is large file support so godot can now handle up to 8.4 million tibi bytes which is basically a terabyte more or less it's uh 1024 gigabytes so you can basically handle as big of a file as you could ever want i don't think we're ever going to need to go above 8.4 million tibi bytes so i think we should be good there but now we have that feature before we only could handle up to two gigabytes in file size so our giggy bit gig got bit a giggy bit and um at times when you had like open world games or something like that it could become a difficult could be difficult you'd have to split your scenes and do some funky stuff but now everything has been set to unsigned 64-bit integers which is going to solve that problem so hopefully we'll never run into another hey this file's too big for godot handle the next big feature is frame delta smoothing so frame delta smoothing is a really cool change basically the way the old system worked was it went off of your operating system clock and how operating system clocks are handled is different based on the operating system and sometimes just in general so there were times that godot could be hitting a inconsistent uh delta so it could mess up the smoothness of your game and uh basically could throw off your objects and throw things off from being i guess smooth right whereas nowadays we have a frame delta smoothing so it allows you to go off of your vsync and it uses a fixed vsync delta instead of the sampled input time that they were doing before now you can disable this let me bring up godot and i'll show you so if you open up godot and you go up to your project project settings and you you go down into your run section here you can see it there is a delta smooth right here and that is your delta smoothing option so if you suddenly see that your project is not interacting the way that you are expecting it to this is a good candidate for you to check out to see if maybe this is what's causing it so just to keep that in mind that that is something that could be causing your game to have inconsistent um smoothing between uh 3.3 and 3.4 this might be the culprit for you guys so the next big one which i am very excited to see is improved input handling so basically they set it up so that now you have some of these aliases here that allow you to [Music] handle all of your movement actions with just one function call instead of four so if you see this you can see how there's four calls here whereas here it just handles it it does it all for us so i'm really excited to see this change because you can see like walk equals walk force input get axes you can actually see right here this just handles your controller support and this one just handles your movement support up down left and right so it's a really great little feature that's going to really reduce our code for our movement code and i can't wait to refactor the 2d character controller tutorial to have this new feature because it's going to definitely simplify things so if we scroll down a little bit further we got cryptographic changes those cryptographic changes allow us to use aes ecb and aes cbc so basically aes ecb is the first generation of aes and cbc is the cryptic cipher block chaining and it's a more advanced block cipher encryption so it's a little bit more secure and a little bit better than the previous way of doing things so now godot can save and load public keys and sign and verify hashes and encrypt and decrypt rsa keys so it's a huge change for us for securing our code and making secure communications between us and servers and things like that so it's a very welcome change for anyone that's doing multi-player or anything like that it's going to help keep your game secure so that people don't you know hack your guys games and and cheat and things like that so it's it's a good change so the next big section is rendering and the big feature that comes with rendering right now is portal occlusion calling so for those of us using a 3d section of the engine this is a huge change for us and it's awesome so this allows us to call objects that are not within the camera view and that is hidden by another object so this is huge because it is going to reduce the amount of geometry that your game needs to render you know unfortunately it's not the raster occlusion calling that's in good o4 but it is a really good way to occlusion call especially if you're creating a game that maybe is inside of some rooms or things like that it's going to help with boosting your performance and making the 3d engine of godot a little bit more efficient and if you guys want to see a tutorial on that i did do one link will be in the description below if you guys want to check it out things may have changed a little bit i believe they did some updates after i did that tutorial but it still is a good introduction to what this feature is so if we scroll down a little bit more we have the aes fitted tone mapper so this is exciting because by default unity uses the aes fitted tone mapper and it helps with keeping the brights bright but without blowing out and over exposing your images so if you take a look at this image here you can see the sun is super bright but if we go over to the new one you can see how the sun is a little bit less yellow a little bit less a little bit of the detail is still in the sun whereas the old one it does not and same thing up here you can see a little bit more detail in the lights up here so the new aes fitted tone mapper kind of helps keep the details in there when you're using it so it's a good change that's going to help us create better looking 3d games so if we scroll down we also got the ring emitter for 3d particles this is great because it allows you to as the title says make a ring of 3d particles so this is good if you were to do like a tornado or if you were to do like a portal or maybe a fire spinning tornado of death or something this is a very good add-on for godot especially if you're doing an explosion if you're like exploding rock from a center point you're just exploding it and blowing them away this is useful instead of emitting from a single point you can emit from a ring and a lot of time that's what people do in visual effects is they use a ring emitter so it's a good ad addition to godot now we got some shader language changes now i don't understand shaders so please don't quote me on any of this but it looks like they have some structs and fragment to light varying exchanges and they also have a global const array i don't know what any of that means but that's cool and they also added the time function as a built-in uniform which basically means that it's available to you by default without needing to import anything so that's cool because i mean i don't know of a single shader out there that doesn't really use time or something like that if you're doing anything animated so it definitely is a good change it'll help our shader developers out there now they did add some additional render improvements octahedral map uh attribute compression so basically they can now compress normal maps and tangent attributes a little bit better and it will help with making a more efficient game more or less they added support for cpu blend shapes so if you guys don't know what a blend shape is but basically think of like how skyrim when you are creating your character and you're kind of doing all those slides and sliding between the two different uh or the different mouth patterns that's what a blend shape basically is you're sliding between these mouth patterns or these you know skin or or things like that you can also use it for like animation or anything like that as well so they added that to gles2 so that's really good for anybody on mobile or people who want to target the gles2 platform they fix the draw order of transparent materials for multiple directional lights that's exciting because the draw order was kind of wrong and could produce inconsistent results but now it's been fixed so that's good they fixed depth sorting a mesh is with transparent textures so that's cool because you know we had some issues with that where things weren't getting proper shadowing and stuff like that so it looks like that handles that we got a new inverse square light attenuation as an option so if we go ahead and we take a look at that one you can see how it's been kind of softened a little bit here so you can look at this and you can look at this you see how we got that nice soft gradient here whereas before it didn't quite have that so that's very useful i'm glad to see that it exists and wait there's more you guys can check all the rest of the changes in the change log okay so now that we got all the rendering and stuff like that out of the way now comes some of the crazier changes so on android this release of godot is going to change our target api level it's also going to change quite a more quite a few more things so um their change has made it so that api level 30 is our new target that's required by google play so now we won't need to make all these weird changes to get it to work with google play it just natively has those changes it does have some features for external storage access i know some people have been asking about having external storage access with godot that's coming in godot 3.5 it's not quite there yet they did add in a little bit of android's play asset delivery which if you guys don't know what that is it's basically a way for android to remove the original oob format which is a expansion format that google play used to send down expansion files now they're using aab files for it instead so the no team has laid the groundwork for that support that will hopefully be coming in the future now one other major change is the agile input processing which basically does a lot of input processing off on a different thread so it will help with keeping your game responsive even if it isn't at a steady frame rate it will try to keep your movement and your input processing as smooth as humanly possible so it'll help keep your game feeling smooth even if your frame rate is inconsistent on the html side there has been a lot of really cool changes here so they added in support for progressive web apps which if you guys want to hear more about that i have a rs godot 3.4 rc i believe it was two um where i talked about progressive web apps and the importance of this and how it works and why it works um the next big thing that was changed was the javascript object i am working on a tutorial for this one but basically it allows you to interact with the javascript api through godot in a really simple way you can just call javascript.getinterface and it'll actually pull that interface and allows you to use that interface so it's really cool so you can actually go out fetch a javascript object and call on that javascript object as if it's a normal object inside of godot so it's a really cool feature and it's going to be useful if you want to integrate into your websites or if you want to use godot to maybe do some additional calling outside of the um godot engine or if you wanted to maybe download some files or something like that you could do it through this system and last but not least they did some changes to the audio worklet which basically was a multi-threaded build for godot 3.3 which would solve a lot of audio playback issues that they have but there are some browsers out there that don't support audio worklet and multi-threaded um apis so they changed it so that the audio worklet could do single threaded operation so that's great the only downside is the performance will not always be great but i mean it's better than not being able to hear your audio or any stuttering audio right it may be slower but at least it works so it's a really good feature that will help with some backwards compatibility for older web browsers on the mac os front we got a updated version of mono so we are now on 6 12 0 158 preview edition which basically allows us to target apple silicon which is really cool because before we were unable to do that now we can actually target apple silicon with our system using c sharp they also added apple's notarization process to godot which basically allows us to sign our code and allows us to get scanned by the apple system so that way they don't look at our code as viruses or things like that so it's a very useful change for the mac team over on the physics side of things they did a lot of fixes and improvements here uh it's all a bunch of small stuff for the most part but they did add kinematic changes on how moving platforms works so before we had to do some finicky stuff like hey if you're on a platform have more gravity or less gravity but now apparently it's a lot better they added in some ray-shaped stability to the good of physics engine which is cool so that should help with some stability issues and it should um make mega soka dope crashes less often or has less issues the next big change is a more reliable hull uh convex hull generation so before it would generate a very detailed convex hull which was good because it's more accurate but instead it now has a more efficient algorithm so the nice thing about this is you can see here the original mesh of 4000 or 40 000 vertices if we come down here you can see it is now getting your convex hall of 56 vertices so when you are doing your physics calculations you only have to worry about calculating this information and not this information so it's a really great change because it's going to make your guys's 3d physics a lot better than what it was another big change is they added in 32 collision layers so that's really cool it basically means that now we can have up to 32 collision layers so um you know 16 is not very many and having 32 makes everything just simpler for us so they added in dynamic bvh for godot physics 2d which should allow us to have a much more reliable and better performant 2d physics engine so that's going to be a huge boost of performance for those of us who are using physics inside of our godot 2d projects and in the godot 3d physics side they did a bunch of improvements to help with performance and to help with some optimizations to make it run better so these are all welcome changes and i'm happy to see that they you know they're still putting in these changes now if we scroll down the next section is the asset pipeline and they now support exporting scenes as gltf so the nice thing about this is you can now export out your scene as gltf and let another application like blender or unity or really any other program import it and use it for whatever you may need so it's really useful if you run through and build your entire level in csg meshes then you can export it and bring it into blender and then start filling in the details with blender and making it look nice and then you can re-export it out of blender back into godot so if you guys want to see how this works i have a link to my godot godot 3.4 rc 2 video where i talk about this feature in more depth and i show you how it works this next change lossless webp encoding is huge so this format is an image format made by google it is a way more optimized version of jpeg and png it has a better decompression time and it's smaller than png so the nice thing about that is while your import times might be a little bit faster your entire project as a whole is going to be smaller and your loading time will be reduced by a lot uh some people have been benchmarking it and saying that it's lopping off about 20 or so of time which is good i mean so if something's going to take 100 seconds to load that means that the webp on average is about 80 seconds and it's also been reducing the size of that uh image by a good solid almost half so it's a really good feature and it's definitely worth the change for everybody inside of godot the next major change is a new theme editor i am going to go ahead and make a video on this if you can't wait gd quest actually made a video on this but basically if i open up godot and i come in here and i add in a ui element we'll just go ahead and throw a control element in here if you come over here to theme and you click and you add in a new theme and you click on it you'll see that we now have this fancy little box over here and this allows us to do all of our theme edits for the most part in here so if i come in here i hit plus and i click on button you can see that we can actually change our stuff here before it was all in here and it was a really big mess if i open up whoops didn't mean to open that if i open up this and i go ahead and click on my banner button i go to theme i add in a new theme i click on it and i click edit add item and i add in a button add if i come in here i can now change my icon let me see if i can this is this is why this was a pain by the way if you guys are curious we'll say color so if i change my color to red see it's not liking it um yeah you guys can see how unfriendly this was let me add that there we go adding a class instead and then if i change the font color to something like red you can see now it affects it but it's all right here whereas the new system has it all right here so i can come in here and change my font color something like that i can say all right i need to change my you know my disabled you can come in here and say style box texture and you could click on this and then just drag in your icon and then go back to your theme and there's your change right there so it's a welcome change i think this area still needs a lot of work i remember complaining about it when i did my theming video and i'm gonna build a more in-depth video on this but it is better than what it was before i still think it needs some work though it'd be nice if everything was in here instead of in here as much as i like the inspector i don't like the inspector i think we need to actually have a theme panel that has everything in here instead of some things in here and some things in here we have some design inconsistency here but it is a welcome change the next big change is localized class reference this isn't super useful if you speak english but if you speak a different language like chinese or spanish or french german or japanese it will allow you to see the api reference in your native language so that's a good change for people who don't speak english and i think it's a good change you know the more people that can read our interface and read our classes the more people that are going to use godot so it's a good change some other general uh improvements they added in a quick load option in there to load resources from the inspector so this is really cool actually if i come over here and i click on my style box texture i'm going to add in a texture i can now click quick load right here if i click on that it will actually filter out my entire favorite section here to only show the thing that matches the type that that field is looking for the next big change is allow you to create a node at a specific position so if i go back to godot i can control right click here and i can add node here and i can add in like a control node and it adds it here instead of adding it up here if i right click up here and i add in a control node you'll see that it adds it here right but if i control right click add node here and i add in a node 2d you'll see that it added it right where i right clicked so this is great for when we're doing ui designs instead of us needing to you know create the node move it to where we want it and things like that we can just control right click and then go ahead and add our nodes we can also instant scenes and you can see if we instance a scene i could actually instance the scene into that location as well so it's a really good change especially if you're doing a lot of population of like enemies and things like that you could just control right click instance you're right enemy and you're good to go instead of doing it the previous way so it's a good feature the next big change is the new export templates manager most of you guys are probably not going to use this but if you guys go up to editor manage export templates you can see that we got a whole new section here so you can actually see all of your installed version of your export templates you guys can see what your current version is you guys can actually download and install your export templates or you could just install it from a file so this is a big usability improvement compared to how it used to work if we go back to the older version of godot if i go to editor manage export templates you can see that it just shows you what version you have installed and you can re-download it or uninstall it and that's pretty much it and as much as this is great it's not definitely not as good as the new way of doing things right here so it's a welcome change that is going to be way easier for those of us who use lots of export templates it'll make it way easier for us to work with the next one is make several actions in inspector dock more obvious i can show that one off as well if i click on like my control note here and i come over to my right you can see immediately something is different with your inspector it's not quite noticeable if you don't look at the previous version but something has changed over here if you actually open up godot 3.34 and you pull this back a tiny bit you can see that some things have changed here so the first thing did you know if you click on this it'll actually show you the class that this thing came from right so this one has theme inside of it you said there's a theme right here did you know that actually existed because i didn't know it existed i never even knew this exist it just never crossed my mind you know and did you know if you click on here you can actually open up your help that will actually take you to the godot documentation i didn't know that either so this is stuff that was kind of hidden but now with the new version you can see you have this little down arrow here and you can see that you have all of the themes and all the things down here so you can actually click and it'll take you down to those sections you can actually come in here and say texture and now you can see the texture you can back up and you can click and go to theme and you can now go right straight to your theme and it just makes good o way easier to use whereas previously i didn't know even this even existed it didn't even look like it was something you click on and also they made the doc button very much apparent now so you can just click it and get the documentation which is a welcome change in my opinion the next big change is they improved the 3d editor manipulation gizmo so if i go see new scene i added a 3d scene you can see our little 3d manipulation gizmo right here um the major changes if we actually go over to godot and we go and add in our 3d manipulation gizmo you can see that the lines are smaller so you can see how they're smaller you can also see that there's no little box in there and the little box is kind of like the um the spatial nodes uh rotation so it's like a little fake box that you can see what the rotation is of the spatial node so it's really useful and they did some other improvements where if you just kind of hover over the general area it'll actually let you move the object same thing with um if a 3d object exists you can kind of click in the general area and it'll allow you to move it so it's a really nice change and it definitely will make a dough a little bit easier to use for 3d users and they did some improvements to the animation bezier editor but i can't get any of the snapping stuff to work so i guess your mileage may vary but according to the godot devs if i go ahead and click on it they did some snapping of some bezier handles they allow for precise snapping they did some readability changes and they made everything a little bit more consistent which is good the next major change is the animation reset track so this is cool and basically it allows you to have a reset value that is the default value that the scene uses so what's nice about that is when you create an animation so if i go to animation player and i add an animation player and i add in a csg mesh um if i add a csg mesh and i go ahead and i click on my animation player i added a new animation new anim and then i click on my csg mesh and i go ahead and put in a translation use bezier curves you can see that we have a new reset and this reset is what is defaulted when you save your scene so you will no longer have to deal with you dragging this over so if i kind of drag this over here and i let's put this at one oops put this at one drag this over here then create a keyframe so now i got an object that's moving to the right if i go to my reset animation it will always be the same right it's it's always the first keyframe of my animation so the nice thing about this is if you set values or things like that with your animation player like i do a lot of times when i do my stuff this reset will no longer affect scenes above it if that makes sense so if i forget to leave my animation on frame 0 it won't affect scenes that use this scene if that makes sense because previously it would save that hey you know they were on frame point zero six so when you play your game it starts from point zero six whereas now it should start from the beginning and it will solve a lot of small problems that godot was having they added a 2d viewport scale factor now i can't find it in the project settings i was looking for it earlier but basically if i can find it what it does is it allows you to have a scale your interface by a value so basically if you're on a higher resolution screen godot had some issues where the it wouldn't scale proportional to the size of the screen necessarily so sometimes your ui elements would be smaller than what they should have been so this basically allows you to have it auto scale to a specific value for you to make it so that your user interface is a little bit more readable than what it used to be so it is a welcome change and you know honestly i think it's i think it's going to be useful they did some changes to the csg polygon so basically you can now do angle simplification some uv distance changes and path intervals i've never used this so don't quote me but basically they just added some additional stuff where you can subdivide your path and instead of it subdividing the entire path evenly it'll subdivide only the sections that need to be subdivided so if you have a straight line it won't subdivide it but if you have a curve it'll subdivide that section instead so this will make it a little bit more efficient it'll reduce the amount of polygons that you need to create your bend in your polygon and that's basically it i mean there's a lot more changes that they have but that's the primarily big changes that's going to be going into godot um so it's a huge change and there's a lot of cool stuff one of the things that i wish they would have shouted out is you now need java 11 instead of java 8 and they did update a bunch of android sdk stuff so it would be nice if they would have called that out but that is something else to keep in mind if i actually go out to the exporting android section here they actually changed your android sdk version and ndk version to be a newer version they also require open jdk 11 they used to require open jdk 8 if i remember correctly in my previous tutorial so i'm probably going to need to update that tutorial to account for all of these changes but that's something to keep in mind is if you upgrade to 3.4 make sure you upgrade your sdk and you upgrade to open jdk 11. so what do i think about all of these changes honestly i think they're all pretty welcome changes um i know there's a lot of people who think that a lot of the changes that are happening in godot 3.4 and soon to be 3.5 is a bad thing because it's taking away from godot 4 development and i can understand some of the frustration in that but i do think that it's good for us to address some of three point x's problems right there are problems that godot three has that is great that they're fixing and there are a lot of people out here that have production code out there that you know needs to be reliable and there are people out there that have shipped apps with the godot 3 system so for us to completely abandon the 3 series in favor of godot four in some ways is a bad thing but i can also see where people are upset because you know godot four has been in development for a long time at least as long as i could remember for at least a year and you know i can understand some of the frustrations there but what do you guys think do you guys think that uh this is a good release do you guys think that um godot 3-4 is is a bad thing let me know in the comments below because i'm more than interested i want to i want to have a good discussion about this and see what you guys think but that's all i have for you guys today so if you like this video go ahead and hit that like button hey you know if you dislike this video go and hit that dislike button because i am here to make content for you guys and if you guys want to discuss this in a more longer form conversation go ahead and hit me up on our discord link is in the description below i'm more than happy to talk to you guys about just about anything you know i always like hanging out with you guys but that's all i have for you guys today so thank you so much again for watching and i will see you all next time thanks [Music]
Info
Channel: FinePointCGI
Views: 1,272
Rating: undefined out of 5
Keywords: godot, godot engine, godot 3.4, godot 3, godot tutorial, godot game engine, godot 3.1, godot 3.2, godot 4, godot engine tutorial, godot 4.0, industry news | godot 3.4 new features occlusion culling and more!, godot 3.3, godot 3.0, godot beginner tutorial, godot game engine tutorial, godot engine getting started, godot 3d, godot devlog, industry news, godot 3 course update, godot android, godot inventory, godot explained, godot game devlog, godot shooting game
Id: Ratv4wWftHc
Channel Id: undefined
Length: 37min 35sec (2255 seconds)
Published: Wed Nov 10 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.