Camera Systems | Game Engine series

Поділитися
Вставка
  • Опубліковано 28 лип 2020
  • Patreon ► / thecherno
    Twitch ► / thecherno
    Instagram ► / thecherno
    Twitter ► / thecherno
    Discord ► thecherno.com/discord
    Code ► github.com/TheCherno/Hazel
    Series Playlist ► thecherno.com/engine

КОМЕНТАРІ • 62

  • @roseros93
    @roseros93 3 роки тому +23

    Groups are faster than views but "own" their components. Accessing components listed inside a groups template arguments "" from another view could cause errors. To get around this, groups offer the option of listing the type inside the group constructor as (entt::get), making is accessible to other users.
    Views do not have this "problem" / feature and should be the goto solution for components shared between views and systems!

  • @Th3HarzyGamePlays
    @Th3HarzyGamePlays 3 роки тому +4

    Love the lighting in the background

  • @nikolaiarsenov1595
    @nikolaiarsenov1595 3 роки тому +1

    Good job! Keep components as clean as possible :)

  • @frisnitfrisnit
    @frisnitfrisnit 3 роки тому +6

    I appreciate that there's inevitably some hacking just to get some initial entity framework in, but with earlier videos in the engine series, I generally updated my modified version of the engine with the new tech from most videos, as the structure and interfaces were fairly clean (and you could make a game). With recent videos, it feels more like it's messing up previous engine code, or exposing that other systems now need rewritten. Are we better waiting until it's more mature and things like the Camera interface are tidied up to match?

  • @santi5655
    @santi5655 3 роки тому +7

    hey cherno thanks for the video! just wanted to ask why not to have a static member in your camera class to store the "primary" camera? It would be faster to render as you won't have to iterate through all the cameras in your scene inside the OnUpdate function right?

  • @robertocabiddu6008
    @robertocabiddu6008 3 роки тому +1

    21:08 when your preferred method backfires

  • @iBot.
    @iBot. 3 роки тому +3

    Please Cherno, it's 6AM

  • @Bytrl
    @Bytrl 3 роки тому +2

    I'm too interested in too many things related to problem solving or trial and error. No idea what you're doing. I just know its reminiscent of how I structure personal projects, or diagnose mechanical issues. I assume game development/ coding is one of those skills that once you know the basics, and the design language, the window of creativity just opens up, and everything goes from incredibly complex to sensible within a day, and than the tricks just add up over time with no ceiling. Seems very rewarding. Congratulations.

  • @nissanGold
    @nissanGold 3 роки тому

    Really coming along!

  • @AgentM124
    @AgentM124 3 роки тому +8

    20:15 you're still using a view not a group
    (probably has been spotted already but I thought I'd point it out)

  • @elirannissani914
    @elirannissani914 3 роки тому +1

    dude you are amazing! :)

  • @Chadderbox
    @Chadderbox 3 роки тому +6

    What are you going for in terms of this engine? Like one for performance or good looks or a mix of both? I don't know much about engines, but I find this absolutely enthralling.

    • @FruchteisMitErdbeer
      @FruchteisMitErdbeer 3 роки тому +5

      As far as I can tell, he writes it so it's reasonably easy to understand. There are rarely any complex optimizations (and the optimizing would be done later anyway). But he does do general best-practices like storing stuff to render in continuous memory for the entity system. I think it's still mostly made to be simple though.

    • @cyqry
      @cyqry Рік тому

      Judging from the way the series is going; he's going for an educational tool to show to people wanting to make their own engines.
      I could be wrong about Hazel Dev but that's locked behind Patreon, the version we're seeing on UA-cam is educational in purpose and likely won't be as performant or good-looking as it could be due to the increased complexity for both things.

  • @MrWisski
    @MrWisski 3 роки тому +3

    Using an Entity Component System (AWESOME), creating a camera component (AWESOME)....then hardcoding a seperate, non-ECS camera system. (UHHHHHHHWAT?!?) Why do it this way, and not create an Actual System for ECS? ALL the things are Systems. ALL OF THEM! Change my mind!

  • @adityapetkar3062
    @adityapetkar3062 3 роки тому +2

    u are so smart man!

  • @VineetNairhero
    @VineetNairhero 3 роки тому +6

    We know behind the "Camera" scenes as well cherno😎

  • @rukna3775
    @rukna3775 3 роки тому +1

    what color scheme are u using? if custom, please give a download link

  • @danielstrycharske8529
    @danielstrycharske8529 3 роки тому +2

    Yo Cherno, In episode 25 of the Game Engine Series (Rendering and Maintenance | Game Engine series), you have a stress ball you highlight around ~19:33... what kind is that, what is it called, who makes, where do I get it, etc? Please, it looks awesome and I've been wanting one for a while now. I've searched around trying to find it but not sure the material and haven't been able to find it. Please Cherno.... you're my only hope...

  • @classic9322
    @classic9322 3 роки тому

    heey. just a quick Question. did you planned to do like a little programm wehre you can create new Projects that names the Project files automaticly to the New Project name ?

  • @Vahig7
    @Vahig7 3 роки тому +1

    Can you please do a follow up video on the halo gameplay I would love to see more of your take on what they did because apparently they created a whole new engine for this game.

  • @manuelm.8364
    @manuelm.8364 3 роки тому +1

    I have a question about the entity system: When for example an NPC is build from a body and two legs and to arms and the legs and arms are moved with the body plus the movement relative to the body: Is this all one entity or more? I think in that case the arms and legs have transformations that depend on the body transformation. Is there some source code in a movement component that is responsible for such cases?

    • @cyqry
      @cyqry Рік тому

      Depends entirely on how you set the character up really. If you're creating a single Mesh that is all animated, or a Sprite that cycles through different images, then yes its all one entity. If its something like Rayman where his body is separated then you can either deal with it as separate MeshComponents in a single Entity or several separate Entities. It really would depend on how YOU make the character, since you're making the engine yourself.

  • @zainkhalid5393
    @zainkhalid5393 3 роки тому +1

    Everyone is like,
    Do this, Do that
    React to this, React to that

  • @sam_is_people1170
    @sam_is_people1170 2 роки тому

    thanks!

  • @nosiulconc1049
    @nosiulconc1049 3 роки тому

    The ultimate challenge could be to add 3d to this engine, you see but that could be seriously cool.

  • @monohrom9943
    @monohrom9943 3 роки тому

    Hi Cherno,please tell me how to change my visual studio theme,to have code color like yours.

  • @jesseburstrom5920
    @jesseburstrom5920 3 роки тому

    Today i was laid off work, i will wake up from now doing great work. Well corona is horrible to work systems is it not. Saw your first video 1 year ago saying it is general to use in different systems cool.

  • @beastboioioi
    @beastboioioi 3 роки тому

    I saw you commit that on GitHub ;)

  • @kavishshah6441
    @kavishshah6441 3 роки тому

    Where is the next video for data structures?

  • @aloluk
    @aloluk Рік тому

    Rather than looking for the primary camera each frame, that camera should register itself as the primary camera on initialisation.

  • @Al45kan
    @Al45kan 3 роки тому +3

    Man i wish i could make games ive had a few ideas, based on my Alaskan native lore and legends lol

    • @eeyadsirsawy4585
      @eeyadsirsawy4585 3 роки тому +5

      Well you can man, try Godot engine and check out GDQuest. He will teach you the basics and help you makes some games. I recommend you first get some python knowledge I recommend the book "Outomating things with python" it is free, very helpful and meant to help the very beginners.

    • @Al45kan
      @Al45kan 3 роки тому

      @@eeyadsirsawy4585 have you tried making games?

    • @eeyadsirsawy4585
      @eeyadsirsawy4585 3 роки тому +1

      @@Al45kan Yes, and with a bit of patience and some practice it can become very fun.

    • @akshayazariah
      @akshayazariah 3 роки тому +1

      Godot is pretty easy to use, doesn't have a hostile or toxic community (at least not anymore, regarding the latter), and GDScript is fun to use. C# runs on desktop platforms, iOS and Android, and if the funding continues, I assume that it'll be be ported to PS4 and Xbox ONE via Mono. The Switch is a different story, though.
      Plus, it's very extensible, has an active development community, and you can use C/C++ as a module, and Rust via GDNative (if you want to, for some reason).
      Lastly, Godot is very future-proof.

    • @cyqry
      @cyqry Рік тому

      @@Al45kan Hope you've started your journey since this comment!
      You don't need to build an engine to make games, in fact very few developers do. There are plenty of commercially and freely available engines out there that handle all the heavy lifting that you see being developed here, leaving the upper layers for game developers to focus on their own game! Because they've been developed over many many years by huge teams with far more funding, they're often far greater than anything you can build from UA-cam tutorials!

  • @saifbamadhaf
    @saifbamadhaf 3 роки тому +2

    I'd really like if u'd respond please. I'm going to university this year and I don't know what is better computer science or software engineering?. I want to be a game software developer. What do u recommend?.and what did u take in university?. Thank u

    • @pyrob2142
      @pyrob2142 3 роки тому +3

      Computer Science tends to be a very theoretical degree. While you will have practical courses as well, you will focus on the absolute ground work. Lots of math and automaton theory for example.
      Software Engineering on the other hand is usually a bit more practical. Sure, we learnt the foundations too, but we only skimmed over them to get us going, before we jumped into programming paradigms and patterns.
      Personally I would choose the software engineering program as it is usually the more practical approach and will get you to building software faster.

    • @iBot.
      @iBot. 3 роки тому

      @@pyrob2142 Very good response

    • @saifbamadhaf
      @saifbamadhaf 3 роки тому

      @@pyrob2142 one more Question. Can software engineers do software development for games and can u learn by time game designing. I'm asking, because I want to do both. One last thing, I don't know if this is true, but do computer science learn some stuff about computer hardware, because I'm also really intrested in that too?.

    • @saifbamadhaf
      @saifbamadhaf 3 роки тому

      @@pyrob2142 The thing is. I want to become a software developer but, if software engineering only teaches u about software. And computer science teaches u some level of computer hardware and software. I'd be a bit intrested in that. But, if they don't learn anything about hardware then software engineering it is. and can software engineers do game engines. I know its alot I'm asking but, I want to learn about everything, because I'm interested in everything game development has to offer. thank for u time.

    • @pyrob2142
      @pyrob2142 3 роки тому

      @@saifbamadhaf Games tend to be viewed as completely separate from other software projects, because of the artistic side of it, but in the end they are software projects after all. I'm sure the Cherno is in a better position to answer this, but in my experience it's not so different compared to a larger enterprise project with milestones, deadlines and also the overall stress level.
      I would go with the software engineering degree, because it gets you going faster and some even have the offer to specialize in game development. That being said I would also recommend to keep the undergrad degree broad and focus on specialization during your master's.
      In my undergrad degree we learned about the theoretical concepts that drive computers such as very low level logic gates and stuff, but if you mean designing and manufacturing actual hardware, logic boards and the likes: No. I think this is better covered in an electrical engineering degree.

  • @12affes
    @12affes 3 роки тому +4

    Until today, I never understood sportsfans when they would sit and yell at their tvs. Now, having watching someone else code, I get it :P
    Also, entt seems super clunky to work with.

    • @akshayazariah
      @akshayazariah 3 роки тому

      Yeah, I prefer Flecs, but EnTT seems pretty popular.

  • @tysaber5823
    @tysaber5823 3 роки тому +1

    bababoi

  • @hamdaman3593
    @hamdaman3593 3 роки тому +3

    Camera systemmmmmmmmssssssssssssssss

  • @catinwall4256
    @catinwall4256 3 роки тому

    eyyyyyy im walking heahhh

  • @darkdraconis
    @darkdraconis 3 роки тому

    @mooreslawisdead
    would like to do some content with you mate.
    Pls make it happen lmao would love to see that!

  • @tilakmadichettitheappdeveloper
    @tilakmadichettitheappdeveloper 3 роки тому

    can u tell me how to not suck at programming ?

  • @miko007
    @miko007 3 роки тому

    i kind of disagree with your structure... i think camera should be an entity, which should have a projection component a view component and a render component. i dont think the camera should be a component, as that would make a hell of a complicated component.

  • @bosonicboi
    @bosonicboi 3 роки тому

    Hey man! Can u react to the last of us 2 i m sure other ppl also wanna see your reaction to it

  • @MatakingOnPCp
    @MatakingOnPCp 3 роки тому

    React to stalker 2 strailer plZ

  • @novelbafagih1155
    @novelbafagih1155 3 роки тому +2

    first

    • @mupu
      @mupu 3 роки тому +4

      NOOO

    • @ThunderStormFortnite
      @ThunderStormFortnite 3 роки тому

      absolutely no one cares

    • @mupu
      @mupu 3 роки тому +1

      @@ThunderStormFortnite absolutely wrong :P