To me, I can see a few things. 1) You enjoy working on hazel 3d and struggling with 2D? Stick to 3D make what you like and will make a video more enjoyable 2) I agree, recording videos by rewriting Is painful for you, and takes so much work, that has to go 3) You have a lot of videos already on the basics, c++ and OpenGL concepts, you don't have to hold the hands of people so much if they need specific details they can go (and you can redirect them to the videos). 4) Every engine people will make will be different, personally, I did not follow you writing hazel 1 to 1, I took some of the concepts I liked and used in my own, experimenting etc. Is really important to show the concepts and idea and then maybe so few things of implementations etc, give people the tools, not the specifically crafted solutions. So you can write and enjoy the features then you "review" them, explain them with the code already written. Not showing how to write every single line of code IMHO. Hope it helps.
@@TheCherno My comment may be a little cryptic and it's hard to understand what I'm referring to, so I guess I'll explain that. At the beginning of making Sparky you were writing code on your own and then you wrote the same code on the stream. Later you realized that you don't have time to do that and it's better to write all the code on the stream, without the preparations. So now it's exactly the same. I find that kinda funny c:
Dude chill :) your series is AWESOME! You're doing a great job maintaining all of this. Can we just all please stop for a sec and appreciate what's been created here? Thank you Cherno for this! And don't burn out every thursday just because of this series ;) it's okay to let it slide once if you have other priorities. Cheers from Switzerland
The thought of you developing a game with your wife to stress-test your engine is the most wholesome thing for a game/engine developer I've ever imagined.
Hey Cherno! I'm a 2d animator and illustrator who knows nothing about coding and game engines, but I've stumbled upon your channel about a month ago after watching various game dev update videos (I love video games). I listen and watch your videos while I do tedious work and really enjoy how you describe your workflows and your process on Hazel, it helps me stay motivated! I think it's a really good idea for you to record yourself working live, a lot of artists do it too because it lets them explain their thought process on the spot. Can't wait for more!
Emphasis on "peacefully work on Hazel". Believe it or not, development is not always linear and taking breaks will not make for an entertaining livestream. 1:38
@@JohnnyProductionsOfficialTM True, and sometimes you just have to step back and think it through, then get back to the coding when you've worked it out.
I can totally relate. I've made a lot of tutorial videos for Dreams for PS4, and was running into the same issue to such an extent that I essentially didn't PLAY anymore. I'm curious to see how it goes for you. I used to do the same thing where I would figure out an issue and then redo it from scratch for the viewer. One thing I tried that worked ok for me was starting with the end product, and then showing what it did, how it worked, and how people could use it WITHOUT showing how I made it every step of the way.
I'm loving the idea of a livestream format video! I love when people go through the problem live, gives me a oppertunity to reflect on my work process and maybe find some improvements! CANT WAIT FOR MORE VIDS
I am someone who is not from a technical background related to computer science. And I recently started watching your c++ playlist. And it is amazing. I just want to thank you for it. Whatever you are trying to achieve I hope you achieve it sooner. And I hope you keep on sharing knowledge that would help others on learning tools and find a path into software engineering.
I love it thanks Cherno. I think this will be a really cool approach especially since as we get later into the series, the more advanced we are as developers and so it seems more beneficial to see how you craft it while you're crafting it
Well, Yan, looks like you finally got that turkey out of the over. Probably don't remember that running joke from when you streamed Sparky. Anyway, thought I'd chime in about how excited I am with the plan for the game engine series. This is what I've been waiting for all along. Mind you, I didn't find any of it to this point boring or bad. Quite the opposite! But this is just the natural progression, really, and I'm super hyped! Thanks for all the great, entertaining and informative content over the years!
Yes I love the idea of the new format for the Game Engine series! I've always wanted to see all the thought process/iterations going on while you write the code, with minimum edits.
That's a very good idea to show the whole development process in a live video. Reminds me a bit of how Jonathan Blow does his development on youtube. thank you for your time and all of your videos.
I 100% understand where you're coming from. I started my UA-cam channel because I had all these one-off projects in UE4 that I though were interesting and wanted to teach others how to do it. I did so pretty similar to what you're talking about, I had the one I created as a reference, and essentially recreated the project live for the tutorial video. After I ran out of these projects, coming up with something new and knowing that I would have to do it twice was pretty daunting for me, and since I was also busy with a ton of other life stuff (work, school, home life, etc) I just couldn't justify the time to do it anymore. To be honest, the approach you proposed actually sounds like fun, and I am curious how its going to turn out. I really love your videos, and you are an inspiration for me to come back to UA-cam to continue teaching others, but this time branching out further to show all the other software development stuff I know. Keep up the good work, and I wish you all the success!
I think you make the right choice, programming is not something easy in the first place, so making it twice the work is not enjoyable at all. You work for yourself in the first place, and i don't think there will be trouble for you to explain to us what's going on on the fly. You are a good speaker which already make half of the works.
Making a game engine and teaching making game engines, while keeping up a great C++ series too! Huge props for the work & attitude Cherno. Got yourself a patreon.
Your content is perfect. I'm a mechanical engineer and I need to learn C++ and C# for my masters degree. Of course your content is made toward game engine, but in my opinion it would be a great start to refresh my memory. Thanks for all the very informative videos you make on programming.
Yess you're doing amazing with game engine series and also with C++ series I really we get to see your videos consistently which is a kind of big help to self learner like me
What I've learned from UA-cam so far is if the creator can't enjoy doing it the contents sucks. So, do as you wish and find your own sweet spot of creation. I've been following you for quite a while now. It won't hurt me to watching you finding your way or helping/supporting you as much as I can through this journey.
Handmade hero also follows this format. So for sure it’ll work. Might even be better as a live stream that way you can avoid editing entirely. It does get deep and it makes it harder for us to follow along; but you can finish your work. Maybe you can find volunteers to do post editing for UA-cam.
The new format might be even better than the old one. This way the audience can actually witness most of the thaught process that goes into building the game engine!
All good things! We’ve mentioned “cooking shows” before on this channel. This course correction is like the difference between having a step-by-step, highly produced (and sterile) recipe demonstration, versus bringing the camera crew into the kitchen of a busy restaurant and saying, “make us something awesome”, and watching what happens. The latter is more natural and more interesting, if less precise. Just keep the balance between just do it and take it slow, yeah? We’re with you, Yan. (And yes, Sebastien’s coding adventures are awesome; I bet he spends quite a while on those videos. We’re happy to see you happy, just do what feels best, yeah?)
I am making a game engine and some game dev tools as well and it is A TON of work. I as well have been struggling with it but you just have to push through it.
Hey Cherno! Been following you since super early on :D played on your ftb server back in the day. Good to see you always analyzing your series and improving them! Keep up the great work, find the path most enjoyable for yourself. Have a great day :)!
I think this is a great idea. Typing it in a second time is unnatural as a viewer too. Because it's like you know the perfect answer and type it all in one steady flow through magic. Altho it makes for shorter videos, I like to have them on the 2nd monitor anyway so length doesn't matter as much as true development is much more valuable to see. I've been toying with the idea of "live"-streaming a game development as well, so I'm curious what shape yours will take and learn from that.
I think the change to the series is a great idea, with it being developed in 'real time' it'll also show people what it is actually like to develop games/engines/software, and that it doesn't always go to plan the first time (as it might appear in videos). Could be good to actually live stream the development too? It builds presence another platform, there's a decent game dev community already there, and the videos can just be recorded as you were previously going to. Also, extra revenue never hurts, lol.
This is definetely good news. I think it might help people get deeper understanding of the system you are developing. We'll see why you decided to implement it that way and not another. :)
Regarding exposing public fields in your editor and having to re-run your script: You could use C# properties instead of public fields. For properties that control something internally, like width or height of a quad, you can add a function call inside the setter so it automatically does some internal rebuilding for you. This would be especially useful e.g. when you define sliders for your float properties because you could see the changes occur in the editor in real time.
Using C# as a scripting language and starting using Unity as a "template" is definitely the right way to go. Not just because Unity has an easy and fun workflow but also because there are already many professional game developers familiar with Unity, so it is it's easier for me to try out your engine if it has familiar workflow elements to other engine I'm proficient with. But Unity has areas where there could be a lot of improvement. One of the big ones is the Blender support or Blender-to-Unity pipeline. Unity "supports" .blend files (from what I understand the Editor simply runs a command line on the Blender fbx exporter on the Blender version installed in your PC to convert the file to a fbx when you put a model file on a Unity project folder). It works okay for most cases but there are a few issues, one is that the local rotation transforms of the bones of skeletal meshes get messed up, probably because of the different x,y,z coordinate systems (and left-hand, right-hand conventions), but this can be a problem if in your game you intend to rotate bones manually with code. Another issue - and a quite frustrating one - is that when you have a skeletal mesh with animation clips in a .blend file in Unity, and then you update this file on Blender and add more animation clips to the file. Unity doesn't check for changes and re-import the animation clips automatically, you have to go to the model file on the Unity editor and manually remove all the animation clips from the inspector and then click for to "import animation" again, so it imports the new animation clips. This can be quite frustrating because until you find out why your new animation clips aren't showing up it can be a few hours of troubleshooting. Both these issues have been known issues in the Unity's issue tracker for at least a few years, but they still haven't addressed it. Anyway, good luck with Hazel!
Makes sense to do more of it "live" as you say and will also be a more authentic experience for viewers. That cuts down on the video/recording/editing time significantly i think
Wow this channel is awesome! I'm kind of sad because I came to this 2 years too late, and have missed all your early videos. And personally I'd be interested in the debug sessions too, but I"m just an uber nerd :)
I feel you are going to be big and I'm leaving this comment so that I might comeback after a year or two and see my comment and feel happy that my prediction got right so keep doing what you want don't waste your time it's not selfish.
Very wise decision... if its better for you and you enjoy it more this way , DO IT! This will make your content more enjoyible for you and for us! Aswell will save you a lot of time!
Another thing you can do is build Hazel, record yourself doing it, once you've finished it, go through all your videos and edit them to make lessons, then release it. Even if it means we have to wait longer to get them. :)
I found ur videos through the ue5 reaction, but have stayed for your c++ content. Im nearly halfway through the c++ playlist and I feel like I have a better understanding of other languages as a result :)
You should not preoccupy yourself with what people on your channel need. They will select themselves what they need. Do what you like, and people like you will follow. Do not overthing what is boring for us.
Jonathan blow did a livestream where he ran into a real-world problem with his game and went on to explain the basics of rasterization and transparency, I would enjoy that sort of format where you just work on the engine and explain as you go
Nah mate. Ride the wave. Don't shoot yourself in the foot. I hope you pursue more reaction videos and insights in console architecture as the ones you've done already seem to be doing so well and have been well received. I'm sure many would love to see your reaction to the Sony PS5 game showcase when they re announce it.
To be honest I was hoping that these type of Videos would return. I personally think that these type of videos are much more informative and in depth (which is an amazing thing imo). And regarding the Debugging thing you meantioned. I think it would be extremely useful from a viewers Point of View to leave them (at least the important Stuff) in the Video just because you then get a better understanding in Terms of what caused the bug and how you ended up fixing it.
all sounds great, looking forward to seeing more :) It's most important to enjoy what you do, otherwise just go work for a company and do the same thing and get paid and have less stress
Quick question: why are you mapping the _fields_ of Entity subclasses to the Properties windows instead of mapping its _properties?_ C# makes a distinction between class fields and properties for good reasons, and each new version of C# has make it even easier to define properties. For example in C# you could just write "public int MapWidth { get; set; } = 128;" to initialize a property instead of defining a field.
This sounds like a great idea and a natural format for the workflow. What is the best way to start using your channel to learn? Do you have a learning path written up somewhere? Should people start with cpp and finish that?
To me the new format is going to be better. I'd rather see the whole process of getting towards the right solution including debugging and especially trying out approaches that didn't work, rather than seeing the code pretty much "typed out" being perfect the first try. Personally I learn best from mistakes and tend to better remember a bunch of things from didn't work, so that I know what not to do. Seeing code that just works - sure that's fine, but sometimes I can come up with a bunch of different solutions to the described problem that would also work but not knowing that some of them you've actually tried and that there were issues with them, it's just that we didn't see those failed attempts. If there will be unedited, raw footage (twitch?) then I'll definitely be watching those.
you can work on it like Casey muratory / Jonathan blow... that will be great for us to watch passively while working on something on side. we dont wanna understand the code more than understand the concept and your way of implementation
Couple ideas: 1) Make a game using Hazel and build the engine in parallel, this will keep people really interested in the engine and can see how different aspects of the engine visually affect the game (I have a lot of ideas if you need any) This will make the video way more enjoyable to watch because people can be invested in the game and learn the inner workings of how the engine makes it happen. It doesn't necessarily have to be a waste of time, yeah it might not be representative of the final workflow, but you can present it more as a testing framework, game doesn't even need to be playable, just something to visualize and demonstrate your game capabilities. I think the games really make people more interested, people are visual creatures and it can be harder to stay focused on just code. 2) Optimization videos - It would be really fun to either find a snippet of your code, or take submissions, and go through profiling, how to make it faster and optimize it. This could be super educational. 3) Would love a series on data structures and algorithms, or just odd topics that you find interesting.
Taking the Casey Muratori route I see. It's a good route. You should still livestream and correlate chat questions with specific parts of the stream. Makes for a better process documentation.
Actually sounds better to see you work on it live. It would definitely be more relatable to actual coding as opposed to a curated reread of your coding after the fact.
Dude, the process of writing the code, undoing it and writing it again on record sounds soo painful. I'm excited for the new format, easier to produce and we will be able to see errors life and how to fix them. Thanx for the content you do.😁
Could any long term viewers please explain what’s he’s trying to achieve with his own game engine ? We already have many game engines with many more people working on them and some of them are even open source. So what’s the point of hazel, what’s the end game like? No hate, just curiosity.
For learning, to better understand and utilize prebuilt engines, to avoid the fees prebuilt engines take when you sell your game, to avoid losing features that prebuilt engines choose to stop supporting, to have ultimate control over everything. There are lots of good reasons to build your own engine.
It's starting to look a lot like Unity, and even just half a Unity that isn't half buggy broken crap (largely due to back compatibility) is a worthy goal. But yeah, mostly just because he likes doing it.
Hey Cherno! Do you have any plans to add DirectX support to Hazel? As I understand it, we will use Win32 to create a window. But after a little digging I found out that OpenGl Context can also be created using Win32. Yes, it is much deeper and more difficult than GLFW, but you can get used to everything. So here is and GLFW use for example on Linux or Mac to use OpenGl. I have never worked on Linux and Mac, maybe there are their have own libraries for creating OpenGL context. Then it turns out that we will not need GLFW at all. And then it turns out that the entry point to the engine (for Windows) will not be main() but WinMain(HInstance inst ....). And so we can safely use OpenGL and DirectX API's. In addition, we already have an abstraction of rendering objects (Vertex Array, GraphicsContext, Shader, and so on.), so there should be no problems. By the way, I have already started adding DirectX support using this abstraction. And I can say that everything is going very well and the engine is working.
Hey Cherno. Some of my thoughts after having recently caught up with the game engine series. Since you're predominantly interested in 3D maybe limit the 2D stuff to something that will still be useful after moving on to 3D? I think you'd mentioned that a solid 2D renderer is still important for doing UI layers in the 3D engine. So maybe aim towards that? Working on something that you know you'll still need in the future shouldn't feel as much of a chore as something that you just want to get out of the way to get back to what you really want to be doing. All the best. Thanks for the really cool series.
I think you're doing the right thing with the game engine series, we can learn by watching you work and you don't waste your time
Not hard to see why someone would get frustrated having to do the same thing twice over and over again.
To me, I can see a few things.
1) You enjoy working on hazel 3d and struggling with 2D? Stick to 3D make what you like and will make a video more enjoyable
2) I agree, recording videos by rewriting Is painful for you, and takes so much work, that has to go
3) You have a lot of videos already on the basics, c++ and OpenGL concepts, you don't have to hold the hands of people so much if they need specific details they can go (and you can redirect them to the videos).
4) Every engine people will make will be different, personally, I did not follow you writing hazel 1 to 1, I took some of the concepts I liked and used in my own, experimenting etc. Is really important to show the concepts and idea and then maybe so few things of implementations etc, give people the tools, not the specifically crafted solutions. So you can write and enjoy the features then you "review" them, explain them with the code already written. Not showing how to write every single line of code IMHO.
Hope it helps.
very much agree to all the points you said, well said!
Let's hope he reads this
I'm having flashbacks to Sparky game engine
Uh oh... 😶
@@TheCherno My comment may be a little cryptic and it's hard to understand what I'm referring to, so I guess I'll explain that.
At the beginning of making Sparky you were writing code on your own and then you wrote the same code on the stream. Later you realized that you don't have time to do that and it's better to write all the code on the stream, without the preparations.
So now it's exactly the same. I find that kinda funny c:
I was having the same flashback...
@@StrangeIndeed same lol I was waiting for him to switch to livestreams for the last 2 years
@@StrangeIndeed Yeah I'm getting that déjà vu feeling as well.
Dude chill :) your series is AWESOME!
You're doing a great job maintaining all of this.
Can we just all please stop for a sec and appreciate what's been created here?
Thank you Cherno for this! And don't burn out every thursday just because of this series ;) it's okay to let it slide once if you have other priorities.
Cheers from Switzerland
I'd love to see the game you two are working on! And I'm really excited for what the series has in store going forward :)
The thought of you developing a game with your wife to stress-test your engine is the most wholesome thing for a game/engine developer I've ever imagined.
Hey Cherno! I'm a 2d animator and illustrator who knows nothing about coding and game engines, but I've stumbled upon your channel about a month ago after watching various game dev update videos (I love video games). I listen and watch your videos while I do tedious work and really enjoy how you describe your workflows and your process on Hazel, it helps me stay motivated! I think it's a really good idea for you to record yourself working live, a lot of artists do it too because it lets them explain their thought process on the spot. Can't wait for more!
Did you ever think of getting more people to help you with the engine?
You could livestream your work too!
Emphasis on "peacefully work on Hazel". Believe it or not, development is not always linear and taking breaks will not make for an entertaining livestream. 1:38
@@JohnnyProductionsOfficialTM True, and sometimes you just have to step back and think it through, then get back to the coding when you've worked it out.
I can totally relate. I've made a lot of tutorial videos for Dreams for PS4, and was running into the same issue to such an extent that I essentially didn't PLAY anymore. I'm curious to see how it goes for you. I used to do the same thing where I would figure out an issue and then redo it from scratch for the viewer. One thing I tried that worked ok for me was starting with the end product, and then showing what it did, how it worked, and how people could use it WITHOUT showing how I made it every step of the way.
I'm loving the idea of a livestream format video! I love when people go through the problem live, gives me a oppertunity to reflect on my work process and maybe find some improvements! CANT WAIT FOR MORE VIDS
_"And who knows, maybe I'm gonna make it live at some point"_
*flashbacks to Sparky*
I hope he cooks a turkey again
I am someone who is not from a technical background related to computer science. And I recently started watching your c++ playlist. And it is amazing. I just want to thank you for it. Whatever you are trying to achieve I hope you achieve it sooner. And I hope you keep on sharing knowledge that would help others on learning tools and find a path into software engineering.
You went viral, embrace it.
I love it thanks Cherno. I think this will be a really cool approach especially since as we get later into the series, the more advanced we are as developers and so it seems more beneficial to see how you craft it while you're crafting it
@12:00
Anyone advanced enough to follow along, understands you cannot code perfectly.
That is something I wouldnt worry about.
Thanks *Cherno* , I'm here after having through All C++ Series! Many Thanks!
Well, Yan, looks like you finally got that turkey out of the over. Probably don't remember that running joke from when you streamed Sparky. Anyway, thought I'd chime in about how excited I am with the plan for the game engine series. This is what I've been waiting for all along. Mind you, I didn't find any of it to this point boring or bad. Quite the opposite! But this is just the natural progression, really, and I'm super hyped! Thanks for all the great, entertaining and informative content over the years!
You are so nice and friendly, great dev. I wish you all the luck you can get for your future!
Yes I love the idea of the new format for the Game Engine series! I've always wanted to see all the thought process/iterations going on while you write the code, with minimum edits.
That's a very good idea to show the whole development process in a live video. Reminds me a bit of how Jonathan Blow does his development on youtube. thank you for your time and all of your videos.
I feel like this approach is even better than your original one tbh! So stoked!
I would be 100% down for a livestream of you working on the engine, kinda like what johnathon blow does
Long format game engine series sounds like a great idea
Appreciate your honesty chief.. Keep up the good work!! We're here with you all the way!!!
The new format sounds great and I think it will reignite my interest in the series as well as yours.
I like the new concept for the series. I look forward to watching you work.
I 100% understand where you're coming from. I started my UA-cam channel because I had all these one-off projects in UE4 that I though were interesting and wanted to teach others how to do it. I did so pretty similar to what you're talking about, I had the one I created as a reference, and essentially recreated the project live for the tutorial video.
After I ran out of these projects, coming up with something new and knowing that I would have to do it twice was pretty daunting for me, and since I was also busy with a ton of other life stuff (work, school, home life, etc) I just couldn't justify the time to do it anymore.
To be honest, the approach you proposed actually sounds like fun, and I am curious how its going to turn out. I really love your videos, and you are an inspiration for me to come back to UA-cam to continue teaching others, but this time branching out further to show all the other software development stuff I know. Keep up the good work, and I wish you all the success!
you know what, do what you love!!,we will love it even more!!!,cant wait for the "live stream"
I think you make the right choice, programming is not something easy in the first place, so making it twice the work is not enjoyable at all. You work for yourself in the first place, and i don't think there will be trouble for you to explain to us what's going on on the fly. You are a good speaker which already make half of the works.
You inspire me a lot! I appreciate you dude.
Making a game engine and teaching making game engines, while keeping up a great C++ series too! Huge props for the work & attitude Cherno. Got yourself a patreon.
Your content is perfect. I'm a mechanical engineer and I need to learn C++ and C# for my masters degree. Of course your content is made toward game engine, but in my opinion it would be a great start to refresh my memory. Thanks for all the very informative videos you make on programming.
Yess you're doing amazing with game engine series and also with C++ series I really we get to see your videos consistently which is a kind of big help to self learner like me
The new format you described for the game engine series sounds great.
My like stands for I agree with everything you say. I mostly do, but this time especially
What I've learned from UA-cam so far is if the creator can't enjoy doing it the contents sucks. So, do as you wish and find your own sweet spot of creation. I've been following you for quite a while now. It won't hurt me to watching you finding your way or helping/supporting you as much as I can through this journey.
Handmade hero also follows this format. So for sure it’ll work. Might even be better as a live stream that way you can avoid editing entirely. It does get deep and it makes it harder for us to follow along; but you can finish your work. Maybe you can find volunteers to do post editing for UA-cam.
I personallly loved the old Sparky game engine dev format videos, so bringing that back would be GREAT!
Great news! I am hyped to actually see things progress! :)
Hey, Handmade Hero does pretty much what you are planning to do, except Casey does it live. It works pretty well.
I think the "live" format will be better. I like seeing the thought process behind the code.
I think the new format will be better, TBH. Go for it!
The new format might be even better than the old one. This way the audience can actually witness most of the thaught process that goes into building the game engine!
I don't skip the ads cause you deserved it
Live streams are perfect! I always wanted you to see you *actually* go through the process of writing code.
Sounds good! I'm here for the journey.
All good things! We’ve mentioned “cooking shows” before on this channel. This course correction is like the difference between having a step-by-step, highly produced (and sterile) recipe demonstration, versus bringing the camera crew into the kitchen of a busy restaurant and saying, “make us something awesome”, and watching what happens. The latter is more natural and more interesting, if less precise. Just keep the balance between just do it and take it slow, yeah? We’re with you, Yan. (And yes, Sebastien’s coding adventures are awesome; I bet he spends quite a while on those videos. We’re happy to see you happy, just do what feels best, yeah?)
This is a great idea and sounds valuable
I am making a game engine and some game dev tools as well and it is A TON of work. I as well have been struggling with it but you just have to push through it.
I really liking those changes, sounds like it's going in a good direction! Excited for tomorrow's video
Hey man, pretty awesome idea, you are basically turning the Hazel series into the format of Handmade Hero series, looks like an awesome idea!
Hey Cherno! Been following you since super early on :D played on your ftb server back in the day. Good to see you always analyzing your series and improving them! Keep up the great work, find the path most enjoyable for yourself. Have a great day :)!
Hope you can hold a game jam that uses your own game engine!! Also a great way to test its performance and give you feedback
I think this is a great idea. Typing it in a second time is unnatural as a viewer too. Because it's like you know the perfect answer and type it all in one steady flow through magic. Altho it makes for shorter videos, I like to have them on the 2nd monitor anyway so length doesn't matter as much as true development is much more valuable to see.
I've been toying with the idea of "live"-streaming a game development as well, so I'm curious what shape yours will take and learn from that.
*This* is what I've been waiting for
I liked the ps5 breakdown, you simplified it for the non tech folk which made it more interesting
I think the change to the series is a great idea, with it being developed in 'real time' it'll also show people what it is actually like to develop games/engines/software, and that it doesn't always go to plan the first time (as it might appear in videos).
Could be good to actually live stream the development too? It builds presence another platform, there's a decent game dev community already there, and the videos can just be recorded as you were previously going to. Also, extra revenue never hurts, lol.
Livestream with commentary and, if needed, extra videos with a deep dive into some single aspect of development is a good format, IMO.
This is definetely good news. I think it might help people get deeper understanding of the system you are developing. We'll see why you decided to implement it that way and not another. :)
Regarding exposing public fields in your editor and having to re-run your script: You could use C# properties instead of public fields. For properties that control something internally, like width or height of a quad, you can add a function call inside the setter so it automatically does some internal rebuilding for you. This would be especially useful e.g. when you define sliders for your float properties because you could see the changes occur in the editor in real time.
Using C# as a scripting language and starting using Unity as a "template" is definitely the right way to go. Not just because Unity has an easy and fun workflow but also because there are already many professional game developers familiar with Unity, so it is it's easier for me to try out your engine if it has familiar workflow elements to other engine I'm proficient with. But Unity has areas where there could be a lot of improvement. One of the big ones is the Blender support or Blender-to-Unity pipeline. Unity "supports" .blend files (from what I understand the Editor simply runs a command line on the Blender fbx exporter on the Blender version installed in your PC to convert the file to a fbx when you put a model file on a Unity project folder). It works okay for most cases but there are a few issues, one is that the local rotation transforms of the bones of skeletal meshes get messed up, probably because of the different x,y,z coordinate systems (and left-hand, right-hand conventions), but this can be a problem if in your game you intend to rotate bones manually with code. Another issue - and a quite frustrating one - is that when you have a skeletal mesh with animation clips in a .blend file in Unity, and then you update this file on Blender and add more animation clips to the file. Unity doesn't check for changes and re-import the animation clips automatically, you have to go to the model file on the Unity editor and manually remove all the animation clips from the inspector and then click for to "import animation" again, so it imports the new animation clips. This can be quite frustrating because until you find out why your new animation clips aren't showing up it can be a few hours of troubleshooting. Both these issues have been known issues in the Unity's issue tracker for at least a few years, but they still haven't addressed it. Anyway, good luck with Hazel!
Makes sense to do more of it "live" as you say and will also be a more authentic experience for viewers. That cuts down on the video/recording/editing time significantly i think
I only after leaving a comment on one of your uploads yesterday asking for an upload like this... Awesome...
Wow this channel is awesome! I'm kind of sad because I came to this 2 years too late, and have missed all your early videos. And personally I'd be interested in the debug sessions too, but I"m just an uber nerd :)
I really like the idea of "livestreaming" the development. :)
I feel you are going to be big and I'm leaving this comment so that I might comeback after a year or two and see my comment and feel happy that my prediction got right so keep doing what you want don't waste your time it's not selfish.
You need to go on. Time flees. Do your best ! 👍
Very wise decision... if its better for you and you enjoy it more this way , DO IT! This will make your content more enjoyible for you and for us! Aswell will save you a lot of time!
I agree with this new approach
Thank you for the ps5 dev conference comments
Another thing you can do is build Hazel, record yourself doing it, once you've finished it, go through all your videos and edit them to make lessons, then release it. Even if it means we have to wait longer to get them. :)
FINALLY! This was what I wished from that series.
I found ur videos through the ue5 reaction, but have stayed for your c++ content. Im nearly halfway through the c++ playlist and I feel like I have a better understanding of other languages as a result :)
That sounds like a great idea to switch to that format. Cant wait to see it!
You should not preoccupy yourself with what people on your channel need. They will select themselves what they need. Do what you like, and people like you will follow. Do not overthing what is boring for us.
I think, that this new format will make development of "Hazel 2d" faster and that will be awesome.
I like this idea, go for it !
Jonathan blow did a livestream where he ran into a real-world problem with his game and went on to explain the basics of rasterization and transparency, I would enjoy that sort of format where you just work on the engine and explain as you go
Nah mate. Ride the wave. Don't shoot yourself in the foot. I hope you pursue more reaction videos and insights in console architecture as the ones you've done already seem to be doing so well and have been well received. I'm sure many would love to see your reaction to the Sony PS5 game showcase when they re announce it.
To be honest I was hoping that these type of Videos would return. I personally think that these type of videos are much more informative and in depth (which is an amazing thing imo).
And regarding the Debugging thing you meantioned. I think it would be extremely useful from a viewers Point of View to leave them (at least the important Stuff) in the Video just because you then get a better understanding in Terms of what caused the bug and how you ended up fixing it.
all sounds great, looking forward to seeing more :)
It's most important to enjoy what you do, otherwise just go work for a company and do the same thing and get paid and have less stress
Quick question: why are you mapping the _fields_ of Entity subclasses to the Properties windows instead of mapping its _properties?_ C# makes a distinction between class fields and properties for good reasons, and each new version of C# has make it even easier to define properties. For example in C# you could just write "public int MapWidth { get; set; } = 128;" to initialize a property instead of defining a field.
This sounds like a great idea and a natural format for the workflow. What is the best way to start using your channel to learn? Do you have a learning path written up somewhere? Should people start with cpp and finish that?
Predural generation by Sebastian Lague. Nice. (in the description)
To me the new format is going to be better. I'd rather see the whole process of getting towards the right solution including debugging and especially trying out approaches that didn't work, rather than seeing the code pretty much "typed out" being perfect the first try. Personally I learn best from mistakes and tend to better remember a bunch of things from didn't work, so that I know what not to do. Seeing code that just works - sure that's fine, but sometimes I can come up with a bunch of different solutions to the described problem that would also work but not knowing that some of them you've actually tried and that there were issues with them, it's just that we didn't see those failed attempts. If there will be unedited, raw footage (twitch?) then I'll definitely be watching those.
I think this is a good idea, reminds me of the Sparky Series.
you can work on it like Casey muratory / Jonathan blow... that will be great for us to watch passively while working on something on side. we dont wanna understand the code more than understand the concept and your way of implementation
Yes! Don't be constrained by trying to be entertaining. Just...do. I love it.
Couple ideas:
1) Make a game using Hazel and build the engine in parallel, this will keep people really interested in the engine and can see how different aspects of the engine visually affect the game (I have a lot of ideas if you need any) This will make the video way more enjoyable to watch because people can be invested in the game and learn the inner workings of how the engine makes it happen. It doesn't necessarily have to be a waste of time, yeah it might not be representative of the final workflow, but you can present it more as a testing framework, game doesn't even need to be playable, just something to visualize and demonstrate your game capabilities. I think the games really make people more interested, people are visual creatures and it can be harder to stay focused on just code.
2) Optimization videos - It would be really fun to either find a snippet of your code, or take submissions, and go through profiling, how to make it faster and optimize it. This could be super educational.
3) Would love a series on data structures and algorithms, or just odd topics that you find interesting.
As someone who has studied C++ this gives "Back To School" Vibes with the "if" and the "for" commands
Find me a language that made someone money that doesn't have if and for! 😄
Don't worry bro, we love ya ;-)
Taking the Casey Muratori route I see. It's a good route.
You should still livestream and correlate chat questions with specific parts of the stream. Makes for a better process documentation.
I've been wanting to watch this from the beginning for a while now... as soon as my programming language is ready for an engine.
Actually sounds better to see you work on it live. It would definitely be more relatable to actual coding as opposed to a curated reread of your coding after the fact.
Dude, the process of writing the code, undoing it and writing it again on record sounds soo painful. I'm excited for the new format, easier to produce and we will be able to see errors life and how to fix them.
Thanx for the content you do.😁
Are you interested in adding a visual scripting section to Hazel similar to Ue4s blueprint system ?
Could any long term viewers please explain what’s he’s trying to achieve with his own game engine ? We already have many game engines with many more people working on them and some of them are even open source. So what’s the point of hazel, what’s the end game like? No hate, just curiosity.
He enjoys it and it's good content that gets a lot of views / patreon subscribers.
For learning, to better understand and utilize prebuilt engines, to avoid the fees prebuilt engines take when you sell your game, to avoid losing features that prebuilt engines choose to stop supporting, to have ultimate control over everything.
There are lots of good reasons to build your own engine.
It's starting to look a lot like Unity, and even just half a Unity that isn't half buggy broken crap (largely due to back compatibility) is a worthy goal.
But yeah, mostly just because he likes doing it.
Hey Cherno! Do you have any plans to add DirectX support to Hazel? As I understand it, we will use Win32 to create a window. But after a little digging I found out that OpenGl Context can also be created using Win32. Yes, it is much deeper and more difficult than GLFW, but you can get used to everything. So here is and GLFW use for example on Linux or Mac to use OpenGl. I have never worked on Linux and Mac, maybe there are their have own libraries for creating OpenGL context. Then it turns out that we will not need GLFW at all. And then it turns out that the entry point to the engine (for Windows) will not be main() but WinMain(HInstance inst ....). And so we can safely use OpenGL and DirectX API's. In addition, we already have an abstraction of rendering objects (Vertex Array, GraphicsContext, Shader, and so on.), so there should be no problems. By the way, I have already started adding DirectX support using this abstraction. And I can say that everything is going very well and the engine is working.
Hey Cherno. Some of my thoughts after having recently caught up with the game engine series.
Since you're predominantly interested in 3D maybe limit the 2D stuff to something that will still be useful after moving on to 3D? I think you'd mentioned that a solid 2D renderer is still important for doing UI layers in the 3D engine. So maybe aim towards that? Working on something that you know you'll still need in the future shouldn't feel as much of a chore as something that you just want to get out of the way to get back to what you really want to be doing.
All the best. Thanks for the really cool series.