I Made a Game Run in 2D, React, and 3D

Поделиться
HTML-код
  • Опубликовано: 12 янв 2025

Комментарии • 35

  • @supertommy
    @supertommy  2 года назад +4

    If anyone decides to extend this project for another framework (gaming or not) then I'd love to hear about it!
    Source code: github.com/ourcade/ecs-dependency-injection
    Game Architecture (Unite 2017): ruclips.net/video/raQ3iHhE_Kk/видео.html
    Dependency Injection (JSConf 2015): ruclips.net/video/0kTq77ViAek/видео.html
    💬 Join us on Discord: discord.gg/p3vfese
    🐤 Follow us on Twitter: twitter.com/OurcadeHQ
    😎 Subscribe to this channel!

  • @terry-
    @terry- 2 года назад +3

    I like your humor, lol. Thanks for the info, this is something I will definetelly look up when I free up some time from projects. Cheers!

  • @goodpie7424
    @goodpie7424 2 года назад +5

    I have been always curious about DI and ECS. And I tried to understand it, but always failed because it was too obscure to me.
    But I wanna give it a one more try watching this video, because you are so confident about them. I like the way you think about game programing.
    Thanks for sharing your thought.

    • @supertommy
      @supertommy  2 года назад +1

      You are welcome! Glad the video inspires you to give ECS and DI one more try!

  • @DejaimeNeto
    @DejaimeNeto 2 года назад +9

    This is one of those extremelly useless things that programmers like to do just for the sake of it, and I love it!
    I mean... 3D and React were just Flex

    • @supertommy
      @supertommy  2 года назад +1

      lol, yes, basically a stunt for a video 🤣

  • @boot-strapper
    @boot-strapper 2 года назад +2

    Will be using phaser + bitECS + Brandi for my indie game project. I have 2 years of runway. Wish me luck!

  • @ha5anmukhlis
    @ha5anmukhlis 2 года назад +5

    I'm halfway through my phaser game and then I see this 😭

    • @supertommy
      @supertommy  2 года назад +2

      lol, everything or game we make/work on is practice for the next one!
      This is also not the only or “right” way

  • @eaquex
    @eaquex 2 года назад +2

    That's awesome. Great Job !!! It's very usefull

    • @supertommy
      @supertommy  2 года назад +1

      Thanks! Glad to hear it!

  • @lucasstott2192
    @lucasstott2192 2 года назад +2

    I was looking for something to run on my personal portfolio that is lightweight and can interact with DOM elements. I know three.js exist but for 2D using canvas what js engines would you recommend with overdoing it?

  • @raaaahman618
    @raaaahman618 2 года назад +2

    This is a nice example of "defensive programming", the fact you used this approach when developing browser games make the video quite unique.
    But the question is: should we?
    At the moment, you are mainly composing the update pipeline with the rendering functions of the engines. But games are more than just rendering assets. What would happen when you try to create scenes, UIs, animations, tilemaps, controls, sounds effects, particles, etc.? Should we use the modules provided with the game engines, and so build each of those several times? Or should we only rely on external librairies for everything?

    • @supertommy
      @supertommy  2 года назад +3

      Thank you!
      And that’s a good question. I don’t actually think building a game to run on more than 1 framework is necessary but that’s kinda like the extreme use for DI.
      It would be more helpful to use it for services within a game that is itself tightly tied to the framework
      It makes sense to use what the framework already provides for things like tilemaps, animations, etc
      One place where separating the logic from the rendering that is more common in games would be server authoritative multiplayer games where both server and client run the same simulation and can share the logic code if structured this way
      Thanks for this discussion!

    • @raaaahman618
      @raaaahman618 2 года назад +1

      @@supertommy Indeed, the authoritative multiplayer game server example makes sense. You'd only need the ECS and Physics system on the server side then, so no duplication of the other modules.
      But the other use for DI would be to allow to move easily from a game engine to another. It could make sense to program a game this way if you want, for example, to move from Phaser 3 to Phaser 4 whenever it is available for production... not sure about this one though.
      Anyway, your videos are opening perspectives, keep up the good job!

  • @RezaAkbar
    @RezaAkbar 2 года назад +1

    thanks for sharing, at least I'm bit know about DI, ECS and another framework like vitejs, or outside regular framework I used it

    • @supertommy
      @supertommy  2 года назад

      You are welcome! I think it’s good to know about what’s out there even if we don’t personally use it
      Keeps the brain supple!

  • @kyalocharles
    @kyalocharles 2 года назад +2

    thank you superTommy

  • @hevex
    @hevex 2 года назад +2

    good stuff

  • @Mickey-pt7yi
    @Mickey-pt7yi 2 года назад +2

    I like your video so much, I hope you can update more, I like these novel things very much, I hope there will be more explanations

    • @supertommy
      @supertommy  2 года назад +1

      Thanks! Definitely plan on sharing the experience and findings from building OSZG

  • @ohana83
    @ohana83 2 года назад +2

    Wow! I didn't know this concept at all, I'm going to research it, thanks again for your video it was great!

    • @supertommy
      @supertommy  2 года назад +1

      Thanks! Glad it introduced you to a new concept!

    • @Daniel_WR_Hart
      @Daniel_WR_Hart Год назад +1

      Almost every tutorial that I've seen about DI used overly-complicated examples that made me think that DI was some kind of fancy design pattern that I didn't have enough experience to understand, but little did I know I've been doing it ever since I learned how to compose objects from other objects in Java...

  • @Evan842Complex
    @Evan842Complex 2 года назад +2

    So ECS?

    • @supertommy
      @supertommy  2 года назад +1

      I think that ECS is definitely necessary but also dependency injection.

  • @BruceOnder
    @BruceOnder 2 года назад +2

    Two words: GOL DURN! 🤩🤩🤩

  • @actionscript3661
    @actionscript3661 2 года назад +1

    better use Dart and Flutter

  • @crosfitjesus
    @crosfitjesus 20 дней назад

    😅