Switching Game Engines... Twice? - Devlog #7

  Рет қаралды 81,551

TIMBER

TIMBER

Күн бұрын

In the last 6 months I have remade my movement-based roguelike game, originally made in Unity, twice in two different game engines.
0:00 Intro
0:21 Unity
2:40 Alternatives
3:17 Godot
6:14 Bevy
7:21 ECS
10:35 Game (Bevy Version)
Discord Server: / discord
Tools I use:
- Game Engine: Unity, Godot, Bevy
- Code editor: VSCode, Neovim
- Graphics: Affinity Designer, Figma
- Video Editing: Davinci Resolve, Motion Canvas

Пікірлер: 366
@timberdev
@timberdev 11 ай бұрын
I have pinned this comment to clarify some things about the video. I've noticed, that there is some confusion about the negative things I pointed out about Unity. While the main three points presented in this video are valid (at least to some degree), I did not make it clear that my motivation to switch away from Unity is only partly because of these points. I wanted to explore other game engines simply for the joy of learning and having some new experiences. Also I did initially plan to use Godot for the project - switching to yet another game engine was not part of that plan. It just so happened that development was slowed down by the mentioned bug of Godot 4. I then randomly tried out Bevy and Rust and found it to be extremely fun to work with. I did not abandon Godot because of the negative things I mentioned. Moving to bevy was simply due to an unlucky situation I found myself in. I still think Godot is great but Godot 4 was sadly not working for me and it looks like it still isn't. Game dev is not my job. It is just something I really enjoy doing in my free time. And I believe it is important to also try other options. Unity is still probably the best engine for professional game development. My goal with this video was to show the journey of me switching game engines and NOT to say that one engine is better than the other. And I pointed out some positive and negative things I encountered along the way.
@artsurock
@artsurock 11 ай бұрын
Now I get it 😂 I thought firstly that you are just crazy 😅 Good luck with learning new stuff!!
@laundmo
@laundmo 11 ай бұрын
you didnt actually pin this
@NightHutStudio
@NightHutStudio 11 ай бұрын
I thought it was clear, nobody leaves a game engine for only 3 key reasons! There might be some stand-out reasons, but if the engine doesn't "feel" right then you can't really list all the points...bit like life decisions come to think of it 🤣
@artsurock
@artsurock 11 ай бұрын
@@NightHutStudio what's clear for someone couldn be not clear for another one 😁
@NightHutStudio
@NightHutStudio 11 ай бұрын
@@artsurock yeah I agree, very true :)
@cartdev
@cartdev 10 ай бұрын
Hey! Creator and lead developer of Bevy here. Loved the video. Let me know if you encounter any issues / have any ideas. We're still in the process of building out Bevy and feedback from developers is important to us!
@timberdev
@timberdev 10 ай бұрын
Hi, great to see you here! I'm really excited to see what the future of Bevy will look like (especially with the editor on the horizon). It's been a pleasure to develop games with Bevy so far and I hope to contribute one day, when I'm more experienced with rust and Bevy :D
@loganwoodbury4050
@loganwoodbury4050 10 ай бұрын
And I doubt Cart is going to start charging for Bevy installs XP
@ParaPsychic
@ParaPsychic 10 ай бұрын
Legend
@dermond
@dermond 9 ай бұрын
​@@loganwoodbury4050that's more likely to happen from the Rust foundation, sometimes they do stuff like that
@nr7000000001
@nr7000000001 8 ай бұрын
I am interested in machine learning and simulation, and other kinds of visual simulations, no matter if it is a game or something usefull. But normally machine learning has no 2d or 3d (phyiscs engine) and sound.. and U.I. .. all the things that game programming environments DO have usually. I want to get something up quick and running. Godot language is way too slow for having 1000's of objects, and using C++ is.. difficult and not editor integrated anymore. Godot projects also become very nested and cloggy. I think Bevy is the answer
@tanmaybansal1634
@tanmaybansal1634 10 ай бұрын
Well this aged like fine wine.. looks like you dodged a bullet with unity!
@SnakeEngine
@SnakeEngine 10 ай бұрын
And this comment aged like milk, looks like you Unity is back with a good deal again. :P
@Nylnezz
@Nylnezz 10 ай бұрын
@@SnakeEngine keep telling yourself that, they are going to do it again they got away with it and implemented and horrible fee anyways
@SnakeEngine
@SnakeEngine 10 ай бұрын
@@Nylnezz Yeah, and they will face a repeated punishment and backpedal again. So you will be save as a Unity dev, it's not like Unity has a monopoly in the game-engine space. Imagine few years down the line, you are like "shit, the Unity engine is thriving while my freaking Godot project doesn't scale and is full of bugs. Leaving Unity was the stupidest decision I have ever made that robbed me years of time". So just keep going with Unity if you want to get somewhere :)
@jonteet
@jonteet 10 ай бұрын
@@SnakeEngine what the fuck are you talking about?
@Nylnezz
@Nylnezz 10 ай бұрын
@@SnakeEngine i really do hope unity gets his management in check, and i agree that godot lacks scalability for now, but its good to have choice when a corporation is only out to get you money more and more dont you think
@pxlcrdgm8140
@pxlcrdgm8140 10 ай бұрын
This video aged extremelly well man. 😂
@Lux_108
@Lux_108 11 ай бұрын
I love how your game looks and the genral concept of it. Keep it up
@caeleng5553
@caeleng5553 11 ай бұрын
I like what you are doing. You focus on long term goals and putting time into something you enjoy doing and crafting quality work with patience and dedication, not something rushed for views and money. I look up to you for this. Keep going strong bro 💪 ❤
@jadonUnity
@jadonUnity 11 ай бұрын
Glad to hear from you again! At the moment Unity remains my absolute favorite game engine, but especially Bevy seems very promising in the future
@benjattkk
@benjattkk 11 ай бұрын
Yoooo! I was JUST rewatching your videos yesterday and thought I wanted you to come back!
@CoderDev6545
@CoderDev6545 11 ай бұрын
Can't wait to see your game come forward!
@moon0xcoder
@moon0xcoder 11 ай бұрын
Great video :)! It was pretty interesting seeing you troubleshoot your inconveniences with the game engines. Hope everything goes smoother from now on!
8 ай бұрын
amazing. it's cool that more and more people notice rust and use it in their projects. i heard about bevy and it's nice to see that you enjoyed using it
@PatrickCreations
@PatrickCreations 10 ай бұрын
You avoided a bullet man 😢
@someonewithsomename
@someonewithsomename 11 ай бұрын
Indie developers would do anything other than game development itself it seems
@timberdev
@timberdev 11 ай бұрын
Might be onto something :)
@RenderingUser
@RenderingUser 11 ай бұрын
For us gamedevs, making games & learning new tools is more fun than playing em
@g-han5565
@g-han5565 11 ай бұрын
Holly, I've been waiting a video from you for reeeaaaaaly long time. Glad you came back budy!
@unknownfolder9329
@unknownfolder9329 10 ай бұрын
This video is so cleaaaan, nice editing man. good work!
@ai._.i
@ai._.i 11 ай бұрын
Great video! Learning about ECS and bevy makes me want to do more composition focused design in my project now haha
@bazyleeshek
@bazyleeshek 11 ай бұрын
Great video, good luck with your game! I think stability is currently Godot's biggest issue (at least for the 4.x versions). It is a bit annoying at times, but personally I'm fine with it because of pretty much everything the engine offers. I feel like the issue with code growing more complex and ugly is possible to be avoided, provided you design your system with avoiding coupling in mind from the get go. Real shame you came across a pretty nasty bug, but I'm glad you're enjoying your time with Bevy! Excited to see more
@loganwoodbury4050
@loganwoodbury4050 10 ай бұрын
I've enjoyed this video, I've actually gone a pretty similar, if shorter journey, where I tested out Unity and Godot but ultimately felt like they were restrictive. Then I tried implementing a small CLI game in engine-less rust for a while, but later I found Bevy. The ECS relieved lifetime headaches, but it was configurable enough that I could make the game without being locked into a bunch of functionality I didn't care for. I migrated my game to Bevy and have loved it, plus the community has been really supportive =] Really happy to see an experienced game dev validating that choice!
@_SuperSadex
@_SuperSadex 7 ай бұрын
Nice video, looking forward to the next devlog!
@crispy_dev
@crispy_dev 9 ай бұрын
Welcome to the bevy team!
@bbrainstormer2036
@bbrainstormer2036 11 ай бұрын
Very nice! One small correction: ECS is only a part of DOTS in Unity. The burst compiler and jobs system are also included in DOTS.
@timberdev
@timberdev 11 ай бұрын
Yep, your right. I probably should have mentioned that
@bbrainstormer2036
@bbrainstormer2036 11 ай бұрын
@@timberdev Eh, it's an easy mistake to make. The only reason I even made the comment is because I used to think that too. Great video by the way, and I hope development goes well!
@mrmaniac9905
@mrmaniac9905 10 ай бұрын
Wow, doesn't matter now. I'm so glad I never learned that shit engine. I feel bad for all of you goons that wasted your time but I always hated c# and the engine just felt clunky. NGL, I'm pretty smug, the amount of times i was tempted to use it... glad I never did. Dumb engine.
@bbrainstormer2036
@bbrainstormer2036 10 ай бұрын
@@mrmaniac9905 No need to be so harsh about it
@mrmaniac9905
@mrmaniac9905 10 ай бұрын
​@@bbrainstormer2036yeah you're right I did have an overbearing tone. I apologize
@cacsxolotlmeme2082
@cacsxolotlmeme2082 11 ай бұрын
Glad you can upload again and can't wait to play your game when it came out🎉 Also get some rest:)
@BlueOctopusDev
@BlueOctopusDev 11 ай бұрын
these videos are so satisfying to watch :O
@MattWyndham
@MattWyndham 8 ай бұрын
That's an awesome explanation of how Bevy works!
@fishy_96
@fishy_96 11 ай бұрын
Hey Man love your content !!! ❤
@SupremeDP
@SupremeDP 10 ай бұрын
Seems you were 4 weeks ahead of our time, lmao.
@S.m1cha3l
@S.m1cha3l 11 ай бұрын
Such a good vid, looking forward to see more
@cedric6941
@cedric6941 11 ай бұрын
amazing editing, subbed!
@Waradu
@Waradu 11 ай бұрын
That's crazy! Great content. I should start learning rust too.
@BaptistPiano
@BaptistPiano 11 ай бұрын
Next week: Why I wrote my own game engine in my own programming language
@catcactus1234
@catcactus1234 11 ай бұрын
Falling down the same rabbit hole as Randy lol
@j-kevinampong1379
@j-kevinampong1379 11 ай бұрын
Can wait to see continue your game in godot I been using for 4 months now and this very inspiring to see someone work in godot.
@igorthelight
@igorthelight 10 ай бұрын
Did you missed the last third of the video? ;-)
@rybadesign
@rybadesign 11 ай бұрын
Really well made video love it!
@Grinwa
@Grinwa 11 ай бұрын
Cant wait to see full game am sure u be successful
@indierusty
@indierusty 10 ай бұрын
Best explained Bevy concepts ever!😮
@evanrobison567
@evanrobison567 11 ай бұрын
Totally support the decision! I am looking forward to playing the game!
@His-Games
@His-Games 11 ай бұрын
Ayy is that motionCanvas I see? Glad to find another appreciator.
@cloud5699
@cloud5699 11 ай бұрын
Regarding the references in Unity, I usually just use a script that houses all my references for my player and have other scripts just take a reference to the reference "hub". Idk if thats good practice but it works for me
@jaminweil8645
@jaminweil8645 11 ай бұрын
I'm glad a new video is out after waiting for a while. I thought you might of dropped the project.
@collinvisser7108
@collinvisser7108 11 ай бұрын
Neat - been following you for sometime your game looks good. Just one thing about Godot - the event system / Observer pattern is designed to decouple nodes. I am not sure how the C# works in godot but the build in GDScript supports both Composition and inheritance . I am sure you look at the resource class that is used to store data Godot 4 I think need more time in the oven - but that is my view. Really keen to see where you take your project.
@squee-z6442
@squee-z6442 11 ай бұрын
yeah I was kinda confused about that, because the node architecture was designed to support both inheritance and composition.
@collinvisser7108
@collinvisser7108 11 ай бұрын
@@squee-z6442 @pigdev has a video on it also @RedefineGamedev has a good course on AI - Both show both inheritance and composition - I like using resources - there is a video in my dead youtub - good luck
@Moon_Sushi
@Moon_Sushi 11 ай бұрын
Nice Game! Keep up the good work.
@xymaryai8283
@xymaryai8283 2 ай бұрын
i finally have a rudimentary understanding of ECS, thankyou
@Otakutaru
@Otakutaru 11 ай бұрын
What the... He is going for a full pivot. Best of luck with bevy, I wouldn't go for a game engine without an editor, even if it implements ECS
@iamahtic
@iamahtic 11 ай бұрын
Cant get enough of these vids
@afjelidfjssaf
@afjelidfjssaf 10 ай бұрын
Looks like you made the right choice moving away from unity!
@agustindiaz3361
@agustindiaz3361 11 ай бұрын
Awesome video. Thanks for this great content
@gdfk_dev
@gdfk_dev 11 ай бұрын
Wow, you intrigued me with the engine on Rust, would be super interesting to learn
@YasserSedrati
@YasserSedrati 11 ай бұрын
Your video is well made dude. Composed and edited in a catchy way. I am expecting this title in one of your near videos: "DOTS makes me return to unity again!"
@laundmo
@laundmo 11 ай бұрын
i'd be surprised: everyone i know who's tried both bevy and dots agrees that dots doesn't feel at all good to use in comparison. bevy's ecs is just so nice to use.
@Sergeeeek
@Sergeeeek 11 ай бұрын
@@laundmo they're trying to turn C# into C++ with Burst, no wonder it feels shoehorned.
@DerSolinski
@DerSolinski 2 ай бұрын
Saw the thumbnail and thought: "Let me guess, fed up with Unity switched to Godot and likes but doesn't feels quite right and ends up with Bevy" ...guess I nailed it.
@summerWTFE
@summerWTFE 11 ай бұрын
Very well made video!
@chewbaccarampage
@chewbaccarampage 10 ай бұрын
Wow thanks for this. I've been looking for a game engine recently and my day job used F#, where we have a separation of data and behavior. Bevy looks like it'd be great fit.
@valentinegb
@valentinegb 9 ай бұрын
Woah, hey, Motion Canvas in the wild, nice!
@thequipseeker
@thequipseeker 11 ай бұрын
Hmm... Maybe I'll try out Bevy for my next game. From what you described, looks like something I might like.
@Pandanubex
@Pandanubex 11 ай бұрын
Good video!
@gaelonhays1712
@gaelonhays1712 11 ай бұрын
Hey! I was wondering if you were still developing. I can't wait to see the game come out!
@paveladventures5665
@paveladventures5665 7 ай бұрын
Literally the same path and opinion! Good luck with your game!
@mrOverYeff
@mrOverYeff 11 ай бұрын
I hope that bevy and rust will alow you to develop features that unity and Godot would have made to hard or to unstable. Can't wait to see how this turns out
@cantwait2bking544
@cantwait2bking544 11 ай бұрын
I thought the animation style looked familiar. The videos look great in Aarthificials tool! Good job!
@CrabQueen
@CrabQueen 11 ай бұрын
I look forward to the fourth engine change in 9 months!
@xdimplendidx
@xdimplendidx 9 ай бұрын
The research part is the most instructive part lol
@theimperialkerbalunion7568
@theimperialkerbalunion7568 10 ай бұрын
I dissagree with your 3rd point. Its fully possible to use unity as a glorified renderer. Also unity doesn't force you to use inheritance? You can easily make modular systems, or really use any architecture (and again use it as a glorified renderer) however... In light of the contraversy. No reason to regret switching!
@AlienSoldier69
@AlienSoldier69 11 ай бұрын
Nice new video. you should add passive abilities for the player
@ServentofTheMostMerciful
@ServentofTheMostMerciful 10 ай бұрын
Underrated!
@Chaos1king
@Chaos1king 11 ай бұрын
Finally a new video FINALLLLLLLYYYYY
@parshva1430
@parshva1430 11 ай бұрын
1000th like on ur video keep up the good work ❤
@OdysseyHome-Gaming
@OdysseyHome-Gaming 11 ай бұрын
bevy looks so smooth... 😯
@naramoro
@naramoro 10 ай бұрын
Nice animations
@fruytdev
@fruytdev 10 ай бұрын
Finally a new video
@mrbeancanman
@mrbeancanman 9 ай бұрын
I also recently pivoted to bevy... so far its preeeetty nice!
@nourgaser6838
@nourgaser6838 11 ай бұрын
To be honest I love Unity's style and the structure it kind of guides you towards. I try to mostly never store references to other scripts, and instead use static events for communication (Observer design pattern), and I love creating singletons with a private instances and public static methods, like Unity's own systems (GameObject, Input). You can come up with extremely clean solutions by following the most suitable design patterns for your situation. As for the editor being slow and cumbersome and bloated, I could not agree more, it's the single most frustrating point about Unity, but I manage to tolerate it just because Unity's scripting solutions are just brilliant in my opinion; literally no matter what it is you're trying to do, you can find a creative way to implement it in a clean way and probably very easily and quickly. I'm definitely trying other engines in the future, but for now, I think Unity is a solid tool if you're experienced with it specifically.
@WeslomPo
@WeslomPo 11 ай бұрын
Singletones are bad. There are more suitable aproaches that are better. Try Dependency Injection (vcontainer as a container).
@robwaters2948
@robwaters2948 10 ай бұрын
I agree. Even though the mix of depreciated and experimental features is frustrating, and the time I spend watching Unity compile my scripts really adds up, the range of solutions makes easy and fun to experiment. As for the issues related to my own approach: well as my projects balloon in scope and complexity, the number of references and the confusing mess of coupled components just starts to make my head spin. i know there must be a better way and I’m totally intrigued and enticed by the observer pattern for its modularity. But I have a hard time putting the concept into practice and meaningfully changing my approach to scripting. How did you familiarize yourself with the observer pattern? Tutorials only take you so far yknow I need some experienced insight for nonspecific implementations and your comment really got me thinking about the possibilities
@nourgaser6838
@nourgaser6838 10 ай бұрын
@@robwaters2948 I don't think I'm experienced enough to give advice but I'll give you how I think about it I guess? I try to make my scripts do one thing and one thing only, and I'm completely fine with having tons of scripts even if each script is only a few lines of code; what's more important is separation of concerns, so that when I find a bug related to X, I know exactly where to look, because X is handled fully in this file (or directory if it's a multi-script system kind of deal). Before writing anything I usually ask myself quickly, should this really be here? If I'm grabbing a reference to another script to call something on it, then probably not. I go with a "to whom it may concern, event X has just occurred" approach, and only expose static events. For example, if I have a clipboard script that manages copying, storing, and pasting stuff, and on copy I want to: -Play a sound -Change the color of something in the UI -Potentially more in the future I expose a static public event at Clipboard.onCopy, and invoke it when I copy, "to whom it may concern, a copy event just occurred". And in my SFX manager, UI, or whatever other script, I can subscribe to that and do whatever I want there. In regards to what's an event and what's not, I start with 0 events in all scripts, and when I find I need to know that X happened in some script, instead of grabbing a reference to it, I go add the event on it for now and future use. Over time my system events build up, and I don't have unused events because I only add them when I need them for the first time. I don't know if this kind of pattern is good or bad, but it's personally served me well, I've yet to get bitten by it. Let me know what you think though!
@WeslomPo
@WeslomPo 10 ай бұрын
@@robwaters2948 and for you, answer are use DI and containers. Try it first, implement that in your project and try to follow the strict rules of container, and after some time you will start to understand how to make your code better. Observer also a not good patter xD. When I create my code, I imagine every method as empty room with me in it. Then I try to implement logic of said method. If I need something, then I try to recieve that trough window that I have. Said window is a method arguments. Only trrough that window I can recieve all that I need. If I create class - I try recieve only needed things trough constructor arguments. After some time I start to make very good code, that live years without changing in my projects. Best patterns is strategy and dependency inversion.
@db5094
@db5094 10 ай бұрын
what we thinking now buddy
@NightHutStudio
@NightHutStudio 11 ай бұрын
This was a really helpful video. Although I think at some point, you just need to give a new engine a shot and see how it feels for you.
@alexandrepv
@alexandrepv 10 ай бұрын
Very interesting video :) What did youuse to animate those nodes and diagrams (with and without code)? I love how the arrows and rectangles slide to show the hirearchy and internal components. It's awesome. I would love to know how you achieve that.
@tomchapman128
@tomchapman128 10 ай бұрын
This was such a good video, informative and I love the animations and design! Could I ask what font do you use??
@ELEMENTLHERO
@ELEMENTLHERO 11 ай бұрын
Really nice devlog. What tool/program do you use to animate your videos, they look so good!
@igorthelight
@igorthelight 10 ай бұрын
3:56 - and the world itself is a Node too! Nodeception! xD
@zayniacgames
@zayniacgames 11 ай бұрын
Unity events and using list is my go to methods to make the most out of the engine.
@montageofchips
@montageofchips 11 ай бұрын
omg I thought you were dead! I missed u (:
@marwansan
@marwansan 11 ай бұрын
nice video, good for you
@IceTV123
@IceTV123 11 ай бұрын
cool kepp doing what your doing
@antonaparin
@antonaparin 11 ай бұрын
+rep for using the Vim extension
@yaboiskner
@yaboiskner 11 ай бұрын
You can achieve the same principle of Systems -> Components from ECS in Unity by using MonoBehaviours -> ScriptableObjects and a more clean Architecture between each MonoBehaviour. Try to learn about programming design patterns and it will help a lot with OOP (Dependendy Injection, Singletons, Observer Pattern, just to name a few). Regarding the Inheritance over Composition, that's a principle of SOLID - Interface Segregation (look it up, its very useful) and it can also be applied in Unity with C#, just as well as you described it for ECS. I'm sure ECS has its advantages, but Unity isn't the cause of you experiencing these issues - your coding architecture is. Hope to continue seeing more from your journey.
@GradientOGames
@GradientOGames 11 ай бұрын
I was thinking about that all throughout the unity chapter, it does have it's quirks sometimes (especially if u made the dumbass decision of using the beta versions for a slightly better looking editor xD) but if you know how to properly use unity it is the most powerful 2d engine out there (I'm not going to get into unity/unreal here). Can't blame the dev though, ecs is a challenge to wrap your head (especially if you're already used to GOs and OOP) around at this current stage and it isn't properly implemented in 2D yet. Plus ecs in unity is more of a system for optimisations rather than just making a normal 2d game where maximum performance isn't required.
@radiish1239
@radiish1239 11 ай бұрын
the reason ECS is many developers preferred choice is that the design patterns you suggested are built into the foundation of the engine. Bevy's `Resource` trait is a singleton, systems themselves are dependency injection and the observer pattern is the `Changed` filter. in Unity and C#, genuine proficiency is required to write elegant, performant code. in Bevy with Rust, you cannot write code that isn't elegant and performant.
@Sergeeeek
@Sergeeeek 11 ай бұрын
All of these patterns are great and all, but they don't scale in terms of performance. OOP as implemented in C# and other languages forces your CPU to do a ton of pointless pointer chasing just to call a function or read a single value from memory. ECS on the other hand can store all of your data in linear memory which is much better for CPU cache utilization. I don't see this mentioned in comments, but this is the main reason why ECS is becoming popular and why Unity has DOTS in the first place.
@Nina-cd2eh
@Nina-cd2eh 10 ай бұрын
Tbh, I consider OOP itself an overall anti-pattern for games and high performance systems in general. Java and C# being the worst examples of it. Rust's way of doing functional programming makes all these patterns much more inherent to the way you write code and it doesn't feel like you're wrangling the language to follow idioms.
@f0kes32
@f0kes32 Ай бұрын
​@@Sergeeeek ecs makes serialization trivial. That's my favorite part. That, and faster entity query
@AnnisVeryGoodGames
@AnnisVeryGoodGames 10 ай бұрын
Thanks for making the video and sharing your experience, very interesting! I also went from Unity to Godot for a little while (some time back). I ultimately switched back because gdscript was too limiting (at least at the time) if you wanted to overengineer your code as I usually do :) and I didn't like a few of the very script-y properties it has/had. I was curious about c# but I figured it would probably be more of a 2nd class citizen in godot world and then I never ended up trying it. Apart from the issue you encountered, how did c# in godot work for you? Your thoughts on ecs and Bevy (which I hadn't heard about) are also interesting. I totally agree you can always blame the dev for messy code, but a framework that not only enables you to write clean(er) code, but naturally _encourages_ you to do so is always a plus.
@KayserPlays
@KayserPlays 11 ай бұрын
Your thumbnails are so clean and soft a piece of art indeed. Bdw what code editor do you use?
@Faboslav
@Faboslav 11 ай бұрын
To be honest, most problems you have described in this video are code related, thus on you, you can confidently use composition instead of inheritance with unity. That said, rust is a great choice.
@ArnoVai
@ArnoVai 11 ай бұрын
The slow bloated editor and closed source is not really a code issue.
@bonsaipropaganda
@bonsaipropaganda 11 ай бұрын
You can also use composition in godot
@artsurock
@artsurock 11 ай бұрын
​@@ArnoVaiassemblies definition can help you with editor performance if you'll use them correctly. And there are tools such as Odin Inspector to make your editor comfortable and efficient
@catcactus1234
@catcactus1234 11 ай бұрын
@@bonsaipropagandaYeah I don’t quite understand why he thinks inheritance is too heavily relied upon Godot. Composition can be easily done with the node system as long as the component is programmed well enough to work in dynamic scenarios. A majority of the inheritance system can be avoided by dynamically adding composite nodes at runtime as needed.
@Sergeeeek
@Sergeeeek 11 ай бұрын
​@@catcactus1234 all nodes in Godot use inheritance. For example you can't just extract some functionality from KinematicBody2D and reuse it in your code, you have to use the whole node which also includes PhysicsBody2D -> Node2D -> Node etc. If the builtin nodes don't do something you want you can either inherit them, or rewrite them from scratch. There is no third option, unfortunately.
@engneer216
@engneer216 11 ай бұрын
Your videos are looking so smooth. How do you make the animations which you showed for systems?
@jakksondd5821
@jakksondd5821 11 ай бұрын
I was recently convinced by my dad to start using a language with a good typesystem like rust, I just barely started learning rust because I was bored and demotivated from the Love2d framework. Great video, may the blessings of the indie dev deities bestow upon you fortune and favor.
@hermestrismegistus9142
@hermestrismegistus9142 10 ай бұрын
Sounds like you have a wise father!
@jakksondd5821
@jakksondd5821 10 ай бұрын
@@hermestrismegistus9142 yes, he's a computer scientist at a national observatory
@sidbell929
@sidbell929 10 ай бұрын
Great video! I looked at Bevy some time ago (just out of interest), but i wasn't really prepared to spend a lot of time learning it when I was still intermediate at Unity. Fast Forward to today, and for obvious reasons I'm breaking away from Unity - I've started in Godot, and it's kinda similar enough to Unity that I haven't really felt that my Game Dev journey has been reset. However I may well give Bevy another try - Are there any tutorials you would specifically recommend?
@Bloodlinedev
@Bloodlinedev 4 күн бұрын
Just for reference, Unity DOTS is basically Bevy with a C#/Unity flavor and the force of a public traded company behind it. It's still missing features for big or 2d games tho...
@xderpassassinx7779
@xderpassassinx7779 11 ай бұрын
BABE!!!!! TIMBER IS BACK!!!!
@dromedda6810
@dromedda6810 11 ай бұрын
Welcome to the world of rust!
@pedroreislima4151
@pedroreislima4151 11 ай бұрын
I have always struggled as to what engine to use, but in an unproductive manner. I'm just a begginer anyway, but it's really pedagogical to watch your impressions over different engines. So are you sticking with Bevy for future development?
@timberdev
@timberdev 11 ай бұрын
I'm really determined to Bevy at the moment, so yeah, I will likely stick with it :D
@pietrocavicchioli6128
@pietrocavicchioli6128 11 ай бұрын
Write your own renderer, physics engine, collision system, write everything yourself.
@radiish1239
@radiish1239 11 ай бұрын
@@pietrocavicchioli6128 what?
@laundmo
@laundmo 11 ай бұрын
@@pietrocavicchioli6128 the funny thing is that you easily could in bevy. you can replace even very core parts of it with your own implementatio.
@Sylfa
@Sylfa 11 ай бұрын
One of the reasons I'm window shopping for other game engines is Unity's slow editor. Starting Godot takes seconds, which is soo good when you're working on something on and off. This is especially useful when you're in the "testing out ideas" phase. That said, there's no real reason why Unity *has* to be so slow. It's entirely possible to redesign it to use lazy loading of editors and windows, and utilise threading to pre-emptively load the necessary components in the background. They've partially started work on that, by splitting things into components, but I feel they just don't have the incentive to actually get the editor speed up. Their core demographic are people that load the project in the morning, work over the day with it, only to shut it down in the evening before they go home. If even that, just locking the work station before going home is quite common in a lot of places. As to being forced to work with inheritance, I think that's not quite true. Yes, you need to inherit the right base class for your code, but in no way are you forced to make inheritance trees to build your game, it has all the necessary tools to work with composition instead. That's more on the way you're using it than how you *have* to use it. At least in my experience.
@natecoley160
@natecoley160 10 ай бұрын
i think the most usual missing points then people talk about game engines is Editor, unity has one godot has one, bevy does not, and that is not important for coding a game, but super important to prototype and compose stuff. I think bevy and other game engines (especially ECS based) should invest some time in editor, and more examples of most common ecs patterns (like drag n drop, composing of systems (one system could depend on another for example) and so on)
@unknowngobelin
@unknowngobelin 11 ай бұрын
Really interesting, as someone who only used unity it really makes me want to try other game engines
@igorthelight
@igorthelight 10 ай бұрын
I think it's time now ;-)
@ywenp
@ywenp 9 ай бұрын
Nice! Your concerns seem similar to mine when developping (ie. avoiding a tangled mess of interdependent objects. Coming from functional programming, learning Godot was a lot of "Okay, it's great to have a high level tool to do all that but damn, I wonder how that mess of data and code in scripts scattered everywhere is gonna hold when the game grows..."). I wonder if you had a look at Defold too? It's a name that pops up a lot when looking at open source game engines. I was wondering how it compares in terms of code management to Godot. Its object system is closer to Unity's (game objects vs components), and I like how the various objects are factorized (you don't have "2D nodes" vs "their 3D equivalents" like in Godot, the same node can be used in a 2D scene or a 3D scene, which is awesome for 2.5D games or sprite-based 3D games) but it relies a lot on message passing, which appears pretty similar to Godot's signals.
@cherl1e
@cherl1e 11 ай бұрын
this video was the final thing that made me switch to godot whether i will stay or not i dont know but we shall see
@timberdev
@timberdev 11 ай бұрын
Good luck :D
@Skeffles
@Skeffles 11 ай бұрын
I've seen bits and bobs about ECS systems but this video really made me understand the basics. Why did you feel the need to change to this?
@ratratguy
@ratratguy 11 ай бұрын
awesome game so far, can i ask, what do you use to make art for the game?
@ND6K
@ND6K 4 ай бұрын
How do you make the amazing animations/visuals comparing Unity and bevy’s composition vs inheritance structures?
@Erros
@Erros 10 ай бұрын
Funny enough the man that popularized ECS, Mike Acton, is the same person who wrote the DOTS system for unity.
@davidmcbride5357
@davidmcbride5357 11 ай бұрын
well what do you think about unreal approach?(Unreal Uses Actor model and have many differents with other game engines)
I Optimised My Game Engine Up To 12000 FPS
11:58
Vercidium
Рет қаралды 600 М.
Simulating an ENTIRE Ecosystem... | Devlog 4
8:11
SigmoidDev
Рет қаралды 52 М.
Heartwarming moment as priest rescues ceremony with kindness #shorts
00:33
Fabiosa Best Lifehacks
Рет қаралды 38 МЛН
why you were forced to learn the recorder in school
19:34
Answer in Progress
Рет қаралды 14 М.
Best FREE Software for Game Development in (2024)
8:01
anyDev
Рет қаралды 33 М.
Can You Develop Games as a Hobby After Work?
10:10
DevDuck
Рет қаралды 414 М.
Unity DOTS vs Bevy - A Performance Comparison #rust #bevyengine #unity
6:00
Blazingly Fast Greedy Mesher - Voxel Engine Optimizations
23:35
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,5 МЛН
When Your Game Is Bad But Your Optimisation Is Genius
8:52
Vercidium
Рет қаралды 1,4 МЛН
BEKMOBILDA Tecno Camon 30 smartfoni🔥🤩 #bekmobil
1:01
Bekmobil shorts
Рет қаралды 2,3 МЛН
ВАЖНО! Не проверяйте на своем iPhone после установки на экран!
0:19
ГЛАЗУРЬ СТЕКЛО для iPhone и аксессуары OTU
Рет қаралды 6 МЛН
Это Xiaomi Su7 Max 🤯 #xiaomi #su7max
1:01
Tynalieff Shorts
Рет қаралды 2 МЛН
Как бесплатно замутить iphone 15 pro max
0:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 4,9 МЛН
S24 Ultra and IPhone 14 Pro Max telephoto shooting comparison #shorts
0:15
Photographer Army
Рет қаралды 9 МЛН
Какой ноутбук взять для учёбы? #msi #rtx4090 #laptop #юмор #игровой #apple #shorts
0:18