7:00 EnTT doesnt allow "get" to be used with zero-sized components. It's an internal optimization. The data exists in the sparse set but there is no actual storage array for zero-sized comps.
Ян, really want to give you a huge thanks for what you are doing and what you've already done. Watching your tutorial videos I got the most important result for me is understanding what you are saying. I mean it's thanks to your vids, because exactly watching and wanting to understand your videos, I had to force myself to overlisten to every incomprehensible word, because I wanted to learn how to do what you do! Thank you a million!!!
These Videos are so relaxing and interesting. I don't care about game development that much, i just want to know more about the technology and how diffrent parts of software development work, but these are still super interesting.
I think you can increase the width of the file explorer on the left and put the camera in the bottom left corner because that space usually isnt filled up unless you expand every folder. Also the 220 % text size is more than enough on mobile 720p.
(14:20) Personally **I need** a big font to be able to read what's on the screen, but if it were to make it easy for you, another option is to zoom in when editing the video.
Hey ! Big thanks for the explicative content ! Now I struggle understanting the extents of ECS , is it limited to game design or could it be a good architecture for broader engines that just deal with any kind of signals like MaxMSP or TouchDesigner for instance ? I'm not sur if I need to go the ECS route .... thx
Background Color light: #69babe is a nice turquoise icy cold color light. Just put your face cam in the bottom right corner. It blocks the least things, if you really want you can put it just above the time.
Or maybe people have betting things to do, are you really spending all your day waiting for a video to be uploaded so you can watch it the seconds it's up?
18:33 that doesn't work because braced initializer list is not a type that can be deduced by function template. Pls correct me if I'm wrong, I'm still a noob :D
Best intros ever... BTW, did you really say, "I want to create an entity - like inside you" and you DIDN'T make a joke about that? Only a real pro has such restraint.
I have read things that say 'literally everything should be an entity', and other things that say 'only things that make sense as entities should be an entity'. If I had to make a statement, I would say that everything in the game world that can interact with other thing(s) in the game world should be an entity. What do you think? Do you think that this depends on the game? I reckon that this does not depend on the game. I hypothesize that there can be a definitive version of this definition, but I also hypothesize that there may be multiple definitions that are all valid. Curious what you prefer.
So, with entt you can not use same component twice in the same entity, like a player made with multiple sprites, so there is no way to create a spritecomponent and use it twice? (Noob question maybe)
Nice color scheme! Yan, can you please zoom in the code while recording? I've been asking for a long time because I simply can't read the text. I don't have a full HD monitor or phone so it gets pixelated and blurred, becoming hard to read. I really enjoy your videos so what I do is just listen to it as a podcast while I work. But I'd like to be able to see the code as well :) Thank you!
You messed up the method order, you put the transform-texture-method below the first rotated-quad-method. Also, I think that even 220% is large, I think 100% was fine but 160% might be the compromise?
7:09 "We would never have a component that has nothing in it" I read about empty components in ECS that function identically to marker interfaces. Like a tag - no data, just a classification as AThing or BThing. Are these "tag" components reasonable - and more than that - are they good (good practice + good design)?
doing the group thing gives me a "conversion from 'size_t' to 'const int', possible loss of data" warning. everything works but Id like to know if i can remove it
cherno, my suggestions keep your face at top right. makes sense bring output window below your facing hide the file tree while not using it, or use the code navigation from your plugins font size 250 is big enough, could be even smaller imho orange nice. you may use a background color for each series once more nice work!
Hi Cherno, There is currently a lot of debate about whether a CrossGen release (PS4 / Xbox One to PS5 / Xbox SX) will slow down the NextGen. Your opinion would interest me. Maybe you can make a short video about it. greetings from Germany Stuka
Question on components that always confused me.. SpriteRenderer needs a color, it also needs a transform. Should SpriteRenderer hold color AND transform? Or is the user supposed to know spriterender needs a transform? I feel that gets complicated as more complex components exist
I would err on the side of keeping them separate because a physics system might have no interest in color, only the transformation, even if the rendering system wants both. To bundle them together would expose more data than certain systems actually need to access, which, aside from being less efficient loading more irrelevant data into cache lines, is also more difficult to reason about and debug and multithread safely. Actually, if you want to err one way over the other, I would err on the side of smaller components that store less and focus on a more singular responsibility, over larger ones that bundle data tackling disparate concerns.
Honestly 250% is too big for me but I understand some people might have problem when it was 100% so maybe leave it around 200%? Trying to read the code at 250% isn't pleasant at all :/
I really like your content but some stuff should really not happen to someone who aspires to teach others. Like calling a value type class member a "stack allocated" variable (which I had a junior say to me on an interview probably got it from you) or completely ignoring "The rule of three/five/zero"... I know you do most of this stuff live and for free which is a big thing, but essentials are essentials.
7:00 EnTT doesnt allow "get" to be used with zero-sized components. It's an internal optimization. The data exists in the sparse set but there is no actual storage array for zero-sized comps.
I'm assuming this is so you can tag things and check with .has without taking up any data.
orange is good :)
Awesome video as always. The background looks great in orange.
Ян, really want to give you a huge thanks for what you are doing and what you've already done. Watching your tutorial videos I got the most important result for me is understanding what you are saying. I mean it's thanks to your vids, because exactly watching and wanting to understand your videos, I had to force myself to overlisten to every incomprehensible word, because I wanted to learn how to do what you do! Thank you a million!!!
Orange is perfect 🤩, just started watching your videos and subscribed yesterday 👌🏼
0:06 Yes Cherno, you are very cool indeed.
*looks around*
.......
"Am I........am I cool"
It would be great if the font was a little bigger in the editor. Nice series I love it.
Edit: I see you got it bigger later!
These Videos are so relaxing and interesting. I don't care about game development that much, i just want to know more about the technology and how diffrent parts of software development work, but these are still super interesting.
0:19 orange is the Cherno color, I like it
Regarding adding the "Component" suffix to each component struct, this could be avoided by putting the struct in a Hazel::Components namespace.
Damn when did u install lights...? Looks awesome dude ♥️
I think you can increase the width of the file explorer on the left and put the camera in the bottom left corner because that space usually isnt filled up unless you expand every folder.
Also the 220 % text size is more than enough on mobile 720p.
(14:20) Personally **I need** a big font to be able to read what's on the screen, but if it were to make it easy for you, another option is to zoom in when editing the video.
Hey ! Big thanks for the explicative content ! Now I struggle understanting the extents of ECS , is it limited to game design or could it be a good architecture for broader engines that just deal with any kind of signals like MaxMSP or TouchDesigner for instance ? I'm not sur if I need to go the ECS route .... thx
What is even cooler, than a red light, and a pineapple light in the background
thanks
I propose different colours for different series.
top right is fine, 220% is fine.
Background Color light: #69babe is a nice turquoise icy cold color light.
Just put your face cam in the bottom right corner. It blocks the least things, if you really want you can put it just above the time.
Crazy how much of his viewers are from the US, it’s been an hour and this video only has 1.9 K views.
Are you trying to say Australian are not into software? 😂
Or maybe people have betting things to do, are you really spending all your day waiting for a video to be uploaded so you can watch it the seconds it's up?
For me the camera view is good at the top right corner, the zoom is fine for me till its above 100%.
Hello can do do the same break down with xbox velocity architecture like you did with ps5? thanks
18:33 that doesn't work because braced initializer list is not a type that can be deduced by function template.
Pls correct me if I'm wrong, I'm still a noob :D
Best intros ever... BTW, did you really say, "I want to create an entity - like inside you" and you DIDN'T make a joke about that? Only a real pro has such restraint.
I think orange is cool
Btw, the font size is big to me as well
220% is really good for font zoom
0:05 yes
I have read things that say 'literally everything should be an entity', and other things that say 'only things that make sense as entities should be an entity'. If I had to make a statement, I would say that everything in the game world that can interact with other thing(s) in the game world should be an entity. What do you think?
Do you think that this depends on the game? I reckon that this does not depend on the game. I hypothesize that there can be a definitive version of this definition, but I also hypothesize that there may be multiple definitions that are all valid. Curious what you prefer.
Wait before Cherno starts changing his room's light colour using ImGui
Totally doable! I could change mine from the linux shell in my previous apartment. Nice project if you're into electronics.
So, with entt you can not use same component twice in the same entity, like a player made with multiple sprites, so there is no way to create a spritecomponent and use it twice? (Noob question maybe)
Nice color scheme! Yan, can you please zoom in the code while recording? I've been asking for a long time because I simply can't read the text. I don't have a full HD monitor or phone so it gets pixelated and blurred, becoming hard to read. I really enjoy your videos so what I do is just listen to it as a podcast while I work. But I'd like to be able to see the code as well :) Thank you!
Yeah I agree, I got the same idea/request... I'm on my phone, that's hard lol.
You messed up the method order, you put the transform-texture-method below the first rotated-quad-method. Also, I think that even 220% is large, I think 100% was fine but 160% might be the compromise?
Yea please. It is really hard to read the small text as it gets blurred after youtube's compression. Especially after scaling to smartphone size
7:09 "We would never have a component that has nothing in it"
I read about empty components in ECS that function identically to marker interfaces. Like a tag - no data, just a classification as AThing or BThing. Are these "tag" components reasonable - and more than that - are they good (good practice + good design)?
I would have thought that a tag would be its own component with either an enum or a string of some form?
Go full spectrum cycle, it'll make your pc faster
By some reason I have to include "entt.hpp" before "Events.h" , other wise it does not compile
doing the group thing gives me a "conversion from 'size_t' to 'const int', possible loss of data" warning. everything works but Id like to know if i can remove it
Orange is Juicy.
cyan maybe looks good
cherno, my suggestions
keep your face at top right. makes sense
bring output window below your facing
hide the file tree while not using it, or use the code navigation from your plugins
font size 250 is big enough, could be even smaller imho
orange nice.
you may use a background color for each series
once more nice work!
I honestly don't mind what the zoom is, anything above 140 is good :)
cool.
Hi Cherno,
There is currently a lot of debate about whether a CrossGen release (PS4 / Xbox One to PS5 / Xbox SX) will slow down the NextGen. Your opinion would interest me. Maybe you can make a short video about it.
greetings from Germany
Stuka
It’s almost impossible to follow on mobile unless you’re zoomed in.
Try orange and teal colours.
200% would be good honestly 100 was fine
Just move the camera view during the recording... I see nothing against that.
(I don't think you can find ONE good place)
TOP OR BOTTOM RIGHT! NEVER EVER PLACE IT IN THE MIDDLE!
250% font size is ok for me
Question on components that always confused me.. SpriteRenderer needs a color, it also needs a transform. Should SpriteRenderer hold color AND transform? Or is the user supposed to know spriterender needs a transform? I feel that gets complicated as more complex components exist
I would err on the side of keeping them separate because a physics system might have no interest in color, only the transformation, even if the rendering system wants both. To bundle them together would expose more data than certain systems actually need to access, which, aside from being less efficient loading more irrelevant data into cache lines, is also more difficult to reason about and debug and multithread safely.
Actually, if you want to err one way over the other, I would err on the side of smaller components that store less and focus on a more singular responsibility, over larger ones that bundle data tackling disparate concerns.
i mean, the renderer need the position rotation and scale to render the quad, so... (also, i know, 3 years)
for now given the simplicity you should leave out all the defaults constructors and assignment operaters in your components, rule of 0 and whatever
The zoom level is way to high at 250%, 140% was perfect even on mobile, and I don't have a huge phone.
Honestly 250% is too big for me but I understand some people might have problem when it was 100% so maybe leave it around 200%? Trying to read the code at 250% isn't pleasant at all :/
Purple
Blue pls thanks
within 4 minutes
No dislikes....thank God!!😄
Also....R7 2700x plus Rtx2060S is good for UE4 and Unity?
@Donnovan Feuillastre Thank you !
I really like your content but some stuff should really not happen to someone who aspires to teach others. Like calling a value type class member a "stack allocated" variable (which I had a junior say to me on an interview probably got it from you) or completely ignoring "The rule of three/five/zero"... I know you do most of this stuff live and for free which is a big thing, but essentials are essentials.
third
first. :)