DESIGNING our GAME ENGINE

  Рет қаралды 219,078

The Cherno

The Cherno

5 жыл бұрын

Patreon ► / thecherno
Instagram ► / thecherno
Twitter ► / thecherno
Discord ► thecherno.com/discord
Series Playlist ► thecherno.com/engine
Gear I use:
-----------------
BEST laptop for programming! ► geni.us/pakTES
My FAVOURITE keyboard for programming! ► geni.us/zNhB
FAVOURITE monitors for programming! ► geni.us/Ig6KBq
MAIN Camera ► geni.us/t6xyDRO
MAIN Lens ► geni.us/xGoDWT
Second Camera ► geni.us/CYUQ
Microphone ► geni.us/wqO6g7K

Пікірлер: 404
@utkucandogan6623
@utkucandogan6623 5 жыл бұрын
Since you emphasize you can't build unreal engine, name your game engine "real engine"
@ImRiz1
@ImRiz1 5 жыл бұрын
good one LMAO :p
@ghostkr3676
@ghostkr3676 5 жыл бұрын
hahahaha lol
@Petej34x
@Petej34x 5 жыл бұрын
Haha yes or since he can't build Unity, call it "Division"
@williamireland2285
@williamireland2285 5 жыл бұрын
Lmao
@Nerfdalocks
@Nerfdalocks 5 жыл бұрын
Genius :)
@CaffeineInjected
@CaffeineInjected 4 жыл бұрын
You had me at "Game Engine". You have a new Patreon supporter.
@SteinCodes
@SteinCodes 5 жыл бұрын
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 5 жыл бұрын
that would be awesome and something that is very very unique about this series hope he do it
@maverick7615
@maverick7615 5 жыл бұрын
Can’t agree more!!!!
@jonathanrosado8874
@jonathanrosado8874 5 жыл бұрын
YES PLZ
@DevScape
@DevScape 5 жыл бұрын
Stein Codes yes, and please make more tutorials! They're really helping.
@SketchpunkLabs
@SketchpunkLabs 5 жыл бұрын
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.
@loryon
@loryon 5 жыл бұрын
The game engine has been called Hazel
@DrewYoungThomas
@DrewYoungThomas 5 жыл бұрын
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 5 жыл бұрын
Clever and catchy
@oliviadrinkwine1411
@oliviadrinkwine1411 3 жыл бұрын
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.
@KevinvanderBurgt
@KevinvanderBurgt 5 жыл бұрын
HazelEngine (that new project i saw on your github with an empty repo)?
@UnicycleSoul
@UnicycleSoul 5 жыл бұрын
Chernobyl seems a fitting name :3
@MA-748
@MA-748 5 жыл бұрын
😂
@sssstupidkid1234
@sssstupidkid1234 5 жыл бұрын
THIS ONE IS THE ONE!!!
@bies_moron4404
@bies_moron4404 5 жыл бұрын
лол))
@greatbullet7372
@greatbullet7372 5 жыл бұрын
Cherno Bill
@LucidStew
@LucidStew 5 жыл бұрын
Chernoble?
@brycejohansen7114
@brycejohansen7114 5 жыл бұрын
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 3 жыл бұрын
And because Prometheus sounds like a badass name
@hayabusa1x
@hayabusa1x 5 жыл бұрын
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 5 жыл бұрын
I love the analogy of debugging being like scaffolding. Very accurate
@WarrenMarshallBiz
@WarrenMarshallBiz 5 жыл бұрын
I'm super excited about this series, thanks for putting it together! Let's goooo!! :)
@INeedAttentionEXE
@INeedAttentionEXE 5 жыл бұрын
Where has your channel been all my life
@mattgraves3709
@mattgraves3709 3 жыл бұрын
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...)
@cookiecan10
@cookiecan10 5 жыл бұрын
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!!!
@greatbullet7372
@greatbullet7372 5 жыл бұрын
i would be glad to help you out over facebook if you need it :) C++ took myself alot time to learn honestly
@Lameless
@Lameless 9 ай бұрын
I know this is old@@greatbullet7372 but you still available to help out?
@sable4539
@sable4539 3 ай бұрын
How did it go?
@justaplebdontmindmeii452
@justaplebdontmindmeii452 2 жыл бұрын
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
@user-jg5xr7wg3c
@user-jg5xr7wg3c 4 жыл бұрын
Wow, I recently discovered your channel, but your instantly got me excited! Thank you very mutch for your hard work and dedication!
@BlackJar72
@BlackJar72 5 жыл бұрын
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.
@mateuszkulesza8528
@mateuszkulesza8528 11 ай бұрын
excellent video, I was looking for something like this for a couple of weeks, thanks!
@ChuckstaGaming
@ChuckstaGaming 4 жыл бұрын
"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 😁
@axeldaguerre8838
@axeldaguerre8838 5 жыл бұрын
thank you for this series really definitely will suport you on patreon
@Denny-fe8ds
@Denny-fe8ds 5 жыл бұрын
That’s amazing, Cherno!
@donoughliu476
@donoughliu476 5 жыл бұрын
Cannot wait to contribute to this project!
@petrkassadinovich2705
@petrkassadinovich2705 3 жыл бұрын
Thank you for tutorial Cherno! I'm agreed that is much better to make a good foundation and infrastracture first.
@dingoDogMan
@dingoDogMan 5 жыл бұрын
Pumped for this mate.
@jerms_mcerms9231
@jerms_mcerms9231 4 жыл бұрын
around 26:00 OP states that they haven't seen anything like this. However, ChiliTomatoNoodle AKA Planet Chili. Has a HUGE multi part series on making games and game engines in c++. I'm watching both!
@CreativeOven
@CreativeOven 5 жыл бұрын
Thanks for your series you're a hero
@RaigyoEcU
@RaigyoEcU 3 жыл бұрын
after reading game engine architecture for months i'm ready for these Game engine videos
@delapetrillo-foster5359
@delapetrillo-foster5359 5 жыл бұрын
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
@davidboygenius6843
@davidboygenius6843 4 жыл бұрын
I am following along with this series as a learning experience.
@kplays_6000
@kplays_6000 5 жыл бұрын
I'd love to see Box2D support! Also, Real Engine would be a great name!
@MikeDawson1
@MikeDawson1 5 жыл бұрын
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)
@phipsifl858
@phipsifl858 5 жыл бұрын
Would love to see some advanced topics, like BVH, frustum culling, ray casting etc.
@grhayes
@grhayes 4 жыл бұрын
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.
@MatkoFaka
@MatkoFaka 5 жыл бұрын
Suggestion: Make it modular so that every subsystem can be easily switched e.g 3DRenderer -> 2DRenderer YourPhysicsEngine -> SomeVerySpecialPhysicsEngine and so on. thx
@oj0024
@oj0024 5 жыл бұрын
the hype is real
@peterSobieraj
@peterSobieraj 4 жыл бұрын
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".
@piauski
@piauski 5 жыл бұрын
love your vids cherno
@ThePreyBrigade
@ThePreyBrigade 5 жыл бұрын
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 4 жыл бұрын
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
@caareystore5058
@caareystore5058 Жыл бұрын
What about networking and multiplayer? Some UDP socket layer would be awesome.
@allmertalex
@allmertalex 5 жыл бұрын
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.
@TheGrimravager
@TheGrimravager 5 жыл бұрын
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
@nikoszervo
@nikoszervo 5 жыл бұрын
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.
@Andrei-rp3dz
@Andrei-rp3dz 5 жыл бұрын
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
@gleb.ignatev
@gleb.ignatev 5 жыл бұрын
It's a bit scary of how many different things you have to know to actually build your own engine from scratch
@SketchpunkLabs
@SketchpunkLabs 5 жыл бұрын
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.
@accentor713
@accentor713 5 жыл бұрын
lol Andrew gower left rs been working on another one for like 5 years now
@benmuker6300
@benmuker6300 5 жыл бұрын
just name it TheChernoEngine
@DridriLaBastos
@DridriLaBastos 5 жыл бұрын
Or simply ChernoEngine and it will be the "ChernoEngine"
@TheMmesek
@TheMmesek 5 жыл бұрын
How about ChE(r)ngine?
@gamer-lo7vl
@gamer-lo7vl 4 жыл бұрын
@@DridriLaBastos chernobyl engine
@jixs4v
@jixs4v 4 жыл бұрын
@@gamer-lo7vl ChernoBuild
@averagecornenjoyer6348
@averagecornenjoyer6348 3 жыл бұрын
@@jixs4v that was actually genius, too bad it's late
@SketchpunkLabs
@SketchpunkLabs 5 жыл бұрын
You mentioned you want to use ECS, have you looked at CGS (Component Graph System) as a alternative solution?
@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).
@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.
@rmt3589
@rmt3589 9 ай бұрын
14:16 You can use multiple renderer apis? That solves that issue for me.
@Progamezia
@Progamezia 3 жыл бұрын
Thanks this will help!
@taufiksuroso
@taufiksuroso 5 жыл бұрын
Great video man..
@AxElKo440
@AxElKo440 5 жыл бұрын
Your handwriting reminds me you planning the sparky :)
@davidboygenius6843
@davidboygenius6843 5 жыл бұрын
@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.
@s1nister688
@s1nister688 5 жыл бұрын
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?
@doctortrouserpants1387
@doctortrouserpants1387 Жыл бұрын
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.
@felipeliboriooo
@felipeliboriooo 5 жыл бұрын
Just call it Cherno, it sounds cool.
@giancarloandrebravoabanto7091
@giancarloandrebravoabanto7091 5 жыл бұрын
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.
@studionascosto
@studionascosto Жыл бұрын
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 Жыл бұрын
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. Жыл бұрын
⁠@@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 11 ай бұрын
@@Beelzebubby91 i recommend you follow the chernos c++ series to get a grasp of the language
@kledynk6591
@kledynk6591 9 ай бұрын
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 3 ай бұрын
​@zenith2808. I think learning C++ as a first language is fine, because if you understand C++ you can probably understand most other popular languages
@SimpleKaban
@SimpleKaban 5 жыл бұрын
Engine name: Chernobyl
@hsaidinsan6345
@hsaidinsan6345 4 жыл бұрын
German Prostakov 😂
@arsnakehert
@arsnakehert 4 жыл бұрын
Chernobuild
@loit5132
@loit5132 Жыл бұрын
3GChernobyl
@weaponisedbattletoaster805
@weaponisedbattletoaster805 Жыл бұрын
The engine has a built in asset for steam explosions😂😂😂
@Freg-ld2lo
@Freg-ld2lo 9 ай бұрын
Crater.cpp
@harleyracer2005
@harleyracer2005 5 жыл бұрын
Networking and animation?
@whynot-vq2ly
@whynot-vq2ly 5 жыл бұрын
thanks for the tutorial. an advice for those who want to watch : speed x 2
@sidharthsaha5003
@sidharthsaha5003 5 жыл бұрын
What features will the physics engine support?
@juliusgrybauskas816
@juliusgrybauskas816 5 жыл бұрын
Bro finally
@oj0024
@oj0024 5 жыл бұрын
how about audio support? 2d/3d audio?
@h.hristov
@h.hristov 5 жыл бұрын
8D audio
@oj0024
@oj0024 5 жыл бұрын
@@h.hristovthat would actually be quite interessting. Doing 8d spheres and shit
@geohan98
@geohan98 5 жыл бұрын
How easy would it be to adapt these system for a 2d engine
@ikvindditkutzooi
@ikvindditkutzooi 5 жыл бұрын
Random question which c++ version are you going to use are you going to use features from c++ 17 or are you mostly sticking with c++ 11 because most people understand that the best?
@lottomatto
@lottomatto 5 жыл бұрын
Yes
5 жыл бұрын
Do you think to use Qt5/Qml and new languages like RustLang and NimLang(generates optimized c/c++ code). If you can show us hot to use static checks and build systems. Also I am wondering lexical analisis and parsing.
@obabamaiu
@obabamaiu 5 жыл бұрын
Will the code eventually become available also for non-patreons? Even if on a delay
@olivieero123456789
@olivieero123456789 4 жыл бұрын
Before I start watching, is there a different series that is recommended tot watch first before this one?
@chuckstrut
@chuckstrut 5 жыл бұрын
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.
@jamesmnguyen
@jamesmnguyen 5 жыл бұрын
Are you going to add a way to implement OpenGL 4.3-4.6 API with it's DSA functions? Or is it solely going to be OpenGL 3.3?
@Ratchet2022
@Ratchet2022 Жыл бұрын
Hazel would be a cool name.
@93davve93
@93davve93 5 жыл бұрын
CharnoEngine!
@gavinw77
@gavinw77 5 жыл бұрын
Awesome.
@Joso997
@Joso997 5 жыл бұрын
Why dont you contact the guy that made banished
@green7759
@green7759 5 жыл бұрын
Could you tell which device you are using to write?
@SimeonRadivoev
@SimeonRadivoev 5 жыл бұрын
You should use Dear ImGui for the debug UI. Maybe use it to build a rudimentary editor for data manipulation.
@ajaygunalan1995
@ajaygunalan1995 5 жыл бұрын
I love you, man..!
@Windeycastle
@Windeycastle Жыл бұрын
Maybe call it "Hazel"
@user-hw7iy3jc3i
@user-hw7iy3jc3i 5 жыл бұрын
here we go
@johndouglaswilson7504
@johndouglaswilson7504 Жыл бұрын
Wow, I thought your video was very informative, and you definitely know a lot about Gaming engines.
@WinwinLS
@WinwinLS 5 жыл бұрын
The RAE - Realisticly Amazing Engine
@TheAntiquatedOne
@TheAntiquatedOne 5 жыл бұрын
Can you guys tell me what drawpad Cherno uses, please ? As for engine name suggestion: Chernobytes
@lionkor98
@lionkor98 5 жыл бұрын
probably some android tablet / chromebook? No idea
@kevtug7125
@kevtug7125 5 жыл бұрын
Call it the Endo engine!
@brenocampos100
@brenocampos100 5 жыл бұрын
Since is windows only, i cant follow the series without him? Or just in a specifically point in the series?
@DevScape
@DevScape 5 жыл бұрын
Please write for MacOS too, I would absolutely love that.
@mr.mobilegaming2754
@mr.mobilegaming2754 5 жыл бұрын
Which book buy for c++
@JoshuaKisb
@JoshuaKisb 5 жыл бұрын
i will be following on LINUX
@cptray-steam
@cptray-steam 3 жыл бұрын
Me - Well I have nothing better to do. What should I do? KZfaq - Want to build a game engine? Me - :O
@frostye.t.6393
@frostye.t.6393 3 жыл бұрын
me too
@Kavci034
@Kavci034 2 жыл бұрын
Actually if you made a series on directx and/or vulkan it would be good
@filnil90
@filnil90 5 жыл бұрын
What about audio? Are you gonna be writing your own DSP etc.
@michelm9480
@michelm9480 5 жыл бұрын
Cherno Engine
@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!
@INeedAttentionEXE
@INeedAttentionEXE 5 жыл бұрын
Cengine sounds cool as a name :)
@bezraboten3427
@bezraboten3427 5 жыл бұрын
Name: EnCherno (Engine & Cherno) and rolls of the tongue like inferno :), and with namespace 'nch'?
@salty_slug
@salty_slug 5 жыл бұрын
Best one yet
@potatolord7319
@potatolord7319 5 жыл бұрын
yes
@leysont
@leysont 4 жыл бұрын
Nice one. Better than my idea: Cherngine (Cherno + engine)
@pvorisek2553
@pvorisek2553 4 жыл бұрын
Have you some plans for DirectX series?
@ancient_hulk
@ancient_hulk 5 жыл бұрын
"The Cher-noble"
Project Setup | Game Engine Series
24:39
The Cherno
Рет қаралды 249 М.
Harder Than It Seems? 5 Minute Timer in C++
20:10
The Cherno
Рет қаралды 148 М.
Пробую самое сладкое вещество во Вселенной
00:41
Получилось у Вики?😂 #хабибка
00:14
ХАБИБ
Рет қаралды 6 МЛН
NERF WAR HEAVY: Drone Battle!
00:30
MacDannyGun
Рет қаралды 13 МЛН
What is a GAME ENGINE?
16:23
The Cherno
Рет қаралды 277 М.
2D Game Engine by 13-YEAR-OLD! // Code Review
27:36
The Cherno
Рет қаралды 259 М.
Fully Enterable Buildings In Gaming [Future Of Games 1/6]
19:57
Dark Space
Рет қаралды 2 МЛН
Breaking Down Remedy's Northlight Engine
10:11
Poison Pill Entertainment
Рет қаралды 47 М.
Your 1st, 2nd, 3rd, and Nth Game Engines
34:50
DigiPen Game Engine Architecture Club
Рет қаралды 86 М.
Why I removed Components from my Game Engine
13:07
Joshua Manton
Рет қаралды 34 М.
Logging | Game Engine Series
30:05
The Cherno
Рет қаралды 176 М.
Google Coding Interview With A Facebook Software Engineer
49:59
Clément Mihailescu
Рет қаралды 924 М.
Unity DOTS vs Handbuilt: Sample Project
27:56
Nick Caston
Рет қаралды 675 М.
What does a Game Engine actually do?
16:45
Ellie Rasmussen
Рет қаралды 141 М.
Пробую самое сладкое вещество во Вселенной
00:41