Hello @cartdev (and @NostraDavid2) Out of curiosity and what is done out there, did you ever looked at the Open Source 2.5D ORX game engine before? It seems very similar in approach and shared philosophy, or maybe something you got interested in with its already data driven concept from when you built Bevy? Purely just curious. Long and best of life to Bevy and its community and games!
I... kinda wanna use bevy to make the bevy editor now. As a developer interested in building tools and making useful and ergonomic UIs, this is right up my alley.
Bevy is so straightforward to understand, it's the first open source project I've had pull requests merged into. If you're looking for a way to dip your toes into the deeper parts of Bevy, just go through their issues page and see what you're interested in!
I got used to working with XNA in C# and making my own engines. That’s the mindset I had when I dipped my toes in bevy, and it completely blew me away. All platform-specific code, rendering, input, audio, being taken care of and abstracted away is a literal game changer. The simplicity and power of the query system is absolutely wild. And the fact that everything is modular AND WORKS MULTITHREADED is insane. It feels like this framework shouldn’t exist, yet it does. Big hats off to cart, he’s doing an unbelievably excellent job.
Post-Bevy Mew here, just wanted to say, while Bevy is incredible, it’s far from complete. If you want to experiment quickly with game ideas, Bevy is a good choice since you can just start coding your game straight away. However if you’re more of a manual guy, or if you don’t think ECS is a good solution for your game, prefer using something else (like for example MonoGame). But in the end, engine choice should come last when designing a game, since the engine you choose kind of dictates the type of game you’re making.
Woah, I didn’t expect to find an ancient XNA user here. I used to make 2D games with it, and I remember having to implement the collision detection system from scratch. You just convinced me to try out Bevy
The best part about Bevy is that it's Free and Open Source, just like Godot! You say that Bevy could be the future of game development, i say that Free and Open Source software in general is the future of game development :) . Just to name some things: Linux in all of its various flavors for your OS, blender for 3D modeling, proton-powered gaming, Ardour for a Digital-Audio-Workstation, Audacity and its Forks for more simple audio editing, Gimp for image editing, KolourPaint for very simplistic Bitmap Image style editing, OpenOffice and Libreoffice for creating various office documents, Godot and Bevy for making games.... and this is really just all scratching the surface. For many, parts of this list alone would be a complete software suite to develop music and games with.
@@ninetysixvoid Well there is something i missed! I know i missed a lot of programs, I'd love to see this thread become a list of great open source software that people use.
Also OBS for making videos as an example of industry standard foss software. The model is just superior in all regards, except maybe design sometimes? But that's just all good designers are Apple fanboys rip
Nobody never mentions any software for 2D skeletal animation with advanced features like spine or dragonbones, it's the only thing I'm missing and I feel trapped into using engine specific tools for it
It's kind of crazy how iyes-loopless (scheduling similar to schedulesv3 before that was available), aery (relationships) and bevy_trait_query (what it says on the tin) can exist as third party plugins despite doing things that seem like they'd have to be fundamental parts of the ecs.
Started learning Rust last week. It's been so long since I actually enjoyed programming. Hopefully the lack of having to fiddle with an editor in Bevy will keep the spark in me. I've gotten ok at Unity but it has just gotten so tedious to make anything in it after many years of working in it
One thing became abundantly clear while watching this video: Way too many things are abbreviated in Rust. You say you can easily understand other people's code, but I can't even understand my own code. Things should be self-describing, not require me to read or write docs to understand. It's the 2020s. We don't have 80-column terminals anymore. We have HD monitors and TVs capable of displaying hundreds of characters per line, and code editors and compilers capable of writing and reading wrapped lines of code quickly and efficiently. We don't need all this abbreviation!
@@clonkex Oh, it has things "we don't need"? I'm interested on that, been programming in C# for the last 7+ years or so, and now I'm programming also in Rust. Can you and the other guy please name some of these "abbreviations" Rust have that are so spooky?
I love both Rust and Bevy, but personally I think it's direction is one more similar to a framework for making games than an engine. Bevy will be the go to when you want to make something super customized, build your own engine with it, then make the game on top. While it is nice that all is made in Rust, I wish I could do more with less Rust and have something like a game oriented scripting language that does life a lot of the work that I'd have to do in Rust.
@@Noone-we9vb Sure, the difference is between the features, for example a game engine will allow you to add an animation for a character and add movement by using the features, while in a framework you have to code those yourself. A game engine allow you to connect stuff easier while a framework needs you to code that. For example AI, a game engine would allow you to set up a new AI in few minutes while a framework will have code all that yourself. The difference is a bit subtle though, Bevy is a spelndid framework, but I will have to implement my own path finding for example (unless I am wrong and it already does that)
@@c64cosminbtw another question. In this video it was mentioned that one game has custom game engine and it uses bevi only for ECS. Can you do the same for godot engine? Or it will be too troublesome? I understand that you might not know, but im always glad to ask questions )))
I'm not sure if I personally believe a bevy standard level editor would be a good solution. Feels like it'd almost instantly inhibit the productivity that the plug-n-play nature gives it, or it would make writing those plugins harder because it adds another layer of integration. And then, a from scratch level editor itself would be so annoying for a developer to fit to their needs that it becomes a rigid editor like Unity's and Unreal's. I haven't begun implementing it yet, but the optimal solution to me seems to be using the powerful scene tools bevy already has and building a lightweight external plugin to use Blender or Maya as your scene editor, so that game developers can also very quickly extend the plugin to match their game's features. And, this way you may avoid constant back and forth between your various tools, letting you make adjustments to the level on a fly with the precision that blender's modeling tools offer you (and that no level editor to this day can match).
I think an editor can work for bevy if it doesn't try to do everything like the unity or unreal editor does. Just a very basic editor + a simple but powerful api to extend it and let developers create their own editor tools is all I think is needed. (There already exists a library that integrates blender like you describe btw, don't remember the name though)
I haven't used bevy yet, but what about artists, sound designers, level designers etc? How would they work with the engine? Most are reluctant to even code in languages like lua or python, let alone rust.
@@askeladden450 Ideally there would be a tight third-party integration with blender. Blender/Max/Maya are easily the best 3d editors that exist, and most official editors are, to be honest, rather bad to work in, and create a gap between authoring tools that just doesn't make much sense. If someone designs a system where asset and level authoring can be done independently of code, then that's what I think the best case scenario is.
You got me with the "turtles all the way down" part! I use C# for web backend stuff at work and being able to inspect into the library code at a breakpoint is so necessary for diagnosing more complicated problems. When I started looking at game engines I went through all the 3D ones with C# scripting and found that they really mean the "scripting" part with only partial and surface level language support. Except Stride3D, but that has other deal breakers. I was already curious about Rust (no relation) and this will motivate me to finally learn it. (also I really liked XNA back in the day and I'm starting to think it was actually the code-only approach because integrated editors like Unity and Godot just never clicked with me)
I am a huge fan of the Bevy project. I check out news about it as soon as it's out. But I will wait for Bevy to become the future using feature complete engines. And when the glorious Bevy future finally arrives, I'll start learning Bevy and Rust.
I racked my brain trying to comprehend ECS in Unity and FLECS and it still didn't stick. Within about an hour of twiddling with Bevy I finally got it. Much love to the Bevy devs, your implementation and documentation of this concept is ace.
Bevy is just an amazing enigne, sure it's not as feature complete as something like Godot, but I feel it will get there eventually. (And it's probably the second easiest engine/library I've found in Rust, the first being Macroquad.)
Great video, thanks for explaining it so well! Just started making my first game in Godot, when I suddenly learned about ECS. Since I love Rust, I was extremely tempted to switch over to bevy, but the lack of an official editor is a deal breaker for me as a complete beginner. I could do it the hard way, learning game dev entirely with bevy. I'm sure that would make me a better dev in the end. As complexity grows, existing abstractions you import through frameworks become too limited and you need to dig deeper. In Godot I already had to ditch the particle system and handle that myself due to engine limitations. That's why I love love love that bevy has such loose, almost nonexistent boundaries between the game engine and the game you make using it. If it's all Rust, it's so much more ergonomic! I'll definitely start learning bevy relatively soon! But for now I'll stick with the extremely helpful GUI the Godot editor gives me!
I call Bevy a "game framework" instead of a "game engine". Frameworks are programming based and mostly deal with just code and has functions and code set up to make building a game easier. If a person wants to put something in their game, all they'd have to do is call the function that could readily make it happen. But, game engines come with an editor, may deal with code (traditional or visual); are more visual and have visual plugins, buttons, etc. to speed up game development and make game development easier too. It's like the difference between Phaser.js vs Godot, Raylib vs. Unreal Engine, Bevy vs. G-Develop, BlitzBasic vs. Flax Engine, etc. I hope this makes sense.
Oh this looks cool! Been looking for a Unity replacement for... reasons... to do my little side projects in. Godot and Unreal are both great, but playing with something more streamlined and hands-on with the actual engine code sounds really cool.
Best part is that Bevy is Free and Open Source like Godot is, so it's another great option for breaking away from commercial options and getting away from using an engine you have no control over... which may appeal to you for... reasons. Good luck to you!
@@Boxing_Gamer love to hear it. Bevy or Godot? This incident happened at kind of a sweet moment for Godot. Not too soon, not too late. it's late enough in its development to win over a lot of unity devs, but also early enough to provide a massive boost to its development that could potentially skyrocket it both its development and user share.
@@dimvolythere are many ways..of course you can probably do something like that in unity, but I just feel like unity even an empty project has 5 seconds start up time
In my personal point of view, i'm more attached to an engine that have an Editor integrated to it. Gamedev today is a hobby for me. I quit unity and i'm with Godot now. The data-driven model is what i want, but i really want an engine with a more visual first look to easy things out, instead of having to research, source and compile plugins together in order for the engine to have an editor to only then start trying out some projects. Sorry my lazyness, but it is because of the time i have to do gamedev and not enginedev. I will keep an eye on Bevy for new releases. When i see that the Editor is integrated to the main source, then i think i might try it out.
It looks like they are finally laying the groundwork for that now. The UI and scene system (critical blockers for getting an editor working properly) Are FINALLY receiving the project leads full attention. Once that's in a decent state they plan to start working on the editor proper.
I have been using Bevy( and Rapier) for the first time, absolutely mindblowing how simple the syntax is, I understand why people like rust! Unsure if I will make a project in it, mainly due to scaling issues, and the compile times slowing down my ability to incrementally learn, haven't created my own project, just edited someone elses example project to basically get the gist of it. I may give it a go, although performance is the only reason I would want to use bevy, as I want to see how many entities could be spawned with physics and AI in a 2D top down horde game. I think I got to about 2000 before it seemed to go quite slow with the project I was working with.
they have physics(Rapier),collision, hitboxes and also die and respawn, they also have instantiated hit damage numbers, I also didn't code this ECS solution I am talking about. It's hard to see actual performance for finished games. Its easy to spawn 10K entities that don't really do anything, it's another to give them AI and all the other features and also your own player and try to keep that same performance. but when you start getting into finished products for horde type games, engines used start to suddenly funnel to either Unity or C++(Sometimes Unreal), I have tried Godot and Unity, so far unity's ECS seems the most advanced for building full featured indies. I am hopeful that Bevy gets an editor made, would be a terrific alternative to Godot. I have by no means tested Bevy, this is just anecdotal based on my own experience. But with all the same features I got to around 3000 with the same features in unity with barely any optimisation. @@ultimaxkom8728
Very under-rated channel. I've been learning Unity, Unreal and Godot for a couple months but being a long-time Python/C# dev, I've kind of been battling internally between preffering the c# language but how intuitive the Godot engine is, and the cool features like nanite in Unreal, and not liking the c# version of Godot 😂 Maybe i should give Bevy a try too? 😅
Dude. You won't believe it. Rust has piqued my interest before and I was considering learning it, but I didn't quite knew for what I should even use it... Now you come with this, it sounds really nice, and USES RUST. LETS GOOOO
Everyone seems to forget O3DE exists when doing the usual open source game engine talk. The codebase has been seriously battle tested and it is modular as hell. Still, bevy seems like a cool framework. I don't know if it will be able to rival the literal decades of manpower poured into O3DE though.
Great vid, as always! Also, this is true for me, I'm a little bit scared (yet intrigued) by Bevy, mainly because of the Rust programming language and the lack of a visual editor. One day maybe I'll jump in and try it, especially if the editor is announced and I guess I will have to learn Rust then. Maybe it's not so bad...
@@Boxing_Gamer stop being delusional. Bethesda uses the Creation Kit editor to create maps for all their games, and also provide the same editor to modders. The same thing applies to every professional developer. Or did you think a programmer would spend thousands of hours "coding" object coordinates and rotations inside a text editor for level design?
@@deathtidegame Not all games need an editor, but your right levels of a certain size does. I just dont think the editors in godot and unity are up for the job, a game with more than average complexity needs tailor made editors. Hence, the build in editors become obsolete
The tech looks really amazing and I'm always in favor of data oriented/declarative approaches but unfortunately it's really very far away from being ready for "serious" game development (from what I can see). I mean there are not even bundled, native dev-packages. And no, installing everything with a shell script isn't gonna do it. Programming is just a small part of game development and you really, really need visual tools. I mean how else do you want to do even the simplest task like designing a level? Of course you can code it too, but who has time for that if you really want to publish a game? Typical engines have just soo much stuff packed into them that makes development easier like editors for scenes, materials, animations, audio, meshes, colliders, etc. I'm for sure not gonna code all that by myself - doesn't matter how extensible or great the engine itself is. Anyway, I really hope for a great future for Bevy though and hope that one day it will be a complete package for game development.
I'm not sure what you mean "native dev-packages". Why would you need a shell script? Rust has built-in support for package management through the cargo/crates system, so you just configure your Cargo.toml file. Obviously it needs an editor. They're working on it as a priority. It has taken a while because they needed to get the engine in a suitable state first (because the editor will be built in the game engine like Godot, so it needs good reflection, serialisation, UI support and scene structure, all of which have taken a while to mature). Btw, I'm not a Bevy fan. I don't even like Rust that much (although the concept of compile-time-defined lifetimes is very interesting!). But it seems pretty silly to point out that it's not ready for serious projects yet when no one's saying it is.
@@clonkex Native dev-packages = a .dmg, .exe, etc. installer. So you just download the SDK's and apps and install them through an UI. Of course Rust hast cargo/crates but not everyone working in a game-dev team and using the engine will be a developer. That's completely not how game development works, where only a minority are usually developers. The reality is that most people don't care about the tech behind an engine but how productive you can be with it. I am actually a HUGE Rust and Bevy fan btw, just pointing out what's holding me (and probably a lot others) back from using it. I'm very well aware that Bevy is in it's early stage but there is nothing silly about pointing out what's still missing, especially when it's that fundamental and when you consider that the title of the video is "Game Engine Of The Future".
@@artxiom So you mean a graphical editor, then? That's what that's called. You have the game engine itself and then you have a separate tool for authoring content to be loaded by the engine. That's not part of the engine. A graphical editor provides tools to author, edit or arrange content, gives a nice view of the project and allows you to compile and run the game. It may be a requirement for any serious development but it's _not_ a fundamental part of the engine.
@@clonkex What you not say... 🙄 Yes, of course I'm talking about an editor. The separation between a game engine and an editor is artificial. Heck, even the Wikipedia definition mentions explicitly an editor: "A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs such as a level editor." So it is also a part of the engine. Of course it's not a fundamental part, but then very little is. Like ECS for example, it's also not fundamental, so why even include it...with your logic? That's how software development works: you define the scope and features of your project. My point is: there is a reason why all successful engines nowadays include an editor. Game dev does this since many decades(!) or so because it turned out to be the most effective way to work with game engines - for many reasons. So is it really necessary? Of course not, but then if you want to get out of the toy phase and grow into a mature engine then it's kinda non-negotiable. I can guarantee you that there are a lot of people who would like to try Bevy but won't simply because there is no editor. But of course it all depends on what the goal of Bevy as a project is - do they wanna stay a niche project or grow and cater to a bigger audience?
@@artxiom Regardless, my original point stands. The video is saying this is the engine of the _future_, which it may well be. It doesn't matter that there's no editor yet because they're working on one right now. No one's claiming the engine is ready for serious teams to use it.
Creating editor is not easy since the bevy is early stage and there will be break changes but there are already simple ui editor create by users. Basically there no bloat ware just need user plugin to add on your own plugin. Plus there some different how you code to save and load data. Plus if there is UI change again it would break changes and others.
I never heard about this engine before, I've been trying to figure out what new engine to make games in since Unity went down the drain, and honestly this seems awesome. Thank you for turning me on to it. Time to learn Rust lmao.
I’m sold on Bevy! I’m looking for an engine where you can be relatively close to the engine source code, while also not being so low-level that it takes a while to do common tasks. I’ve been developing a game in SDL2/C++ and wrote a little game engine, but I’m better off using a more mature game engine if I want development productivity and performant code :)
thank you for this new refreshing video, full of great advices. One question: you named Tiny Glade, and yes it is totally beautiful: why can't I find a Bevy game or project with decent graphics (Tiny Glade graphics not being Bevy based)?
Well there aren't a lot of Bevy games in general... Still, Bevy's 3d rendering is pretty basic at the moment because a lot of focus lies on the fundamental framework of the engine like asset management, ECS-scheduling etc. There's a lot of stuff happening with rendering though and it gets better all the time. Some people are working on GI-systems similar to lumen for instance.
Most people don't want to write Rust though. It's a great language for writing something like a game engine, but not for writing actual game logic, or anything else that doesn't require the tight safety and security it offers. Why would you pick something more complex to make a game just features that don't matter very much(if at all)? Godot added GDScript to make game logic simple and easy for the vast majority of users, but it still allows for C++ code when lower-level control is necessary. And it officially supports C# too, which has become a standard for game dev. imo GDScript should become the standard for open source game engine scripting. And if Microsoft wants to fund Bevy to add C# too like they did with Godot, then they can do that.
> "The game engine of the future" > Doesn't even have native particle system / Graphical Editor to edit scenes and so on that is not much "future" thing to me, but i really hope that it envolves in a good way.
From what I've seen of this engine, I don't think it's ready for production. for a hobbyist it is a good choice, but if you are really interested in making a serious product it is not the right choice, you will have more work in "building" the engine than in building the game without having a real gain compared to other engines on the market. but to play with it it looks fun.
Creator / project lead of Bevy here!
Thanks for making this video! You did a great job of outlining what we've been building and what we're all about.
Aye aye, captain! 😁
One like for your Work ! Thanks for Bevvy. May God guide You !
Hello @cartdev (and @NostraDavid2)
Out of curiosity and what is done out there, did you ever looked at the Open Source 2.5D ORX game engine before? It seems very similar in approach and shared philosophy, or maybe something you got interested in with its already data driven concept from when you built Bevy?
Purely just curious.
Long and best of life to Bevy and its community and games!
Can you give us an estimate of when the editor will be integrated or native for the Engine?
whats the very first game clip you showing at 0:00 ?
I... kinda wanna use bevy to make the bevy editor now. As a developer interested in building tools and making useful and ergonomic UIs, this is right up my alley.
I’m all for this. Please send the repo 😈
@@juliansvidal You think too much of me. I've been too busy, but I've been keeping an eye on it though.
@@Metruzanca lol I figured. Just sending words of encouragement :))
Godot did this. Godot was created in Godot
@@FlummoxTheMagnificent dog fooding is always a good practice.
Fun fact: All games showcased in the video is made with Bevy
Your tower defense game, when?
All Bevys showcased in the video is made with Bevy
Could you add a list of games showcased in the background?
are you sure cause one of them is made with unity I follow him from twitter (X)
*are made with
Bevy is so straightforward to understand, it's the first open source project I've had pull requests merged into. If you're looking for a way to dip your toes into the deeper parts of Bevy, just go through their issues page and see what you're interested in!
Same!
wooooo, my little townscaper ball thing made it into one of your video's 🎉Thanks for including it TanTan, truly honored!
Is it's source code public? It looks really cool and i'd love to see how it works!
@i_am_feenster it's really beautiful
I got used to working with XNA in C# and making my own engines. That’s the mindset I had when I dipped my toes in bevy, and it completely blew me away.
All platform-specific code, rendering, input, audio, being taken care of and abstracted away is a literal game changer. The simplicity and power of the query system is absolutely wild. And the fact that everything is modular AND WORKS MULTITHREADED is insane.
It feels like this framework shouldn’t exist, yet it does. Big hats off to cart, he’s doing an unbelievably excellent job.
I'm currently trying to decide between MonoGame and Bevy... would you say Bevy is a better option for the long-term?
Post-Bevy Mew here, just wanted to say, while Bevy is incredible, it’s far from complete. If you want to experiment quickly with game ideas, Bevy is a good choice since you can just start coding your game straight away. However if you’re more of a manual guy, or if you don’t think ECS is a good solution for your game, prefer using something else (like for example MonoGame). But in the end, engine choice should come last when designing a game, since the engine you choose kind of dictates the type of game you’re making.
Woah, I didn’t expect to find an ancient XNA user here. I used to make 2D games with it, and I remember having to implement the collision detection system from scratch. You just convinced me to try out Bevy
The best part about Bevy is that it's Free and Open Source, just like Godot! You say that Bevy could be the future of game development, i say that Free and Open Source software in general is the future of game development :) .
Just to name some things: Linux in all of its various flavors for your OS, blender for 3D modeling, proton-powered gaming, Ardour for a Digital-Audio-Workstation, Audacity and its Forks for more simple audio editing, Gimp for image editing, KolourPaint for very simplistic Bitmap Image style editing, OpenOffice and Libreoffice for creating various office documents, Godot and Bevy for making games.... and this is really just all scratching the surface. For many, parts of this list alone would be a complete software suite to develop music and games with.
Krita
@@ninetysixvoid Well there is something i missed! I know i missed a lot of programs, I'd love to see this thread become a list of great open source software that people use.
LMMS btw
Also OBS for making videos as an example of industry standard foss software. The model is just superior in all regards, except maybe design sometimes? But that's just all good designers are Apple fanboys rip
Nobody never mentions any software for 2D skeletal animation with advanced features like spine or dragonbones, it's the only thing I'm missing and I feel trapped into using engine specific tools for it
It's kind of crazy how iyes-loopless (scheduling similar to schedulesv3 before that was available), aery (relationships) and bevy_trait_query (what it says on the tin) can exist as third party plugins despite doing things that seem like they'd have to be fundamental parts of the ecs.
Great video! I love the advice of just build a starter game, it's way too easy to get overwhelmed if you don't have a goal in mind
Hey! I started learning Rust / Bevy a few weeks ago and your tutorials have been awesome! Just wanted to say thanks!
Thank you for featuring my game!! It really made my day.
Started learning Rust last week. It's been so long since I actually enjoyed programming. Hopefully the lack of having to fiddle with an editor in Bevy will keep the spark in me. I've gotten ok at Unity but it has just gotten so tedious to make anything in it after many years of working in it
One thing became abundantly clear while watching this video:
Way too many things are abbreviated in Rust. You say you can easily understand other people's code, but I can't even understand my own code.
Things should be self-describing, not require me to read or write docs to understand.
It's the 2020s. We don't have 80-column terminals anymore. We have HD monitors and TVs capable of displaying hundreds of characters per line, and code editors and compilers capable of writing and reading wrapped lines of code quickly and efficiently. We don't need all this abbreviation!
+1. That's why I went back to C#. Rust is full of arcane syntax and abbreviations that we just don't need.
You should learn Java or C# - they hate abbreviations over there!
@@clonkex
Oh, it has things "we don't need"? I'm interested on that, been programming in C# for the last 7+ years or so, and now I'm programming also in Rust. Can you and the other guy please name some of these "abbreviations" Rust have that are so spooky?
@@NostraDavid2
If you never use 'var' in C#, sure.
That primeagen "blazingly fast" lmao
I love both Rust and Bevy, but personally I think it's direction is one more similar to a framework for making games than an engine. Bevy will be the go to when you want to make something super customized, build your own engine with it, then make the game on top. While it is nice that all is made in Rust, I wish I could do more with less Rust and have something like a game oriented scripting language that does life a lot of the work that I'd have to do in Rust.
hi, could you explain difference between framework for making games and game engine. how is it different?
@@Noone-we9vb Sure, the difference is between the features, for example a game engine will allow you to add an animation for a character and add movement by using the features, while in a framework you have to code those yourself. A game engine allow you to connect stuff easier while a framework needs you to code that. For example AI, a game engine would allow you to set up a new AI in few minutes while a framework will have code all that yourself. The difference is a bit subtle though, Bevy is a spelndid framework, but I will have to implement my own path finding for example (unless I am wrong and it already does that)
@@c64cosminhmmm, i feel like i got the idea. Need to read more though. So bevy is like a core part of game engine like a foundation?
@@Noone-we9vb more or less yes, but it is getting there fast, having an editor would help a lot
@@c64cosminbtw another question. In this video it was mentioned that one game has custom game engine and it uses bevi only for ECS. Can you do the same for godot engine? Or it will be too troublesome? I understand that you might not know, but im always glad to ask questions )))
I'm not sure if I personally believe a bevy standard level editor would be a good solution. Feels like it'd almost instantly inhibit the productivity that the plug-n-play nature gives it, or it would make writing those plugins harder because it adds another layer of integration. And then, a from scratch level editor itself would be so annoying for a developer to fit to their needs that it becomes a rigid editor like Unity's and Unreal's.
I haven't begun implementing it yet, but the optimal solution to me seems to be using the powerful scene tools bevy already has and building a lightweight external plugin to use Blender or Maya as your scene editor, so that game developers can also very quickly extend the plugin to match their game's features. And, this way you may avoid constant back and forth between your various tools, letting you make adjustments to the level on a fly with the precision that blender's modeling tools offer you (and that no level editor to this day can match).
I think an editor can work for bevy if it doesn't try to do everything like the unity or unreal editor does. Just a very basic editor + a simple but powerful api to extend it and let developers create their own editor tools is all I think is needed. (There already exists a library that integrates blender like you describe btw, don't remember the name though)
I haven't used bevy yet, but what about artists, sound designers, level designers etc? How would they work with the engine? Most are reluctant to even code in languages like lua or python, let alone rust.
Yeah
@@askeladden450 Ideally there would be a tight third-party integration with blender. Blender/Max/Maya are easily the best 3d editors that exist, and most official editors are, to be honest, rather bad to work in, and create a gap between authoring tools that just doesn't make much sense.
If someone designs a system where asset and level authoring can be done independently of code, then that's what I think the best case scenario is.
Someone literally allready did this. It was a plugin for Blender and it worked (kind of).
You got me with the "turtles all the way down" part! I use C# for web backend stuff at work and being able to inspect into the library code at a breakpoint is so necessary for diagnosing more complicated problems. When I started looking at game engines I went through all the 3D ones with C# scripting and found that they really mean the "scripting" part with only partial and surface level language support. Except Stride3D, but that has other deal breakers. I was already curious about Rust (no relation) and this will motivate me to finally learn it. (also I really liked XNA back in the day and I'm starting to think it was actually the code-only approach because integrated editors like Unity and Godot just never clicked with me)
Awesome video! Hope It will gain the deserved popularity in the near future.
I am a huge fan of the Bevy project. I check out news about it as soon as it's out. But I will wait for Bevy to become the future using feature complete engines. And when the glorious Bevy future finally arrives, I'll start learning Bevy and Rust.
this is a really nice overview, thank you!
It's so good it should be on the front page of the bevy website!
I racked my brain trying to comprehend ECS in Unity and FLECS and it still didn't stick. Within about an hour of twiddling with Bevy I finally got it. Much love to the Bevy devs, your implementation and documentation of this concept is ace.
Bevy is just an amazing enigne, sure it's not as feature complete as something like Godot, but I feel it will get there eventually. (And it's probably the second easiest engine/library I've found in Rust, the first being Macroquad.)
Yes Primeagen!!! You've made it into Tantan's video! 😅
wohoooo, prime daddy made it
Tantan supporting smaller creators 🤗
very cool
i'll be sure to check it out in 5-7 years
your voxel engine videos is why I am currently learning rust in preparation for using bevy :)
Aww thanks for featuring my showcase in this video at 5:34 :)
i think you sold me, this feels similar to what i love about flutter. and finally a reason to go deeper into rust
this could be the blender of game engines, absolutely amazing
Feel like godot will more likely to be it if not already
There was a Blender game engine
Great video, thanks for explaining it so well!
Just started making my first game in Godot, when I suddenly learned about ECS. Since I love Rust, I was extremely tempted to switch over to bevy, but the lack of an official editor is a deal breaker for me as a complete beginner. I could do it the hard way, learning game dev entirely with bevy. I'm sure that would make me a better dev in the end.
As complexity grows, existing abstractions you import through frameworks become too limited and you need to dig deeper.
In Godot I already had to ditch the particle system and handle that myself due to engine limitations. That's why I love love love that bevy has such loose, almost nonexistent boundaries between the game engine and the game you make using it. If it's all Rust, it's so much more ergonomic! I'll definitely start learning bevy relatively soon!
But for now I'll stick with the extremely helpful GUI the Godot editor gives me!
I call Bevy a "game framework" instead of a "game engine". Frameworks are programming based and mostly deal with just code and has functions and code set up to make building a game easier. If a person wants to put something in their game, all they'd have to do is call the function that could readily make it happen. But, game engines come with an editor, may deal with code (traditional or visual); are more visual and have visual plugins, buttons, etc. to speed up game development and make game development easier too. It's like the difference between Phaser.js vs Godot, Raylib vs. Unreal Engine, Bevy vs. G-Develop, BlitzBasic vs. Flax Engine, etc. I hope this makes sense.
Oh this looks cool! Been looking for a Unity replacement for... reasons... to do my little side projects in. Godot and Unreal are both great, but playing with something more streamlined and hands-on with the actual engine code sounds really cool.
Best part is that Bevy is Free and Open Source like Godot is, so it's another great option for breaking away from commercial options and getting away from using an engine you have no control over... which may appeal to you for... reasons. Good luck to you!
So far I havent missed anything, it has all the features I need. The idiotic unity editor I'm sure not going to miss.
@@Boxing_Gamer love to hear it. Bevy or Godot? This incident happened at kind of a sweet moment for Godot. Not too soon, not too late. it's late enough in its development to win over a lot of unity devs, but also early enough to provide a massive boost to its development that could potentially skyrocket it both its development and user share.
@@geraldsmithers9270 any editor that forces you to use some kind a object tree is a no go for me. So to me, unity and godot are equally bad
Bevy is the future. Also after reading the bevy book I highly recommend reading the bevy cheat book. It goes into detail.
Watching your Bevy journey (and wgpu and such before) is what inspired me to become a game developer
came for the tantan stayed for the primeascream very cool
God damn You Tantan! Even though I'm not a game dev i still hear "Bevy bevy bevy" in my head while cooking!
I think compile times are much faster than unity, especially if you split your project up in workspaces. It hasn't been a problem so far for me.
in this part he showed himself recompiling the entire engine; I've been using dynamic linking and it's blazing fast!
@@QuantumShennaYes it it. If you couple that with having lots a values in settings file, you have a great and fast setup.
If you separate all your code into PlugIns in separate projects/packages (in the same workspace), I believe that also speeds up incremental builds.
@@dimvolythere are many ways..of course you can probably do something like that in unity, but I just feel like unity even an empty project has 5 seconds start up time
Look at this guy... He makes it look more interesting and less painfull to understand! ahahha keep it up dude, amazing content
Welp, finally decided to try out bevy. Been trying to build my own renderer and it *almost* worked... You've convinced me.
In my personal point of view, i'm more attached to an engine that have an Editor integrated to it.
Gamedev today is a hobby for me. I quit unity and i'm with Godot now.
The data-driven model is what i want, but i really want an engine with a more visual first look to easy things out, instead of having to research, source and compile plugins together in order for the engine to have an editor to only then start trying out some projects. Sorry my lazyness, but it is because of the time i have to do gamedev and not enginedev.
I will keep an eye on Bevy for new releases. When i see that the Editor is integrated to the main source, then i think i might try it out.
It looks like they are finally laying the groundwork for that now. The UI and scene system (critical blockers for getting an editor working properly) Are FINALLY receiving the project leads full attention. Once that's in a decent state they plan to start working on the editor proper.
Thank you for pronouncing Godot correctly.
Thank you, ever since unity BS this is a gem to find out about.
And it's FOSS ;)
@@geraldsmithers9270 😩
finally I now have a reason to learn rust and see what the hype is about
Great video and good to see you doing well.
As a starter game I like the current lockpicking puzzle from Starfield.
I have been using Bevy( and Rapier) for the first time, absolutely mindblowing how simple the syntax is, I understand why people like rust! Unsure if I will make a project in it, mainly due to scaling issues, and the compile times slowing down my ability to incrementally learn, haven't created my own project, just edited someone elses example project to basically get the gist of it.
I may give it a go, although performance is the only reason I would want to use bevy, as I want to see how many entities could be spawned with physics and AI in a 2D top down horde game. I think I got to about 2000 before it seemed to go quite slow with the project I was working with.
2000 is not a lot.
Adding the dynamic_linking feature flag speeds up compile times (well, linking times) quite a bit.
Yeah, with dynamic linking the compile time is like a second (on a modern machine), but shouldn't be long on even a slow one
Slowdown on 2000 entities in 2D? Is it really? Can anyone please confirm this in detail.
they have physics(Rapier),collision, hitboxes and also die and respawn, they also have instantiated hit damage numbers, I also didn't code this ECS solution I am talking about. It's hard to see actual performance for finished games. Its easy to spawn 10K entities that don't really do anything, it's another to give them AI and all the other features and also your own player and try to keep that same performance.
but when you start getting into finished products for horde type games, engines used start to suddenly funnel to either Unity or C++(Sometimes Unreal), I have tried Godot and Unity, so far unity's ECS seems the most advanced for building full featured indies. I am hopeful that Bevy gets an editor made, would be a terrific alternative to Godot. I have by no means tested Bevy, this is just anecdotal based on my own experience. But with all the same features I got to around 3000 with the same features in unity with barely any optimisation. @@ultimaxkom8728
Does the city builder you showed there is open-source? buyable? wen game???
Hey man, dont give up on the voxel game, I really wanna see more devlogs about it.
Watching this video while bevy compiling
Finally a new video 🎉
Great video! Bevy looks great, and I should find some time, perhaps a game jam, to check it out.
Very under-rated channel. I've been learning Unity, Unreal and Godot for a couple months but being a long-time Python/C# dev, I've kind of been battling internally between preffering the c# language but how intuitive the Godot engine is, and the cool features like nanite in Unreal, and not liking the c# version of Godot 😂
Maybe i should give Bevy a try too? 😅
when you checkout flax, o3de, stride engine and many more
This is the exact kind of programming distraction I need
Cool video, but you would have truly convinced me to switch to Bevy if you included some sort of funny little Bevy rap
I got your bro! 9:09
I mean it's the worlds shortest rap but...
What's the game at 5:46? Looks like my kind of game
im sticking with Godot for now but nice to hear about Bevy!
Finally! Another video!
Dude. You won't believe it.
Rust has piqued my interest before and I was considering learning it, but I didn't quite knew for what I should even use it...
Now you come with this, it sounds really nice, and USES RUST.
LETS GOOOO
damn, i sure wish to spend the next 20 years working on a pixel art plataformer about anxiety and sh*** myself after
i can't wait for bevy to have official vr support.
Everyone seems to forget O3DE exists when doing the usual open source game engine talk. The codebase has been seriously battle tested and it is modular as hell. Still, bevy seems like a cool framework. I don't know if it will be able to rival the literal decades of manpower poured into O3DE though.
because it doesn't really exist. it has no community and it sucks nuts.
Feels like the Linux of game engines, I'm here for it
Great vid, as always! Also, this is true for me, I'm a little bit scared (yet intrigued) by Bevy, mainly because of the Rust programming language and the lack of a visual editor. One day maybe I'll jump in and try it, especially if the editor is announced and I guess I will have to learn Rust then. Maybe it's not so bad...
Editors are overrated, yes they get you started but everything will eventually have to be coded anyway
@@Boxing_Gamer ok, go ahead and "code" me a cohesive, hand made map the size of Skyrim or RDR2
@@deathtidegamelol you think they use unity editor or something taylor made of the job? think..
@@Boxing_Gamer stop being delusional. Bethesda uses the Creation Kit editor to create maps for all their games, and also provide the same editor to modders.
The same thing applies to every professional developer. Or did you think a programmer would spend thousands of hours "coding" object coordinates and rotations inside a text editor for level design?
@@deathtidegame Not all games need an editor, but your right levels of a certain size does. I just dont think the editors in godot and unity are up for the job, a game with more than average complexity needs tailor made editors. Hence, the build in editors become obsolete
The tech looks really amazing and I'm always in favor of data oriented/declarative approaches but unfortunately it's really very far away from being ready for "serious" game development (from what I can see). I mean there are not even bundled, native dev-packages. And no, installing everything with a shell script isn't gonna do it. Programming is just a small part of game development and you really, really need visual tools. I mean how else do you want to do even the simplest task like designing a level? Of course you can code it too, but who has time for that if you really want to publish a game? Typical engines have just soo much stuff packed into them that makes development easier like editors for scenes, materials, animations, audio, meshes, colliders, etc. I'm for sure not gonna code all that by myself - doesn't matter how extensible or great the engine itself is.
Anyway, I really hope for a great future for Bevy though and hope that one day it will be a complete package for game development.
I'm not sure what you mean "native dev-packages". Why would you need a shell script? Rust has built-in support for package management through the cargo/crates system, so you just configure your Cargo.toml file.
Obviously it needs an editor. They're working on it as a priority. It has taken a while because they needed to get the engine in a suitable state first (because the editor will be built in the game engine like Godot, so it needs good reflection, serialisation, UI support and scene structure, all of which have taken a while to mature).
Btw, I'm not a Bevy fan. I don't even like Rust that much (although the concept of compile-time-defined lifetimes is very interesting!). But it seems pretty silly to point out that it's not ready for serious projects yet when no one's saying it is.
@@clonkex Native dev-packages = a .dmg, .exe, etc. installer. So you just download the SDK's and apps and install them through an UI. Of course Rust hast cargo/crates but not everyone working in a game-dev team and using the engine will be a developer. That's completely not how game development works, where only a minority are usually developers. The reality is that most people don't care about the tech behind an engine but how productive you can be with it.
I am actually a HUGE Rust and Bevy fan btw, just pointing out what's holding me (and probably a lot others) back from using it. I'm very well aware that Bevy is in it's early stage but there is nothing silly about pointing out what's still missing, especially when it's that fundamental and when you consider that the title of the video is "Game Engine Of The Future".
@@artxiom So you mean a graphical editor, then? That's what that's called. You have the game engine itself and then you have a separate tool for authoring content to be loaded by the engine. That's not part of the engine. A graphical editor provides tools to author, edit or arrange content, gives a nice view of the project and allows you to compile and run the game. It may be a requirement for any serious development but it's _not_ a fundamental part of the engine.
@@clonkex What you not say... 🙄
Yes, of course I'm talking about an editor. The separation between a game engine and an editor is artificial.
Heck, even the Wikipedia definition mentions explicitly an editor:
"A game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs such as a level editor."
So it is also a part of the engine. Of course it's not a fundamental part, but then very little is. Like ECS for example, it's also not fundamental, so why even include it...with your logic?
That's how software development works: you define the scope and features of your project.
My point is: there is a reason why all successful engines nowadays include an editor. Game dev does this since many decades(!) or so because it turned out to be the most effective way to work with game engines - for many reasons.
So is it really necessary? Of course not, but then if you want to get out of the toy phase and grow into a mature engine then it's kinda non-negotiable. I can guarantee you that there are a lot of people who would like to try Bevy but won't simply because there is no editor.
But of course it all depends on what the goal of Bevy as a project is - do they wanna stay a niche project or grow and cater to a bigger audience?
@@artxiom Regardless, my original point stands. The video is saying this is the engine of the _future_, which it may well be. It doesn't matter that there's no editor yet because they're working on one right now. No one's claiming the engine is ready for serious teams to use it.
You sold me this engine tbh
New video! Amazing!
Creating editor is not easy since the bevy is early stage and there will be break changes but there are already simple ui editor create by users. Basically there no bloat ware just need user plugin to add on your own plugin. Plus there some different how you code to save and load data. Plus if there is UI change again it would break changes and others.
saying "the most ergonomic data-driven ECS" is like saying "the most normal serial killer"
Data-driven ECS is awesome. It's not a silver bullet for every problem but it's a very useful tool.
Great video, as always
I never heard about this engine before, I've been trying to figure out what new engine to make games in since Unity went down the drain, and honestly this seems awesome. Thank you for turning me on to it.
Time to learn Rust lmao.
How would multiplayer work for Bevy ? I read somewhere that multiplayer is still not quite ready yet
Multiplayer is the same for any programming language, sockets and data structures
data structures is the same for any sockets, programming language.
There are numerous libraries for multiplayer in bevy, and if you don't like that there's always standard TCP and UDP sockets in the language itself
Dand didnt expect matpatt to be creating a game engine of all things
I’m sold on Bevy! I’m looking for an engine where you can be relatively close to the engine source code, while also not being so low-level that it takes a while to do common tasks. I’ve been developing a game in SDL2/C++ and wrote a little game engine, but I’m better off using a more mature game engine if I want development productivity and performant code :)
No joke, Bevy clicked for me after watching this video.
thank you for this new refreshing video, full of great advices.
One question: you named Tiny Glade, and yes it is totally beautiful: why can't I find a Bevy game or project with decent graphics (Tiny Glade graphics not being Bevy based)?
Well there aren't a lot of Bevy games in general... Still, Bevy's 3d rendering is pretty basic at the moment because a lot of focus lies on the fundamental framework of the engine like asset management, ECS-scheduling etc. There's a lot of stuff happening with rendering though and it gets better all the time. Some people are working on GI-systems similar to lumen for instance.
I love how Bevy inherits the same ideology as Rust (Or should I say composes of)
The only thing that is holding me on godot is lack of native editor. Will wait for it.
I needed that last second!
FINALLY a new Tantan video dropped
Cool. Leaving a comment for the algorithm
nice video - are you still working on the voxel game?
Great video! Bevy is great, although I prefer Macroquad for my smaller projects just cause it's less boilerplate :D
cool bevy ECS is the goat
Most people don't want to write Rust though. It's a great language for writing something like a game engine, but not for writing actual game logic, or anything else that doesn't require the tight safety and security it offers. Why would you pick something more complex to make a game just features that don't matter very much(if at all)? Godot added GDScript to make game logic simple and easy for the vast majority of users, but it still allows for C++ code when lower-level control is necessary. And it officially supports C# too, which has become a standard for game dev.
imo GDScript should become the standard for open source game engine scripting. And if Microsoft wants to fund Bevy to add C# too like they did with Godot, then they can do that.
why download is complicated?
> "The game engine of the future"
> Doesn't even have native particle system / Graphical Editor to edit scenes and so on
that is not much "future" thing to me, but i really hope that it envolves in a good way.
What the game was on background (with editing fences and gates) at 0:02 0:14 0:29 ?
Tiny Glade
Awesome vid my man screw it im gonna play with bevy today
I wasnt on board until you said it was programed entirely in rust then got on my knees and started praying to the gods of rust and crying
... Do you need hugs?
since its open source I would like to try and optimize the code for it and make it better for game devs looking for a new engine to work with
Alright, Ill check it out.
👍
From what I've seen of this engine, I don't think it's ready for production. for a hobbyist it is a good choice, but if you are really interested in making a serious product it is not the right choice, you will have more work in "building" the engine than in building the game without having a real gain compared to other engines on the market. but to play with it it looks fun.
So bevy is like pygame but for rust?
I appreciate that you labeled the games. You skipped the game at 3:56 though.
Does anyone know what theme is that at 4:01 ?
Any chance thay you'll cover bsn soon, just to see how it will be compared to the current way?
Do you sit in your room and provide value to your audience or do you code games in rust ?
can you make VR games with bevy?
this is the best video ever
can i use it to make android game?
Congratulations sir, you have successfully indoctrinated me into Bevy
u are the best game dev ever