Bevy 0.13 -- Rust Powered Game Engine

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello ladies and gentlemen it's Mike here at game from scratch and today we are talking about Bevy now Bevy is a rust powered game engine they just released Bevy 0.13 what you see in front of you this is a 3D scene running showing uh the lighting and rendering capabilities of Bevy in action I'll just keep this going while I talk for a bit I'll also show you where you can go ahead and get this scene if you'd like later on uh but yeah Bevy uh 0.13 was just released Unfortunately they actually released things on a weekend uh especially on a long weekend which is why this is a little bit late to cover they're literally the only game engine out there that does that uh and basically nobody watches News videos on the weekend so this is coming to you a little bit late uh but Bevy 0.13 what exactly can you expect in this release and what is Bevy all about in the first place well first things first this is Bevy Bevy is available at Bevy engine. org this is a rust powered game engine it is Data driven right now it is a framework only but as you will see in a couple of minutes we are looking at uh creating an editor they're basically doing some experiments and works in progress to make that happen and as you can also see from some of the new features here they really need an editor because they're adding a lot of like baking and light mapping tools uh that you have to do externally right now you might have to do them in blender for example to get things to work and they definitely need to move this functionality over but it's full 2D 3D renderer PBR workflow customizable render graph uh you've got full animation support in there it's available for Windows Linux Mac OS IOS and Android I believe those two were just added in Bevy 0.12 so we're One released past that uh a full UI systems in place it's got an ECS or entity component system as the underlying control structure but there's also a world system that you can use for loading and saving of levels so they've got all of the plumbing they need to create a level editor they just haven't got the level editor yet uh we got things like sound we've got hot reloading functionality in there uh it does compile fast again it is rust based and this guy is 100% open source under the permissive MIT or Apache licenses both super straightforward cost you nothing to use Bevy uh which is a very cool thing so that is Bevy the overview again Bevy engine. org if you want to learn more about that but we're talking specifically here about Bevy 0.13 and we're going to do the tldr summary here because there's a lot here 672 pull requests 198 contributors overall uh they have some guides to move from 0.12 to 0.13 if you are doing the migration but here is the tldr on the new functionality so we've got a new light mapping system again there is no light mapping baked in because there is no editor so hopefully this is one of those things they get an editor for so they can have the light mapping tools built in but you can currently Bake Light mapping there is a tool out there called the light mapper which enables you to bake light mapping that you could then use here uh this is a way of doing Global illumination on scenes that don't change uh so light maps are faster than Global illumination like real-time Global illumination Solutions uh and but they're they're pre-baked so it's a pre-cooking process you run your assets through a light mapper uh but they now support that on top of that they also support a baked form of global illuminations in the form of Radiance volumes or voxelized Global illuminations once again these need to be baked in another program such as blender and this is one of those things like for example gdau has voxelized Global illumination as well but it has the tooling built directly into the editor so we're starting to really run up against where you don't have the the limits of not having your tooling cooked in uh pun not intended uh so we got approximated indirect specular occlusion so improve lighting realism by reducing specular leaking we'll see an example of this in just a second reflection probes a baked form of axis aligned environment maps that allows for realistic Reflections for static geometry once again baked externally once again really could use that built-in Level Editor to get this stuff in there the other cool thing is we now have a primitive shape so you've got the ability to do uh kind of quick easy things like spheres rectangles cubes and so on uh and then there's also a new mesh baking system that takes advantage of them uh they've got system stepping this is is a way of basically again this is an entity component system uh engine here and if you need to run your game logic on like a frame by frame step-by-step basis you can now do that there's also a new breakpoint system in here as well and then on top of the ECS one of those things when you have all of your world organized into this structure is you're going to need to have a way of query querying them uh so there is a new Dynamic query system here so you can uh do uh runtime types uh searches uh there are some downsides to this it's probably something you don't want to use unless you very specifically have to do it but there is now support for dynamic query uh which will uh allow you to do runtime defined type querying as well uh automatically inferred command flush points uh we're getting into the world of uh rust here that I'm not that competent in so I can explain to you uh the overall advantage of this uh but now Bevy schuer uses ordinary and after constraints and inspects the system parameters to automatically infer and D duplicate synchronization points and then we have nine patch system nine patch is a uh popular image format often used for uis that have to scale um you kind of render a 2D image from nine pieces so top left corner top right corner top frame side rail bottom rail bottom corner each point and then allows you to scale out kind of whatever the contents are inside and it's going to look nice and consistent so they now have support for slic and tiling and nine patch 2D images uh we also have camera driven UI so previously you had like a single UI layer in all your UI elements were relative to it so if you had a single viewport no no issue at all and frankly it hasn't changed but as soon as you had like two cameras for example for split screen doing UI layout in them got quite difficult now there is a UI layout basically per camera which makes life much easier to work with and then we've got real world or realistic control over camera exposures via ev00 f-stop shutter speed and ISO sensitivity and lights have also been adjusted to make their units more realistic so if you using Real World Lighting and um F stop settings shutter speeds and so on which controls you know the amount of light that comes into each shot or each frame of the camera that kind of thing uh it is now implemented in this and then we've got animation interpolation modes so Bevy now supports nonlinear interpolation modes in exported gltf animations so that is the tldr there's a lot more detail about all of these things again you do have light map Bing baking but you do need to use an external tool there is a link to one for example here the light mapper which is a tool that can bake out light maps for you that you could then import into Bevy just one of those things to be aware of ditto for the radiance volumes and voxal Global illumination there's an example of it in action so you can see here as this guy moves around watch when it goes specifically over the blue you're going to see some of the the light basically bouncing o over to the sphere so here we go see getting a little bit of the bluish tinge a little bit of the green a little bit of the red and a little bit of the purple as it go so basically uh that is your um Radiance volumes coming out again this does need to to be baked in an external program uh reflection probes you see the action in there uh the indirect specular reclusion you can see the results of it right here so look at the spring as an example watch what happens to the spring with specular reclusion on so it it gets rid of like some things just get over lit I guess or over reflected and specular occlusion is kind of getting rid of that the spring is the most profound example you can see it in some other aspects of this demo uh but definitely the spring makes it the most obvious exactly what is happening here uh and then again we do have primitive shapes a number of them so rectangle Circle ellipse triangles uh poly lines capsules and so on and then we got 3D things like cones and spheres uh and cylinders and so on uh and then on top of that there is the ability to um rendered in the new rendering Primitives example is available out there and there is a new meshing uh so this enables you to mesh down your your shape out to um a 3D mesh I guess you want to store to dis or whatever so you can see some of the 2D and 3D shapes in action and what they look like there makes definitely prototyping easier going on uh P primitive is going to also be rendered with gizmos uh and then we've got bounding volumes uh we've got access aligned bounding bucks uh 2D and 3D a bounding circle and a bounding sphere also have a ray casts into those bounding volumes which is quite nice so again Ray casting and volume casting into those volumes uh Bounty volumes is definitely one of those things you use quite often so if you're defining certain areas room or triggers uh you're going to generally use a bounding box D thing if you're doing overlaps or Collision checks that kind of thing uh here is that stepping system here for walking through the system kind of gives you the ability to do a debugger style execution of your code right up to including there's also break points so step and continue frame there uh and then breakpoint system in there as well and then yeah there's there's actually like again a ton going on here uh the changes to the camera so shutter speed ISO um sensitivity and aperture have been implemented so you can see the results of uh when you change it so EV 100 it's pretty profound so obviously it's letting a whole lot less light into it whereas um yeah there there's the two different examples and more on it there breakdown so if you want to do the UI thing it's now pure camera so you can lay things out relative to each camera again if you only have a single camera it's not going to make a difference but if you're making a split screen Style game that is an important thing to say here is your example of uh nine patch the different modes available but basically there's your your base texture and it's sliced out and cut so it gives you the ability to like do things like uh frame a UI control uh in a device independent way so you can see scaled to all different sides for a button but the corners each of the 1 2 3 four five 6 7 eight I guess nine is the middle those are the various different pieces so here here here here here here here and here and then it scales it as you need it so that is now implemented in here as well I'm going to scroll down here to the bottom there's definitely much more here the including the new query system and so on uh but what I want to talk about is a little bit of their future talk stuff oh by the way this uh asset that I used in the demo uh is this one right here it's the San Miguel uh example right there I'll show you where you can grab that in just a second but there have been some performance improvements uh between bev. 012 and 013 uh not not going to set the roll on fire but you're seeing there like 5 to 10% type improvements depends on the scene that you're looking at um but yeah yeah so let's go on down here to the Future section as you can see the read me goes into a ton more detail of what we covered but we go into what they're looking at in the future going towards 0.14 uh the one big thing so uh the list of work is available in the Milestones list there but they do have a number of different experiments going on for an editor uh in fact this one the Bevy editor is actually available you can run it it it's a working full functioning thing as well uh but we had a couple different approaches to how they're going to do the editor if they're going to make it uh standalone or if it's going to be an embedded uh into the executable kind of thing uh so yeah if you're interested in learning a little bit more about the future of Bevy uh they have a bit of a talk here and then once again they do have their Milestones list where they're going to be looking at the various different features that they are looking at doing and where they are in terms of those poll requests so that is going to be Bev 0.14 probably in about 3 months time uh but if you are waiting for an editor uh don't worry they are working on that and as you saw from the Tooling in this example you know with all the new light mapping and and voxal illumination and such that they need to bake use an external program they're kind of hitting the point where not having a full integrated editor is starting to hurt them uh and you know needing to have all these other tools to take advantage of these features is annoying so hopefully this is something that starts happening very soon uh again the example that I got here is the Bevy San mguel Scene It has been uh exported specifically for Bevy you want to go ahead and check that one out it is available up on GitHub uh there's also uh you can grab the obj format versions or you can log into their Discord and grab the gltf versions which is what I use it's got slightly better foliage examples and that's about it so ladies and gentlemen that is it that is uh Bevy 0.13 again this is coming a little bit late because once again bevie is the only engine out there that releases on the weekend when absolutely nobody's paying attention and on top of that they released this time on a long weekend where especially nobody was paying attention especially in North America that is so a few days late on this one but bie 0.13 what do you think let me know in the comments down below and I will talk to you all later goodbye
Info
Channel: Gamefromscratch
Views: 19,449
Rating: undefined out of 5
Keywords: Rust, Bevy, Bevy Rust, Rust Bevy, Rust Game Engine, Rust Engine, Bevy Engine, Bevy Framework, Bevy 0.13, Rust Game Framework, gamedev, game development, gamefromscratch, game engine, game framework, rustlang, #gamedev, #rust
Id: 73NjjNxZBEc
Channel Id: undefined
Length: 12min 32sec (752 seconds)
Published: Wed Feb 21 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.