Thank you all for watching this video! It's absolutely AMAZING how far we've come and we couldn't have done it without all of your support! Have a great holiday season everyone! 🎄❤️
Could be cool to have a game jam one weekend, it would quickly reveal areas for improvement and those limitations would also breed creativity in terms of finding workarounds and playing to the engine's strengths.
You really came a long way from starting with the Sparky Game Engine and reaching at this stage with Hazel. You really inspire us to believe what consistent efforts can actually accomplish in the long run. Happy Holidays!
This is just awesome, I found this channel back when I was probably in elementary school. I followed the Java game programming series, it was actually what sparked my interest in computer programming, I am now a freshman at university studying computer engineering, I like to think I would not have have been put on this path or found my interest in technology if it wasn’t for your content. For that I thank you, and it has been awesome seeing you grow as a content creator and as a developer. Congrats on how successful the development of Hazel has been, very impressive!
You are what I aspire to be as a Software Developer, great insight, great reasoning and just all around a great programmer. Thanks for your videos Cherno!
Absolutely continue to improve and make the game. This way you can have something that everybody can relate to as well as the ability to run into other issues which will help improve Hazel and the editor.
Awesome! Really enjoyed watching this! Would love to see more! As an aspiring game dev it is cool to watch experienced game developers making game and getting a better understanding of work flow and what not.
I wouldn't mind seeing further videos on this project. They just help to understand so many important aspects of the engine and how to write games using it. Thanks!
Yeah and the UI is very very similar to UE5. This engine looks amazing because it pretty much combines UE5's new UI and unity's component system and other stuff lol.
@@quickstergamestutorialsgam3899 yeah it's amazing how he's building it, last time i saw the "making a game" on his engine, it was in pure c++ , now it supports C# for the "client side" like in unity! (and the scripting is very similar too! ) that's really great
It's unlikely to happen. The free game engine market is locked down by the big boys. Even excluding unity/unreal there's still godot, game maker, amazon's O3DE and a million more that are far more capable and free
Love the game and it would really be nice if you keep working on it. Maybe this game could also get reworked and extended with new versions of hazel that will come in the future. Like a "test platform" that gets better and better over time
I would love to support your job bacause I found it very encouraging for people that is as passionate as you on this kind of things. Sadly, my economy isn't the best nowadays, but I recently discovered your channel and I felt in love with what you are doing. Keep the good work, love your videos! Cheers from an argentinian game dev
I watched your video baack in the days when I saw you doing game engine I thaught you were doing it for fun and you will drop it in no time to see you now with this full engine is bless :'))
Oh another feature suggestion for the score would be to change its color inversely to the environment lighting, so that way it would always be contrasting each other and be visible throughout the game. So it would kind of start off white and then turn darker as the game progresses
I have quite a bit of experienice with cell fracture, heres some pro tips 1- Use a better geometry, mostly quads if not all quads, and no ngons (triangles). 2- After you're done with the fracture, select all of the pieces, go to that top part on blender right next to Global, and change it to individual pivot, and either scale it a bit down, or press Alt + A and 'deflate', the pieces a bit, this will make them not colide with each other it will give some spare room between the fractures, this will probably fix the explosion problem :)
Don't know how the c++ series is going but is there any chance of you making the video about release mode? The rest of the series have helped me very very much. I don't have the means to support you on Patreon yet but I admire your work and find you a very good teacher. Thank You!
Please make a video on Halo Infinite! I’d love to see your take on the BLAM vs “New” SlipSpace Engine differences and maybe test the overall optimization and scalability for Slipspace going into the future with the 2013 Xbox hanging onto it.
Could you make a video talking about the pros and cons of using C# vs C++? I come from an electronics engineering background working with C, and so C++ just came naturally to me when I got into it. I have no experience with C#, but some experience with Java, and I hear that C# is more like Java, which is a language I don't really use anymore because of garbage collection and I need me some pointers. I love the full control of the hardware I get with C++, and how it's (pretty much) C "with classes". But I'd love to hear your thoughts; I've been following your channels for around 8 years. You're my go-to programmer on TH-cam. :)
For Performance and Efficiency go with C, but if you want it the easy way go with C++(a little bloaty compared to C), C# and Java are very slow for a good user experience
what are your thoughts on Odin, Zig, and Rust? Odin has many official library bindings and is in commercial use, zig is being used for the hexops/mach engine, and rust is gaining steam everywhere (embark studios seems to really be pushing it and it's the language for wgpu reference implementation i believe
You don't have to deal with some of the problems C++ just has. There's no memory management to deal with there's no header files it's rough it's a reflective language meaning you can query for fields and types at run time and set them. It's just simpler, Sometimes you don't want to have to deal with managing what's on the stack what's on the heap, freeing and allocating memory, etc.
Note before you yell at me saying C plus plus is better and faster, Do note that there is a time and place for C plus plus. The issue is it's not always the best, Often times you don't need the speed and ease of development and painless usage is more important.
@@lucmermans37 So what ? Epic games are also found by single developer. It was small indie game corporation that was doing shitty rpgs. It started to grow 1-2 years later and in 1994 they made "Jazz the Jackrabbit" my favourite childhood platformer. Unreal Engine is not but redistributed source code video game "Unreal" with in-house tools provided for millions of dollars. If Japan Sony didnt released Playstation at right time, Epic Games might stayed some irrelevant video game company instead of multibillion dollar giant. They went from couple millions dollar company to first 100mil$ due to Gears of war release to PS. Couple million $ might be seem big to you but Cherno could earn that much money as salaried developer if he wanted with his skill level. Well, skill is required but most of the success comes from luck, which we can not predict.
By all means keep working on the game! There's nothing that sells an engine quite like seeing it in action. Besides if you use it regularly you'll find holes in the workflow much easier.
As he mentioned in the video, the scripting language is C# while Hazel's runtime and probably the editor is written in C++. Based on this video it sounds a lot like Unity.
I'd like to see a video where you make a first person game rather than third person. The camera perspective means a lot of tricks with the objects in the world moving won't apply.
Maybe u should make a feature in hazel where like you can swop and change features that would collide so that instead of having to rework the engine for your use u just drag and drop to get hazel to work exactly how u want it to
Hello, your engine looks really cool. Would it be possible to link and load C libraries and call those functions from your engine? I'd like to use the engine but run a lot of my own internal code in C as well.
I have a question about like C/C++/C# name standards because you can really often see like m_ in variable names. Other examples are r, p, I. so like pPlayer or m_Velocity. What do those stand for?
Very nice, especially with the tiled renderer. Though I do have a question about the C#-interface and its memory usage: Are you somehow mapping C#'s "new" into C++'s "new"? E.g., inside the particle system I saw you write "new Vector" within a tight loop. So I was curious as to whether Hazel supports some kind of C# -> C++ memory allocation optimization for the game entities. Great job! Learning a lot from your videos.
Vector3 is a c# struct, which means it's a value type. "new" on a struct doesn't have the same performance implications as on a class, since it doesn't allocate memory on the heap. This is in contrast with c++, where "new" always implies heap allocation. Note that c#'s class/struct semantics (reference vs value type) are different than for c++ (different default access modifiers).
@@odomobo thank you, though that was only half of my question. I'm aware of the C# semantics, just didn't realize Vector3 was a struct. I guess the loop can be excused then. :)
Hello! I have a video request, if you take those. With everything going on with Cyberpunk 2077 and it’s 1.5 patch having some features excluded from previous generation consoles…. Could you do a video about how/why these things happen? Like why the AI and driving improvements would be so taxing on previous gen consoles? And how/why the game could be compressed to take up less space on current versus previous gen consoles? And why even are there problems like this before release? Is there that much pressure by studio execs to get these games out, even if unfinished? Ok, so this now sounds like a huge video request, but… I’m asking anyway!
Yes that's my idea too own engine means very fast prototype. I'm starting out with 2D in python + glfw + minimal opengl. I'm going to render everything in python, which for 2D is trivial, but I'm imposing hardware restrictions related to old 8bit computers because I think this is the fastest way to produce production quality with least effort. You can quickly draw some pointy polygons prototype for 3D but that's a year away from production quality. For 3D I'm also going to render everything in python using GPU acceleration/parallelism rather than shaders.
That’s not really possible yet with any engine because our screens are 2d it’s hard enough rendering 3D on our screens let alone 4d and for a single dev you can do it but it wouldn’t be worth it
I actually am writing my own game, and am going to make an engine out of the code. It’s a console game, with ASCII graphics, and I’ll publish it fully open source on steam
It is sad that Hazel's not using the classic ECS approach. Trying to be more like Unity's component-system entity based workflow( Let's call things by their names, in this video Entity is just Monobehaviour, but Monobehaviour is not Entity in the ECS world, because it has logic to operate! Ecs is not only about making your data sequentially fill the stack which avoids cache mises most of the time but also the correct project structure which makes your life easier. With the current "ECS" approach the logic will look like spaghetti chaos.
Thank you all for watching this video! It's absolutely AMAZING how far we've come and we couldn't have done it without all of your support! Have a great holiday season everyone! 🎄❤️
Thanks man
Happy holidays🎄✌️
Can you review the new Matrix Awakening demo running on the Unreal Engine 5 please! 🙏🏼😊
@@philwhatever3903 I second this, would be great for you to do a review. We have something that finally feels next-gen
Awesome video man. Inspirational.
Could be cool to have a game jam one weekend, it would quickly reveal areas for improvement and those limitations would also breed creativity in terms of finding workarounds and playing to the engine's strengths.
Really keen to do this in the near future!
@@TheCherno Make it an annual official Hazel GameJam then we could look back and see how the Engine improved over the years.
@@TheCherno Great
That is a good question actually, is there solething this engine is rrally good at ?
Good stuff. Hard to believe the first game was 2 years ago, feels like last month.
true
These "Making a game in one hour with my game engine" episodes really shows the progress and improvements of the Game Engine
HalfLife 3 dev team, pleeease watch this video... XD
One of the best game developers and my inspiration...love ur work Cherno
game dev and game engine dev :D
You really came a long way from starting with the Sparky Game Engine and reaching at this stage with Hazel. You really inspire us to believe what consistent efforts can actually accomplish in the long run. Happy Holidays!
This is just awesome, I found this channel back when I was probably in elementary school. I followed the Java game programming series, it was actually what sparked my interest in computer programming, I am now a freshman at university studying computer engineering, I like to think I would not have have been put on this path or found my interest in technology if it wasn’t for your content. For that I thank you, and it has been awesome seeing you grow as a content creator and as a developer. Congrats on how successful the development of Hazel has been, very impressive!
it is with me as well. found em when he taught C++, now I am Sophomore in Computer engineering as well.
You are what I aspire to be as a Software Developer, great insight, great reasoning and just all around a great programmer.
Thanks for your videos Cherno!
Absolutely continue to improve and make the game. This way you can have something that everybody can relate to as well as the ability to run into other issues which will help improve Hazel and the editor.
Awesome! Really enjoyed watching this! Would love to see more! As an aspiring game dev it is cool to watch experienced game developers making game and getting a better understanding of work flow and what not.
I wouldn't mind seeing further videos on this project. They just help to understand so many important aspects of the engine and how to write games using it. Thanks!
I found your channel from the challenge video and I got very intrigued!
Oh how far you’ve come since that first video! This is amazing!
Is very easy to see the inspiration that you took from Unity to your engine, love your work, your videos always inspires me!
Yeah and the UI is very very similar to UE5. This engine looks amazing because it pretty much combines UE5's new UI and unity's component system and other stuff lol.
@@quickstergamestutorialsgam3899 yeah it's amazing how he's building it, last time i saw the "making a game" on his engine, it was in pure c++ , now it supports C# for the "client side" like in unity! (and the scripting is very similar too! ) that's really great
How far it has gotten, is amazing
Came a long way from minimal engine features to having everything for making games...
Congratulations Cherno and Hazel team❤️
This project is getting better every single minute. Can't imagine how amazing it is
So for the 3D version of Hazel, do you compile it as a dll and use c++/cli to link the engine with c# so you can script in c#?
I think he has an episode on this in the game engine series. Might be wrong though.
Nice work. I am impressed .😁
Wonderful... We are witnessing a growing game engine. Hey Cherno don't forget us when Hazel will be a big hit all over the world. 😀
It's unlikely to happen. The free game engine market is locked down by the big boys. Even excluding unity/unreal there's still godot, game maker, amazon's O3DE and a million more that are far more capable and free
17:17 Dani would give you a lecture about particles systems.
Your Hazel engine looks amazing!
Thanks for the great video.
Please consider continuing the C++ series with some intro on how to make desktop app with window and stuff.
I want a hazel-only channel to watch. Did you make it?
Christmas 🎄 theme would be amazing. What are a new year theme like rocket bumping into 2022..? Amazing game. Waiting for release.
love the idea of this video
really keeping me motivated
Love the game and it would really be nice if you keep working on it. Maybe this game could also get reworked and extended with new versions of hazel that will come in the future. Like a "test platform" that gets better and better over time
Dude wow this engine looks amazing
Its been 2 more years. 3rd video showing similar work with new features? Keep up the good work!
It's something awesome! Im inspired to do my own game! But for now, creating your own gaming engine... awesome work you did
I would love to support your job bacause I found it very encouraging for people that is as passionate as you on this kind of things. Sadly, my economy isn't the best nowadays, but I recently discovered your channel and I felt in love with what you are doing. Keep the good work, love your videos! Cheers from an argentinian game dev
I bet you are so proud of your work! First vid of yours I've seen, but it looks like your passion project heckin works! Go you!
I watched your video baack in the days when I saw you doing game engine I thaught you were doing it for fun and you will drop it in no time
to see you now with this full engine is bless :'))
Like the IGT vs RTA timing method for this haha! How meta
I haven't seen any of your previous videos in a long time and wow the engine has progressed
Definitely interested in seeing you develop this game more!
Is that a stress level zero shirt? I absolutely love them, couldn't help but notice
Oh another feature suggestion for the score would be to change its color inversely to the environment lighting, so that way it would always be contrasting each other and be visible throughout the game. So it would kind of start off white and then turn darker as the game progresses
I have quite a bit of experienice with cell fracture, heres some pro tips 1- Use a better geometry, mostly quads if not all quads, and no ngons (triangles). 2- After you're done with the fracture, select all of the pieces, go to that top part on blender right next to Global, and change it to individual pivot, and either scale it a bit down, or press Alt + A and 'deflate', the pieces a bit, this will make them not colide with each other it will give some spare room between the fractures, this will probably fix the explosion problem :)
thats impressive actually what a single developer can achive!
Don't know how the c++ series is going but is there any chance of you making the video about release mode? The rest of the series have helped me very very much. I don't have the means to support you on Patreon yet but I admire your work and find you a very good teacher. Thank You!
Omfg hazel looks so good, i cant wait to get it
Please make a video on Halo Infinite! I’d love to see your take on the BLAM vs “New” SlipSpace Engine differences and maybe test the overall optimization and scalability for Slipspace going into the future with the 2013 Xbox hanging onto it.
this is TOP class, you guys are amazing!
Could you make a video talking about the pros and cons of using C# vs C++? I come from an electronics engineering background working with C, and so C++ just came naturally to me when I got into it. I have no experience with C#, but some experience with Java, and I hear that C# is more like Java, which is a language I don't really use anymore because of garbage collection and I need me some pointers. I love the full control of the hardware I get with C++, and how it's (pretty much) C "with classes". But I'd love to hear your thoughts; I've been following your channels for around 8 years. You're my go-to programmer on TH-cam. :)
For Performance and Efficiency go with C, but if you want it the easy way go with C++(a little bloaty compared to C), C# and Java are very slow for a good user experience
"Is that cheating?"
"Let's get real; this is TH-cam." 😂
what are your thoughts on Odin, Zig, and Rust? Odin has many official library bindings and is in commercial use, zig is being used for the hexops/mach engine, and rust is gaining steam everywhere (embark studios seems to really be pushing it and it's the language for wgpu reference implementation i believe
nice man the glowing looks very cool love the colors
Hey, I am curious what makes C# better scripting language than C++ for example, has the Cherno discussed this in a video perhaps?
You don't have to deal with some of the problems C++ just has. There's no memory management to deal with there's no header files it's rough it's a reflective language meaning you can query for fields and types at run time and set them. It's just simpler, Sometimes you don't want to have to deal with managing what's on the stack what's on the heap, freeing and allocating memory, etc.
Note before you yell at me saying C plus plus is better and faster, Do note that there is a time and place for C plus plus. The issue is it's not always the best, Often times you don't need the speed and ease of development and painless usage is more important.
Looks a lot like working in Unity. Good job making this engine.
This was SOOOOOOO interesting, watched while playing some game i made :)
We get to see a Game Engine in the making, that might possibly reach the Unreal Engine level in the Future.
That's if Cherno doesn't quit.
Do you know how many people work on Unreal?
@@lucmermans37 So what ? Epic games are also found by single developer. It was small indie game corporation that was doing shitty rpgs. It started to grow 1-2 years later and in 1994 they made "Jazz the Jackrabbit" my favourite childhood platformer. Unreal Engine is not but redistributed source code video game "Unreal" with in-house tools provided for millions of dollars. If Japan Sony didnt released Playstation at right time, Epic Games might stayed some irrelevant video game company instead of multibillion dollar giant. They went from couple millions dollar company to first 100mil$ due to Gears of war release to PS. Couple million $ might be seem big to you but Cherno could earn that much money as salaried developer if he wanted with his skill level. Well, skill is required but most of the success comes from luck, which we can not predict.
By all means keep working on the game! There's nothing that sells an engine quite like seeing it in action. Besides if you use it regularly you'll find holes in the workflow much easier.
GG, man, you did it
Wow that is pretty awesome. What are the lisence arrangements for indie developers using Hazel.
Wonder how this is gonna be, really curious😁🔥
Meine armen Kekse :(
Yey, the new episode!
Sir you can add mesh cluster in your hazel!
The pillars could be really good as Christmas trees with glowing decorations.. Just saying
Love your implementation for the material editor. Reminds me of Source. Very clean and functional.
Woah, when did you switch to C#? Is this like Unity, where you write Hazel in C++ but game devs using it use C# or is everything in C#?
As he mentioned in the video, the scripting language is C# while Hazel's runtime and probably the editor is written in C++. Based on this video it sounds a lot like Unity.
Nice I kinda wanna use this game engine and try some stuff
Wait why does that emits smoke particles? it's Christmas time it should've been snow ha ha, but yeah that's pretty great
Should have added a rocket engine sound whenever you press space
I'd like to see a video where you make a first person game rather than third person. The camera perspective means a lot of tricks with the objects in the world moving won't apply.
Maybe u should make a feature in hazel where like you can swop and change features that would collide so that instead of having to rework the engine for your use u just drag and drop to get hazel to work exactly how u want it to
Imagine participating in a GameJam and building a game with your own engine. *gigachad music in bg*
Cant wait to try it my self !
Wow I didn't know Hazel was so far in development!
Great work 💪.. you should receive an Epic mega grands
I've been following you since almost day 1 cool to see it at this stage awesome
I cant believe it was two years ago already that I watched that video.
i missed you
Hello, your engine looks really cool. Would it be possible to link and load C libraries and call those functions from your engine? I'd like to use the engine but run a lot of my own internal code in C as well.
I hope one day I will make my own game engine & become a game engine developer like you. 🙂🤞
Will, there be some sort of visual scripting in hazel in the future
for something to be in screen space you could parent it with the camera and put it above everything
I have a question about like C/C++/C# name standards because you can really often see like m_ in variable names. Other examples are r, p, I.
so like pPlayer or m_Velocity. What do those stand for?
p : pointer
m_ : member variable
i: int variable
m_p: member pointer variable
@@ahmadalastal5303 ty
Do you do code review of C# code or only C++ ?
In true Dani spirit... yoink + yoink = code...
I hope one day I will become as good as you at game development! ❤
Very nice, especially with the tiled renderer. Though I do have a question about the C#-interface and its memory usage:
Are you somehow mapping C#'s "new" into C++'s "new"? E.g., inside the particle system I saw you write "new Vector" within a tight loop. So I was curious as to whether Hazel supports some kind of C# -> C++ memory allocation optimization for the game entities.
Great job! Learning a lot from your videos.
Vector3 is a c# struct, which means it's a value type. "new" on a struct doesn't have the same performance implications as on a class, since it doesn't allocate memory on the heap. This is in contrast with c++, where "new" always implies heap allocation.
Note that c#'s class/struct semantics (reference vs value type) are different than for c++ (different default access modifiers).
@@odomobo thank you, though that was only half of my question. I'm aware of the C# semantics, just didn't realize Vector3 was a struct. I guess the loop can be excused then. :)
Please do the slowed version you were talking about at the end!
Hello! I have a video request, if you take those. With everything going on with Cyberpunk 2077 and it’s 1.5 patch having some features excluded from previous generation consoles…. Could you do a video about how/why these things happen? Like why the AI and driving improvements would be so taxing on previous gen consoles? And how/why the game could be compressed to take up less space on current versus previous gen consoles? And why even are there problems like this before release? Is there that much pressure by studio execs to get these games out, even if unfinished?
Ok, so this now sounds like a huge video request, but… I’m asking anyway!
"it has been 2 years" felt likr just Months
where is the hazel link? its not there in your description.
Do you have any website like Godot have to download game engine
awesome video
Yes that's my idea too own engine means very fast prototype. I'm starting out with 2D in python + glfw + minimal opengl. I'm going to render everything in python, which for 2D is trivial, but I'm imposing hardware restrictions related to old 8bit computers because I think this is the fastest way to produce production quality with least effort. You can quickly draw some pointy polygons prototype for 3D but that's a year away from production quality.
For 3D I'm also going to render everything in python using GPU acceleration/parallelism rather than shaders.
I guessthis project evolved beyond initial expectations. Do you think it can compete with other engines, and be used in indie dev community?
I know its out of topic but, i've been getting this weird error: coudent open fwl3.lib. And I dont know waht fwl3 is can someone pls help?
Have you ever thought of creating a 4D version of your game engine?
That’s not really possible yet with any engine because our screens are 2d it’s hard enough rendering 3D on our screens let alone 4d and for a single dev you can do it but it wouldn’t be worth it
Last time I saw Hazel Engine, there's no editor yet(just plain c++) I surely missed a lot😂
Is it it convention to prefix variables with "m_" in C# or that just force of habit from C++?
I think it's just his code style.
Actually it is not a convention todo in C#. C# follows pascalCase for variable names.
"m_*" - MEMBER VARIABLE ( class or struct )
Hell yeah
I actually am writing my own game, and am going to make an engine out of the code. It’s a console game, with ASCII graphics, and I’ll publish it fully open source on steam
It is sad that Hazel's not using the classic ECS approach. Trying to be more like Unity's component-system entity based workflow(
Let's call things by their names, in this video Entity is just Monobehaviour, but Monobehaviour is not Entity in the ECS world, because it has logic to operate!
Ecs is not only about making your data sequentially fill the stack which avoids cache mises most of the time but also the correct project structure which makes your life easier. With the current "ECS" approach the logic will look like spaghetti chaos.
Physics look a bit off to me. Shouldn't the axis of rotation be located at the tip of the rocket?
Cool! I have one question though… why did you make the ship move instead of moving the background instead?
Flappy Cherno
Yesss we need more games either old games reinvent again... Try to make more games but more showing the whole process...