INSANE shooter with WAY too many bullets (Unity ECS Tutorial) - PART 1

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

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

  • @sasquatchbgames
    @sasquatchbgames  7 หลายเดือนก่อน +4

    Hey all! If you want your bullets to spawn the same way they do in the video thumbnail:
    In your PlayerSystem script: Use this line for your bulletTransform.Position:
    bulletTransform.Position = playerTransform.Position + playerTransform.Right() * 1.65f + bulletTransform.Up() * randomOffset - bulletTransform.Right() * math.abs(randomOffset);

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

    Very concise and easy to follow. Thank you for the brief explanation. Looking forward to part 2!

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

    Great job! Hope to see a full game with your ECS tutorial series.
    It's a new thing for many developers and I think you can feel free to explain even more of how each of the systems works or some other why`s. Like i would love to know more about the Burst compatibility concerns you mentioned at the end of the video :)
    Keep it up!

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

    I adore the ECS, however I also severely dislike how every game prototype made with it completely lacks animations. The car flight game was a nice move by Unity team because cars don't need animation.

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

    new Unity DOTS Framework is completely different than traditional MonoBehaviour,
    thats make my brain hurt

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

    I need more content like this

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

    Interesting approach to teaching ECS. I feel like every other tutorial about ECS spends so much time on well.. ECS itself. But you're just going straight for it, how to make this thing. On one hand having already consumed a decent amount and basically understanding ECS already that makes this super easy to understand and consume, on the other hand I think for people who aren't all that well versed in ECS this might be a bit tough. We'll see. Good job.

  • @rickiousproductions
    @rickiousproductions 7 หลายเดือนก่อน +5

    WAAAAAYYYY beyond me. I'm a designer not developer... BUT have sent this to a client who it might be useful too. 😎👍

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

      Can you design for me

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

    I respect the awesome power of ECS and DOTS, but I'd be lying if I said this workflow and having to relearn all the syntax didn't make my brain and soul hurt.

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

      Yea that's true but i think it's worth it but only if you have all the same functions as with gameobjects, collisions and so on

  • @sannanch5512
    @sannanch5512 7 หลายเดือนก่อน +5

    Hey bro...
    it's a suggestion...
    how about building a complete course from beginner to intermediate.
    I think it will be very useful for everyone who wants to understand DOTS but didn't know where to start.

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

      I agree, however in the meantime there is a TH-camr named Turbo Makes Games that has a lot of videos on Dots and ECS. Unsure how good they are because I have not went through them yet, but the videos seemed good on my initial impression.

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

      @@ImmortalTimothyM Yeah I have watched him, but he is not beginner friendly.

  • @Mimonsi
    @Mimonsi 17 วันที่ผ่านมา

    I followed each step directly, but my Bullet System just doesn't get executed. With/Without Burst Compile, I also tried making the OnUpdate method public, nothing changes. Breakpoints in the BulletSystem are also never hit, even though they are hit in the PlayerSystem. Any ideas?

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

    Keep up the good work!

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

    Thank you.

  • @parkHC-h4u
    @parkHC-h4u 2 หลายเดือนก่อน

    thx, It really good guide
    Systems basically GameObjects in OOP based Unity.
    Components are some kind of function collections?
    If I want control bullets with some triggers and change direction or pattern, still efficient for performances?

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

    why does sprite renderer affect the player system? i mean if i delete sprite renderer, i get an error that local transform is not found

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

    Time for simulated rain

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

    As someone who wants to make shmups, I wish there were more tutorials like this for the Godot engine.

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

    Hey do you think BulletLifeTimeComponent and BulletComponent could have been lumped together into a single component since you can't really have one without the other in most cases? Or is it somehow more efficient to keep them separate? Just trying to get a feel for the proper ECS philosophies.

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

    Nice tutorial! i am new to all of this.
    Can you cover jobs system as well please

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

    Also, since the rotation and scale of a bullet is not really necessary (the rotation can be automatically derived from it's velocity instead), I wonder is there a way to give bullets a Position only component without using all of LocalTransform, which is slightly wasteful for the data cache in ECS if I'm not mistaken?

  • @СычевДмитрий-р7ш
    @СычевДмитрий-р7ш 20 วันที่ผ่านมา

    It really doesn’t showcase profiler and bottlenecks, as well as other ecs examples. For example DrawInstanced optimises GPU, and you don’t need ecs clunky apis for that. While it’s true for physics might benefit from ecs, there are pretty much algorithms for many use cases which will do pretty well without needing multithreaded jobs. For example trees or just culling. Also you can use jobs outside of ecs. Some platforms like webgl have limitation for just one thread even. All in all, all ecs vids look like misleading ads for me mostly. Nice tutorial, thank you for the content though.

  • @jessyjdirado
    @jessyjdirado 11 วันที่ผ่านมา

    Discord link seems inactive.

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

    That frame drop from 1:03 makes me uncertain of this technology

    • @Hazzel31337
      @Hazzel31337 7 หลายเดือนก่อน +4

      that might be an editor thing, performance is normally better in build

  • @정동우-n2x
    @정동우-n2x 7 หลายเดือนก่อน

    May I ask a question because I don't quite understand? Like you, I want to create a system where bullets are fired massively at the end.
    Is it okay to use ECS (Entity Component System) only for bullet creation, and not for other systems? I'm not familiar with the concept of ECS, so it would be difficult to modify all systems, but I would like to implement just the bullet creation using ECS. You wrote all your code to suit ECS, but I want to use ECS only for bullets.
    Have I effectively leveraged the advantages of ECS?
    I apologize for the frustrating and basic question, but I would appreciate your response.
    In other words, is it effective to configure only some systems with ECS instead of using ECS for all systems?

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

      You can have a mix of mono behaviors and ECS. So yes you can only do the bullets

    • @정동우-n2x
      @정동우-n2x 7 หลายเดือนก่อน

      @@iFAKEYx THX BRO!!!

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

      yes but i think if you want to acces the position of the ship, so that you can set the direction for the bullets won't be possible anymore. Only if you would still store the ship as an entity it would be. Then you could controll it via Monobehaviour.

  • @정동우-n2x
    @정동우-n2x 7 หลายเดือนก่อน

    WOW

  • @moshaaah
    @moshaaah 7 วันที่ผ่านมา

    hmm... getting 15 fps while shooting... Testing the exact same code, but in a 3d scene and URP enabled. My player is just a simple sphere. So as the bullets... Will change it to 2d to see if there are any differences.... Legion 5 laptop - CPU: Ryzen 7 5800H - Graphics card: RTX 3050 Ti. RAM 32 Gb.
    [Edit]: after switching to 2d, I get 25 fps while shooting. Fps while not shooting ~80.

  • @OmerFarukGonen
    @OmerFarukGonen 11 วันที่ผ่านมา

    Now make it multiplayer 😊

  • @aiadtariq9964
    @aiadtariq9964 26 วันที่ผ่านมา

    Another tutorial is required to explain this tutorial

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

    So tis is DOTS hmm

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

    Now i know i wont be using ESC 👍🏼 thanks for this tutorial anyway

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

    30 to 45 batches in drawcalls...not bad at all... But I think I will learn GODOT...
    BRACKEYS is back and got me motivated to learn open source again...I have a few ideas for new viral games!

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

      If Godot finds out how to do ECS better than Unity, I'll never go back.

    • @ragerungames
      @ragerungames 7 หลายเดือนก่อน +4

      Never blindly follow trends, mate. Follow your heart's desire. Both Godot and Unity are game engines, and at this stage, the distinction between open source and proprietary might not matter much. Currently, Unity offers features comparable to or even better than what you'd find in Godot. While you can't access Unity's engine code, ask yourself if it truly matters to understand what's happening behind the scenes. Ultimately, choose the engine that aligns best with your vision and goals.

  • @Coco-gg5vp
    @Coco-gg5vp 7 หลายเดือนก่อน

    First