DESIGNING our GAME ENGINE

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

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

  • @utkucandogan6623
    @utkucandogan6623 6 лет назад +1274

    Since you emphasize you can't build unreal engine, name your game engine "real engine"

  • @DrewYoungThomas
    @DrewYoungThomas 6 лет назад +81

    Acrylic Engine: Acrylic is tough and transparent, so when you are trying to explain how a certain type of engine works an Acrylic model lets you see everything working inside.
    or perhaps Glass Engine but that sounds application specific.

    • @Astr0B
      @Astr0B 6 лет назад +2

      Clever and catchy

  • @loryon
    @loryon 6 лет назад +38

    The game engine has been called Hazel

  • @SteinCodes
    @SteinCodes 6 лет назад +339

    Networking Layer please.
    It is something I or most people I know have no real idea how to do so I am rooting to see how to do it.

    • @abdullahamrsobh
      @abdullahamrsobh 6 лет назад +15

      that would be awesome and something that is very very unique about this series hope he do it

    • @maverick7615
      @maverick7615 6 лет назад +1

      Can’t agree more!!!!

    • @jonathanrosado8874
      @jonathanrosado8874 6 лет назад +1

      YES PLZ

    • @DevScape
      @DevScape 6 лет назад

      Stein Codes yes, and please make more tutorials! They're really helping.

    • @SketchpunkLabs
      @SketchpunkLabs 6 лет назад +7

      Think that might be a bit complex for this series. If you need help on networking, try to look up tutorials on creating a real time chat server. Should teach you client / server interactions and how to push out updates to connected clients. If your point is multiplayer games, the concept of a chat server can be used, instead of sending lol or whatnot to the chatroom(game match), you pass your current location and action (attacking, driving, etc) then the client games act apon that data. Something like this will get you started in the right direction in the fundamentals.

  • @cookiecan10
    @cookiecan10 6 лет назад +62

    I'm going through your C++ and OpenGL series right now, I'm really hoping I can get up to a point where I can understand everything in this series. You're doing an amazing job explaining everything and I'm really exited to follow this series!!!

    • @PflanzenChirurg
      @PflanzenChirurg 6 лет назад +9

      i would be glad to help you out over facebook if you need it :) C++ took myself alot time to learn honestly

    • @Lameless
      @Lameless Год назад

      I know this is old@@PflanzenChirurg but you still available to help out?

    • @sable4539
      @sable4539 9 месяцев назад

      How did it go?

  • @BlackJar72
    @BlackJar72 6 лет назад +23

    I suspect this will be the best game programming series ever -- especially because its not going to be rendering-centric. One of the first thing I discovered first hand is that its fairly easy to write a working 3D rendering engine that is poorly designed for an actual game. I wish I could afford to support this.

  • @studionascosto
    @studionascosto Год назад +6

    Spent my 20s working just to pay bills but, now being 32, I have quite my job to finally pursue my goals including becoming a programmer. You have been so helpful as I have been going through my online classes and this series on building a game engine is very exciting! Thank you very much!

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

      Did you have any experience before you started your classes? I am completely clueless to coding and game development but I want to learn so bad. I don’t even know where to start because it seems so overwhelming.

    • @zenith2808.
      @zenith2808. Год назад +1

      ⁠@@Beelzebubby91Well, Cherno’s C++ series might be really good even for a beginner(that’s how I feel), while it might not be the best idea to learn C++ as your first language but you can try. I absolutely loved the C++ series, maybe give that a shot?

    • @Alucard_Seven
      @Alucard_Seven Год назад

      @@Beelzebubby91 i recommend you follow the chernos c++ series to get a grasp of the language

    • @kledynk6591
      @kledynk6591 Год назад

      Same story here. Almost 10 years experience in a career I don't care for. Now it's all on me to finally take charge of things.

    • @sable4539
      @sable4539 9 месяцев назад

      ​@zenith2808. I think learning C++ as a first language is fine, because if you understand C++ you can probably understand most other popular languages

  • @justaplebdontmindmeii452
    @justaplebdontmindmeii452 3 года назад +1

    Thanks god you also have a opengl series. i just started the engine series and i am so excited, thanksfully i have a lot of time in hands since where i live there's going to be another lockdown so. i hope that in that period of time i can catch up to everyone else

  • @oliviadrinkwine1411
    @oliviadrinkwine1411 4 года назад +98

    Honestly the only real reason I want to build a game engine is to learn how they work. And as a exercise for me to get back into programming with C++ since I do know how it's just been a few years.

    • @itzillyum
      @itzillyum 3 месяца назад

      Making a game engine for this exact reason, I just can’t seem to wrap my head around how an entire engine work

    • @Rattatui-07
      @Rattatui-07 2 месяца назад

      For me, it's exactly the same. And in my opinion, it's the only real reason why you should build a game engine for yourself

  • @peterSobieraj
    @peterSobieraj 5 лет назад +3

    From my experience if you are build engine by your self it's better to build "Level editor" as separate application. Same with "Texture Editor", "Model Editor", etc.
    There reason for it is when I build something big, I always make some mistakes in design, before I start writing code.
    Maybe that GUI library that I decided to use it's bad. Or maybe I should have organize files differently, or something else.
    If you build engine as one gigantic application, mistake like that will make you rewrite lot of code. In my case usually take down whole project.
    But if you separate it in to few applications, each time mistake like that hits you, it won't hurt that much. You can live with it, or fix it, or in worse case relatively quickly rewrite it.
    I'm a proffesional programmer for 13years, and still at every project at some point I'm saying to my self "I should have done it differently".

  • @brycejohansen7114
    @brycejohansen7114 6 лет назад +76

    Maybe call the engine "Prometheus" because it's kind of like you're bring "fire to man" -> bring "a professional Triple-A approach to building an engine to us simple hobbyists"

    • @sachhmoka2953
      @sachhmoka2953 4 года назад +13

      And because Prometheus sounds like a badass name

    • @Nerf_Jeez
      @Nerf_Jeez 5 месяцев назад

      Blizzard already used that

  • @hayabusa1x
    @hayabusa1x 6 лет назад +7

    I'm glad you're starting on some of the more core features. There's already plenty of tuts on graphics and loading windows.

  • @N3therPig
    @N3therPig 6 лет назад +8

    I love the analogy of debugging being like scaffolding. Very accurate

  • @matt-g-recovers
    @matt-g-recovers 3 года назад +1

    I am so freaking stoked...
    Looking ahead at topics and I am glad to see everything covered here
    ( because I don't have to go elsewhere... I get the Cherno man... the Cherno gets us...)

  • @ChuckstaGaming
    @ChuckstaGaming 5 лет назад +7

    "Supporting other platforms in the future"
    I love that!!!
    I am mainly interested in the Vulkan graphics engine, and was looking to implement that in my own engine, but happy to start with OpenGL 😁

  • @SketchpunkLabs
    @SketchpunkLabs 6 лет назад +6

    I can say building a game engine on your own is a massive endeavor, i've been at it for almost 2 years now and I'm still not at a point to make a games.

  • @UnicycleSoul
    @UnicycleSoul 6 лет назад +405

    Chernobyl seems a fitting name :3

  • @ThePreyBrigade
    @ThePreyBrigade 5 лет назад +110

    5:24 “I also have a full time job building game engines for EA.”
    Oh... I’m sorry to hear that 😞

    • @Skyrunner-nu8dp
      @Skyrunner-nu8dp 5 лет назад +14

      Noxid The Gamer well they probably pay him a lot cuz they have so much money. Or maybey they don’t pay him a lot because they want so much money

  • @RaigyoEcU
    @RaigyoEcU 3 года назад +1

    after reading game engine architecture for months i'm ready for these Game engine videos

  • @gleb.ignatev
    @gleb.ignatev 6 лет назад +2

    It's a bit scary of how many different things you have to know to actually build your own engine from scratch

  • @oj0024
    @oj0024 6 лет назад +20

    the hype is real

  • @grhayes
    @grhayes 4 года назад +1

    Suggest adding a content or asset management system. That way it stores things like textures, models, sounds, scripts, and shaders. That way they only get loaded once even if another file or object needs it and it can track what is and isn't using it. When it's no longer in use can tell memory manger to clean up.
    Later on you probably want a task manager to make use of multiple threads the best way possible.

  • @TheGrimravager
    @TheGrimravager 6 лет назад +19

    I am not an experienced coder, but I do almost have my bachelor's degree in physics :D
    I only just realised there's obviously going to be physics related stuff in an engine, so that's going to be double interesting

  • @KevinvanderBurgt
    @KevinvanderBurgt 6 лет назад +35

    HazelEngine (that new project i saw on your github with an empty repo)?

  • @doctortrouserpants1387
    @doctortrouserpants1387 2 года назад +10

    Every now and then I remember (and it blows my mind) that you are offering all this expert tuition for FREE! I can only offer huge gratitude and respect in return, plus a small donation when I can. Thank you very, very much.

  • @petrkassadinovich2705
    @petrkassadinovich2705 4 года назад +1

    Thank you for tutorial Cherno! I'm agreed that is much better to make a good foundation and infrastracture first.

  • @jordanchapman5341
    @jordanchapman5341 6 лет назад +51

    NAMES:
    -Upside Down Engine (built in Australia)
    -BueT Engine
    -Charno 3D
    -Chengine
    -Godly Engine
    -GES Engine (Game Engine Series)
    -Steady Engine (because it will be developed slowly, but steadily)
    -Bugless 3D (because you are perfect)
    -Cherno BB Engine
    -Tutor Engine
    thats all I got for now. Upside Down Engine is my favorite

    • @andrewdavid308
      @andrewdavid308 6 лет назад +3

      Do you come from the land down under?

    • @bamberghh1691
      @bamberghh1691 6 лет назад +8

      Add "real engine"

    • @ZeldaCorporation
      @ZeldaCorporation 6 лет назад +11

      i like the idea of Chernobyl. cause this game engine will be da bomb XD

    • @MrTostifrosti
      @MrTostifrosti 6 лет назад +1

      +1 on the 'GES Engine (Game Engine Series)' name

  • @kplays_6000
    @kplays_6000 6 лет назад +6

    I'd love to see Box2D support! Also, Real Engine would be a great name!

  • @MatkoFaka
    @MatkoFaka 6 лет назад +6

    Suggestion:
    Make it modular so that every subsystem can be easily switched e.g
    3DRenderer -> 2DRenderer
    YourPhysicsEngine -> SomeVerySpecialPhysicsEngine and so on.
    thx

  • @mateuszkulesza8528
    @mateuszkulesza8528 Год назад

    excellent video, I was looking for something like this for a couple of weeks, thanks!

  • @axeldaguerre8838
    @axeldaguerre8838 5 лет назад +1

    thank you for this series really definitely will suport you on patreon

  • @WarrenMarshallBiz
    @WarrenMarshallBiz 6 лет назад +3

    I'm super excited about this series, thanks for putting it together! Let's goooo!! :)

  • @никто-д1ю5ф
    @никто-д1ю5ф 4 года назад

    Wow, I recently discovered your channel, but your instantly got me excited!
    Thank you very mutch for your hard work and dedication!

  • @nikoszervo
    @nikoszervo 6 лет назад

    About the level editor I would suggest doing an XML system. What I mean is that instead of building a GUI tool for a level editor we can just write XML files which describe the structure of the scene objects in parent-child style, instead of writing code to create the UI one which will take us a lot of time. In this way it's gonna be easy editing scenes as just editing an XML file and the code that is going to read the xml file and build the scene , won't be something difficult also to implement.

  • @cptray-steam
    @cptray-steam 4 года назад +3

    Me - Well I have nothing better to do. What should I do?
    RUclips - Want to build a game engine?
    Me - :O

  • @Denny-fe8ds
    @Denny-fe8ds 6 лет назад +2

    That’s amazing, Cherno!

  • @benmuker6300
    @benmuker6300 6 лет назад +79

    just name it TheChernoEngine

    • @DridriLaBastos
      @DridriLaBastos 6 лет назад +3

      Or simply ChernoEngine and it will be the "ChernoEngine"

    • @TheMmesek
      @TheMmesek 6 лет назад

      How about ChE(r)ngine?

    • @gamer-lo7vl
      @gamer-lo7vl 4 года назад +1

      @@DridriLaBastos chernobyl engine

    • @jixs4v
      @jixs4v 4 года назад +1

      @@gamer-lo7vl ChernoBuild

    • @averagecornenjoyer6348
      @averagecornenjoyer6348 3 года назад

      @@jixs4v that was actually genius, too bad it's late

  • @donoughliu476
    @donoughliu476 6 лет назад +1

    Cannot wait to contribute to this project!

  • @felipeliboriooo
    @felipeliboriooo 6 лет назад +14

    Just call it Cherno, it sounds cool.

  • @dingoDogMan
    @dingoDogMan 6 лет назад +1

    Pumped for this mate.

  • @CreativeOven
    @CreativeOven 6 лет назад +1

    Thanks for your series you're a hero

  • @aodfr
    @aodfr 5 лет назад

    Here an amazing name that is totally original "Engine." That what I'm calling mine. Just use a simple generic name, because it used to teaching not selling to a group of people. Some like [channel_name]_game_engine would be appropriate. Can't wait to see how this series. Much hype!

  • @MikeDawson1
    @MikeDawson1 6 лет назад +2

    I'd be interested in seeing how to integrate Bullet Physics into a multi-threaded engine. It has build options to make it multithread-safe, but I've found a total lack of tutorials on the subject (except the single "demo" which is too simple)

  • @nathanm988
    @nathanm988 6 лет назад +1

    The hardest challenge in mankind - write an entire triple A game title using only one cpp file called main, use no third party libraries, and use the native API object & shaders

  • @SimpleKaban
    @SimpleKaban 6 лет назад +213

    Engine name: Chernobyl

  • @Andrei-rp3dz
    @Andrei-rp3dz 6 лет назад +3

    You should make collision detection tutorials. Or if not then at least show how you implement already existing physics libraries such as Bullet or PhysX

  • @davidboygenius6843
    @davidboygenius6843 4 года назад

    I am following along with this series as a learning experience.

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

    14:16 You can use multiple renderer apis?
    That solves that issue for me.

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

    What about networking and multiplayer? Some UDP socket layer would be awesome.

  • @delapetrillo-foster5359
    @delapetrillo-foster5359 5 лет назад +1

    This is incredible! I am just wondering if now that the scope has been determined, is there a known time frame for this series?
    Thanks so much, can’t wait to get started!
    De La

  • @ragdude7323
    @ragdude7323 5 лет назад +2

    0:00 subtitles: hey what’s up guys my name is *china*

  • @AxElKo440
    @AxElKo440 6 лет назад +5

    Your handwriting reminds me you planning the sparky :)

  • @meanmole3212
    @meanmole3212 6 лет назад

    -Milkshake Coffee Engine
    -Beach Boys Weather (BBW Engine)
    -HUGE (Hey what's Up Guys Engine)
    -Fukushima
    -Coffee Programming Party (CPP)
    -NUNS (not using namespace std)
    -RADIUM ENGINE

  • @aviverma9362
    @aviverma9362 6 лет назад +3

    Main video starts at 5:59

  • @taufiksuroso
    @taufiksuroso 6 лет назад +1

    Great video man..

  • @piauski
    @piauski 6 лет назад +2

    love your vids cherno

  • @allmertalex
    @allmertalex 6 лет назад +2

    What software license will your game engine use? That is an important thing to note since you'll be using the code base to teach people.

  • @phipsifl858
    @phipsifl858 6 лет назад

    Would love to see some advanced topics, like BVH, frustum culling, ray casting etc.

  • @markeyboi6545
    @markeyboi6545 5 лет назад

    A few other systems that are important/useful are Audio (this is obvious but you forgot to put it on your list), Networking (hopefully), and possibly a way to support mods or even a full out mod system (which would work well in conjunction with hot-swappable assets).

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

    Hazel would be a cool name.

  • @davidboygenius6843
    @davidboygenius6843 5 лет назад +1

    @TheChernoProject You mentioned
    Entry Point
    Application Layer
    Window Layer(Input, Events,etc)
    Should Window Layer be apart of Application Layer? What do you think?
    Also, where do you offer private lessons? I am interested.

  • @juliusgrybauskas816
    @juliusgrybauskas816 6 лет назад +2

    Bro finally

  • @Earl.Norris
    @Earl.Norris 6 лет назад +6

    Why not open source the engine. Then the you can direct the volunteers and discuss the functions and features that they have added. I really am looking forward to your next video. It seems there is a fair amount of mac and linux people looking to contribute maybe it is best to keep it in opengl/vulkan. Also if the engine would be free to use it would greatly improve its growth and new features.

  • @bezraboten3427
    @bezraboten3427 6 лет назад +15

    Name: EnCherno (Engine & Cherno) and rolls of the tongue like inferno :), and with namespace 'nch'?

    • @salty_slug
      @salty_slug 6 лет назад +3

      Best one yet

    • @potatolord7319
      @potatolord7319 6 лет назад

      yes

    • @leysont
      @leysont 5 лет назад +1

      Nice one. Better than my idea: Cherngine (Cherno + engine)

  • @whynot-vq2ly
    @whynot-vq2ly 5 лет назад +2

    thanks for the tutorial.
    an advice for those who want to watch : speed x 2

  • @slurplace
    @slurplace 3 месяца назад +1

    here i am again, drunk and about to write a game engine with ya

  • @93davve93
    @93davve93 6 лет назад +11

    CharnoEngine!

  • @JoshuaKisb
    @JoshuaKisb 6 лет назад +4

    i will be following on LINUX

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

    Wow, I thought your video was very informative, and you definitely know a lot about Gaming engines.

  • @郑祺瑞
    @郑祺瑞 5 лет назад

    here we go

  • @ajaygunalan1995
    @ajaygunalan1995 6 лет назад +1

    I love you, man..!

  • @michelm9480
    @michelm9480 6 лет назад +5

    Cherno Engine

  • @user-lz2oh9zz4y
    @user-lz2oh9zz4y 6 лет назад +4

    Besides the Graphic System, an Audio System is needed to build an (so to speak) interactive 3D Application. I think these are the core for user experience

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

      Any suggestions?

  • @giancarloandrebravoabanto7091
    @giancarloandrebravoabanto7091 6 лет назад +4

    lm making 2d tile game engine. line by line, l finished the collision system and the vector forces of one specific size object. now lm making all those methods to work with different size objects. first step by step.

  • @ancient_hulk
    @ancient_hulk 6 лет назад +8

    "The Cher-noble"

  • @clodgozon3968
    @clodgozon3968 5 лет назад

    Since it is summer here (meaning, no school. Yay!) I have no time limit so planned to make a game engine for big learning experience (and curve), and for my specific specific needs (since I have a potato computer, probably will do a lot of optimizations on it for my hardware). I'm worrying about how those specific engines would be put together and how they interact to each other tho. I'm stuck to that point.

  • @WinwinLS
    @WinwinLS 6 лет назад +4

    The RAE - Realisticly Amazing Engine

  • @gavinw77
    @gavinw77 6 лет назад +1

    Awesome.

  • @oj0024
    @oj0024 6 лет назад +21

    how about audio support? 2d/3d audio?

    • @h.hristov
      @h.hristov 6 лет назад +10

      8D audio

    • @oj0024
      @oj0024 6 лет назад +2

      @@h.hristovthat would actually be quite interessting. Doing 8d spheres and shit

  • @Progamezia
    @Progamezia 3 года назад

    Thanks this will help!

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

    Maybe call it "Hazel"

  • @phoenix7680
    @phoenix7680 6 лет назад

    What about Cheer Engine ?
    Ch - first two letters from "Cherno"
    cheer - because It'll be a cheerful adventure!
    And because I like cheerios... Crispy outside, melts in mouth... mmm

  • @almondhete3623
    @almondhete3623 6 лет назад

    Please name this engine 'Chernobyl'. Thats by far the memorablest one!

  • @МаксимХавро-ч4ы
    @МаксимХавро-ч4ы 2 года назад

    Like your video and your haircut!

  • @kevtheuseless
    @kevtheuseless 6 лет назад +1

    Only 61 likes? You should have at least 1K in 22 minutes!

  • @youreyesarebleeding1368
    @youreyesarebleeding1368 6 лет назад +1

    dunno if you made a name yet because i just now started watching this series and it was three weeks ago, but you could just call it ChernoEngine. It's not a bad name tbh.

  • @SimeonRadivoev
    @SimeonRadivoev 6 лет назад +5

    You should use Dear ImGui for the debug UI. Maybe use it to build a rudimentary editor for data manipulation.

  • @humm535
    @humm535 6 лет назад +2

    Cherngine!

  • @thewryneckarchivist
    @thewryneckarchivist 4 года назад +1

    Name it "Hazel".

  • @smallbluemachine
    @smallbluemachine 5 лет назад

    I programmed my engine myself. I don’t want to contaminate my code with people who might know what they’re doing better than me.

  • @s1nister688
    @s1nister688 6 лет назад +1

    Would you be creating the opengl context manually in this series or be using glfw since you talked about supporting multiple rendering APIs and DirectX needs raw window creation usually while opengl has GLFW?

  • @Kavci034
    @Kavci034 3 года назад

    Actually if you made a series on directx and/or vulkan it would be good

  • @categorille8330
    @categorille8330 6 лет назад +2

    Starting college in Computer Science this year, this series will be great :D

  • @julianojosoa2145
    @julianojosoa2145 6 лет назад +5

    Hi! I am actually a CS student from Madagascar and I really want to help/contribute to this project! I have some bases of C++ programming language but I never did something practical with C++ (I never did game dev before) and I am on Gnu + Linux (Elementary OS)! I hope to be helpful for what you are doing guys!

  • @capetankenn1728
    @capetankenn1728 6 лет назад +1

    How about building an operating system from scratch? That could be very exciting too.

    • @techgo4431
      @techgo4431 6 лет назад +2

      That's basically impossible in this day and age.

    • @capetankenn1728
      @capetankenn1728 6 лет назад +1

      @@techgo4431 What is the reason ?

    • @samuelhulme8347
      @samuelhulme8347 Год назад

      @@techgo4431actually it’s just as possible as it was before. There are lots of tutorials on the internet. XV6 is pretty simple to look at to learn.

  • @shekhawat5917
    @shekhawat5917 6 лет назад +125

    Are you gonna do a face revival???

    • @bamberghh1691
      @bamberghh1691 6 лет назад +16

      bUt YoU CAn SeE hIS FaCE

    • @shekhawat5917
      @shekhawat5917 6 лет назад +21

      @@bamberghh1691 but his real face tho , no one man can be so handsome no homo

    • @techgo4431
      @techgo4431 6 лет назад +16

      @@shekhawat5917 just say no homo at the end no matter how gay it sounds saying no homo at the end nullifies everything lol

    • @almicc
      @almicc 6 лет назад +24

      I don't even watch these for programming, I just mute the video and touch myself. No homo

    • @pooria_garrett3020
      @pooria_garrett3020 6 лет назад +3

      God damn it, it made me ROFL 😂

  • @categorille8330
    @categorille8330 6 лет назад

    For the name, maybe we could go with the idea of "community" or "together" or something of the sort?

  • @ChronosGameDev
    @ChronosGameDev 9 месяцев назад

    20024/03/21, First day on this tutorial, may the gods and my will give me the strength to finish this series and learn as much as possible.

  • @lottomatto
    @lottomatto 5 лет назад

    Yes

  • @SketchpunkLabs
    @SketchpunkLabs 6 лет назад +1

    You mentioned you want to use ECS, have you looked at CGS (Component Graph System) as a alternative solution?