Architecting a Rust Game Engine (with Alice Cecile)

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ธ.ค. 2024

ความคิดเห็น • 57

  • @ayoubes
    @ayoubes 2 หลายเดือนก่อน +47

    I'm fascinated by the first ~2 min intros you do at the beginning of each episode, always feels like the start of an exciting upcoming adventure. Great episode as usual

    • @DeveloperVoices
      @DeveloperVoices  2 หลายเดือนก่อน +15

      Thanks! It takes me a ridiculously large amount of time to figure out what I'm going to say each week. I'm glad it's worth it. 😅

    • @dpx4029
      @dpx4029 2 หลายเดือนก่อน +5

      Agreed. This is probably the highest quality podcast ever in terms of intro and questions.

  • @mattlarson2893
    @mattlarson2893 2 หลายเดือนก่อน +28

    Kris, you ask the best questions! Thanks for another great one!

    • @DeveloperVoices
      @DeveloperVoices  2 หลายเดือนก่อน +6

      I do my best. Glad you're enjoying them. 😁

  • @TheHubra
    @TheHubra 2 หลายเดือนก่อน +6

    Having used this engine over the last six months, this video felt very meaningful to me and i was very excited to have learned it was about Bevy. Ty for doing this!
    And as always you both nailed this interview 👍

  • @Aleamanic
    @Aleamanic หลายเดือนก่อน +3

    I love how Alice's mind works! Bevy speaks to me on a deeply spiritual level. The whole system dynamics, complexity, emergence theme.

  • @marko-lazic
    @marko-lazic หลายเดือนก่อน +1

    This was great. Thanks! Favorite quote: "Having a really strong connection with the people who are actually using your product is really, really important to making the right decision than that."

  • @jameshamann465
    @jameshamann465 2 หลายเดือนก่อน +2

    This video has made me want to get into Rust and Bevy. Alice's passion and knowledge is inspiring!

  • @ally_jr
    @ally_jr หลายเดือนก่อน +1

    Alice is easily one of the top guests on the channel! Loved every second of this - Very informative!

  • @diehenne
    @diehenne 2 หลายเดือนก่อน +6

    Cool, thanks. Always wanted to see Alice live!

  • @eatenpancreas
    @eatenpancreas 2 หลายเดือนก่อน +12

    Happy to see Alice on this! Love her dedication to bevy and the community around it. It means alot!

  • @MagpieMcGraw
    @MagpieMcGraw 2 หลายเดือนก่อน +12

    My hot take is that if you want to do OOP polymorphism(call the same function on different types of objects), what you really want is an ECS.

    • @eatenpancreas
      @eatenpancreas 2 หลายเดือนก่อน +5

      @@MagpieMcGraw it's kind of the same philosophy rust has overall. Instead of a deeply nested structure with a billion overrides, it's a flat structure with only functionality you need.. And if you really need all the functionality of another object, just store the "parent" inside the struct (and deref is amazing in combination with this!). Don't get me wrong, OOP does work decently well for games, but ECS leads to more organised and dynamic systems in my experience

    • @avwie132
      @avwie132 2 หลายเดือนก่อน +9

      That is not really a hot take and literally just composition over inheritance

  • @robindeboer7568
    @robindeboer7568 13 วันที่ผ่านมา

    bevy has a really unique position to be able to not even have to build an editor by being able to create a live reload ad editing experience as a blender plugin

  • @RoamingAdhocrat
    @RoamingAdhocrat 2 หลายเดือนก่อน +18

    "Bevy! Bevy Bevy Bevy Bevy Bevy!"
    - tantan

  • @licriss
    @licriss 2 หลายเดือนก่อน +1

    Ha this was the perfect pace and level of detail for me and really helped me grok ESC better, thank you both!

  • @OskarNendes
    @OskarNendes 23 วันที่ผ่านมา +1

    I think Bevy goes beyond being a game engine. It is a discussion about how to build software. It was this that attracted me to this framework. Because if I wanted to continue building software in the same way as I built in the past, there would be no reason to learn Rust. So I think it is important to the Rust ecosystem exactly because it opens the discussion to experimentation.

  • @ByteTavern
    @ByteTavern หลายเดือนก่อน +1

    after watching half of this, holy sh*t i don't wanna make a game engine. I've dabbled in some creative graphics (not really my thing) and audio programming (does my head in but I love it).. but a whole game engine.. Alice is a beast, and to be a leader of a project as usable as bevy - as early days and "immature" as it is relatively speaking - is orders of magnitude more complicated than I and many developers will ever have to handle. I'm happy I don't have to do that but also so inspired by it

  • @lcssbr
    @lcssbr 2 หลายเดือนก่อน

    The video definitely helped me understand Bevy a little better as I just started using it for curiosity. Thanks for the content!

  • @flwi
    @flwi 18 วันที่ผ่านมา

    41:42 you're highly parallelized yourself 😂
    What a great discussion! I find bevy quite interesting and have played around with it while learning rust. Very cool because of ecs. This concept feels quite natural to me.
    But I got a bit frustrated, because I'm a graphics n00b and have no idea what I'm doing. And when the screen is blank you think "At least it's blank at 120Hz" ;-)
    I hope this project succeeds for a long time. The community is super helpful and friendly. And after hearing about Alice's management style I think she plays a big role into bevy's success. Thanks a lot for keeping the project going!

  • @chillyvanilly6352
    @chillyvanilly6352 27 วันที่ผ่านมา

    Quick note here (as somebody who's making his own game engine (also written in Rust)):
    the way I see it, a game engine *consist at the minimum* of the following:
    - Physics system
    - Rendering engine (2D, 3D or both -capablel, possibly architected in a standalone fashion, depending if one wants to use it for something else as well)
    - core "subsystems"/components:
    - (typically) event-based system
    - input handling
    - device handling (such as HID etc, which play a BIG role in things like rally games, where you (as I did) plug in a home-made/DIY handbreak etc to have it work in a PnP fashion with the engine, etc)
    - ...and so on
    the editor isn't really that much of a necessity, assuming one knows at the very least what a game engine IS and how it is intended to be used, including a (ideally/hopefully) clean & intuitive API

  • @irlshrek
    @irlshrek 13 วันที่ผ่านมา

    This was fascinating!

  • @voidmind
    @voidmind 2 หลายเดือนก่อน +1

    That was very interesting. Many projects would benefit from having someone like Alice Cecile

  • @Burgo361
    @Burgo361 2 หลายเดือนก่อน +1

    I really like that structure of ad-hoc teams, I can imagine it brings some of its own issues but it sounds like a great idea

    • @QuickNETTech
      @QuickNETTech 2 หลายเดือนก่อน +1

      What's interesting to me is that this is a nearly anarchistic way of organizing, what was being described as systems and incentives and a lack of authority to make people do things, the focus on concensus, it's all very closely aligned with leftist socio-economic theory. If anyone's interested in more I suggest looking up A Modern Anarchism here on TH-cam by a creator known as Anark.

  • @pjoncbsoft
    @pjoncbsoft 2 หลายเดือนก่อน +9

    Gotta play this one at 0.5x speed 😅

    • @nickmills8476
      @nickmills8476 หลายเดือนก่อน +1

      If only playback speed could be applied dynamically, based on the speaker.

  • @alphabitserial
    @alphabitserial 2 หลายเดือนก่อน +5

    Bevy is so great, and much of the work they do is compartmentalized and useful in other areas of the Rust ecosystem!

  • @mbkhan1000
    @mbkhan1000 2 หลายเดือนก่อน

    The best software engineering podcast!

  • @alst4817
    @alst4817 2 หลายเดือนก่อน +4

    Bevy?
    Why thank you, I would love one!

    • @DeveloperVoices
      @DeveloperVoices  2 หลายเดือนก่อน +1

      I so nearly dropped that pun into the intro, but I figured it wouldn't i18n well. 😁

    • @alst4817
      @alst4817 2 หลายเดือนก่อน

      @@DeveloperVoices gaming on Linux has become really popular: you need to talk to the developers behind Wine!

    • @SundaraRamanR
      @SundaraRamanR หลายเดือนก่อน +1

      I learnt about this meaning very recently, and the surprising part to me was that it's British slang apparently. It sounds very Australian to me, with their brekkies and barbies over there.

  • @rizrmd
    @rizrmd หลายเดือนก่อน

    Well, what alice describing ecs is like how DOM works in browser.

  • @oscbit
    @oscbit 2 หลายเดือนก่อน +5

    Pls invite some MLIR people

    • @DeveloperVoices
      @DeveloperVoices  2 หลายเดือนก่อน +5

      Ooh yes, good idea. The closest we have so far is the Mojo episode with Chris Lattner. It's definitely worth going down into MLIR itself. 🙂

  • @peterhayman
    @peterhayman 2 หลายเดือนก่อน +5

    yaaay alice is the best, she makes contributing to bevy so much fun ❤

  • @MrTheSmoon
    @MrTheSmoon 2 หลายเดือนก่อน +5

    For low level audio nerdery Sam Aaron creator of Sonic pi or Andrew Kelly from the zig Software foundation migth be good guests

    • @DeveloperVoices
      @DeveloperVoices  2 หลายเดือนก่อน +4

      Sam has been on my list for over a year now. He's promised to join me as soon as his home studio stabilises. 😁
      As for Zig, Loris Cro's said he'll send me a signal flare as soon as Andrew emerges from the Development Mines. 🤞

    • @MrTheSmoon
      @MrTheSmoon 2 หลายเดือนก่อน

      @@DeveloperVoices looking forward to both

  • @sortof3337
    @sortof3337 2 หลายเดือนก่อน

    First 😂.
    Never miss these myself. 😊

  • @arunray2986
    @arunray2986 หลายเดือนก่อน

    I simply don't get RUST.
    I was learning it but gave up in the middle. GO suits me the best and I am happy with it.

    • @empathy_monster
      @empathy_monster หลายเดือนก่อน +1

      It really depends on what you're trying to do. I personally don't see a need to write games in Rust, although I welcome a game engine written in Rust. Go is perfect for things like CLIs and backend services. Where Rust really shines is at the low level. The embedded space is maturing, and I personally look forward to a UNIX/Linux clone with a monolithic kernel (yes, I'm aware of Redox). I do, however, absolutely think it's possible to over-engineer software by using Rust when another simpler language would do.

  • @jamesarthurkimbell
    @jamesarthurkimbell 2 หลายเดือนก่อน

    GEORGE: She's a fast talker, Jerry!
    JERRY: [palms up, head tilted] What's the rush?

  • @seanaguinaga
    @seanaguinaga 2 หลายเดือนก่อน

    I need this for AGI work

  • @CasimiroBukayo
    @CasimiroBukayo หลายเดือนก่อน

    If it can only build into an android binary...

  • @Palessan69
    @Palessan69 หลายเดือนก่อน

    did you just unlock a new lower level of hell?

  • @zelllers
    @zelllers 2 หลายเดือนก่อน +1

    Interview Richard Stallman

  • @iceX33
    @iceX33 2 หลายเดือนก่อน +3

    I went the ECS rabbit hole in 2012 which resulted in a few projects and a few conference talks. For non game developers this talks is probably the best one. th-cam.com/video/lt4eL4RSx7k/w-d-xo.htmlsi=PYflbWLGtP2S8OQr my ultimative goal would be to create a programming language based on ECS idioms.

    • @Maximetinu117
      @Maximetinu117 หลายเดือนก่อน

      > my ultimative goal would be to create a programming language based on ECS idioms
      hey, do you know if such a thing exists? I have thought the same: in the same way that OOP idioms got into the popular languages, it feels like ECS idioms can end up built-in a language in the same way as well