What exactly is HEADLESS?
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/TheCherno. The first 200 of you will get 20% off Brilliant’s annual premium subscription!
Patreon ► / thecherno
Instagram ► / thecherno
Twitter ► / thecherno
Discord ► / discord
Walnut (headless code) ► github.com/StudioCherno/Walnu...
Hazel ► hazelengine.com
🕹️ Play our latest game FREE (made in Hazel!) ► studiocherno.itch.io/saving-c...
🌏 Need web hosting? ► hostinger.com/cherno
💰 Links to stuff I use:
⌨ Keyboard ► geni.us/T2J7
🐭 Mouse ► geni.us/BuY7
💻 Monitors ► geni.us/wZFSwSK
This video is sponsored by Brilliant.
Пікірлер: 77
Fun fact: this video was filmed in three different countries. Also don’t forget you can try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/TheCherno. The first 200 of you will get 20% off Brilliant’s annual premium subscription!
@plasmarade
8 ай бұрын
Which countries?
@criostasis
8 ай бұрын
Now that Unity has revealed their true greed, do you see any uptick in devs trying out Hazel?
There are a lot of terms in software that sound weird to normal people. "How to kill orphaned children", "kill parent of child"
@JoeyClover
8 ай бұрын
"Assign 5 slaves to the master"
@alimaster89
8 ай бұрын
"Kill Parent with a fork" is my Favorit
@numberformat
8 ай бұрын
Will definitely put you on some list if you try to google it.
Windows users: “why would you run anything headless?” Linux users: “What’s a GUI?”
@AK-vx4dy
8 ай бұрын
for Windows users: headless = service ;)
@dickheadrecs
8 ай бұрын
@@AK-vx4dy “service” in the windows universe reminds me of when you’re a restaurant and you’re sitting for about an hour before someone takes your order
@AK-vx4dy
8 ай бұрын
@@dickheadrecs headless entities don't bother slefs with time
@dickheadrecs
8 ай бұрын
@@AK-vx4dy it’s bad for my slef esteem
@AK-vx4dy
8 ай бұрын
@@dickheadrecs Please stop, don't go darth path of impostor syndrome. Calm down and keep being proud.
I don't agree with Cherno's definition of headless as a console app vs a gui app, we generally call those "console apps" or if daemonized call them "services" but not "headless". The analogy of the monitor though was spot on. The term headless is usually used in a context where you would have a render but just do not send it to a display. Example is an vulkan headless surface, you draw to it and can use it as a buffer to then use that to go on and do game streaming or similar, or headless chrome for browser testing on servers where you have a render space, can check the rendered output for a match against an image but not need a display to test it.
@dicetrash
8 ай бұрын
Oh also no do not just arbitrarily sleep in a loop in your servers, a service should wake on event, so like a condition_variable::wait_for that when there is a new message coming in on your socket you wake up and do that work. See boost::asio::io_context::run implementation for a scalable service impl example.
Your career as a programmer grows better every time Cherno uploads
"that enabled you to write the code just once" you made it very clear 2:32 😂
@dicetrash
8 ай бұрын
and then made it clear again at 2:42
The #ifdef is driving me nuts. Your API for console is defined in the header. It shouldn't differ whether you include headless or GUI cpp... it should function the same. Leave it to the build environment or a Factory abstraction to build the concrete object. Good fundamental video to introduce the concept.
Hi Cherno! It is a good video, very interesting. Could you make a video about state machines and how to implement one?
Hey Cherno I loved this vid! Can you make a video about reflection (introspection) in C++? I'd love to hear your thoughts on it, and reflection is super important in the game engine industry.
15:40 Hint in the case of OOP: this is a case for polymorphism and perhaps the factory pattern too.
As embedded developer I realized that I never had a head at all 😂
@AK-vx4dy
8 ай бұрын
You head heads but smaller... LEDs, LCD, 7-segment / 16-segment displays
The thumbnail is a piece of art
The nearly headless Nick
is there any chance you'll be making a vulkan tutorial? I am currently learning it after banging my head against the wall with opengl for a few months, during of which your videos were very helpful and it would be extremely nice of you to drop a full playlist, like in the next couple of weeks. It would help me a lot, and btw remember you can skip sleeping,eating and other useless things. Thanks in advance! I was joking obviously, but vulkan videos would be nice though...
Hey! Thanks for your videos. What do you think about conan package manager? Do you have any plans to use it in future?
Have you kept up with the latest c++ features i.e moves, lambda, auto, deducing this, concepts and requires, modules etc etc? They've added some really cool stuff to the language over the years
Pro tip: Have all your projects in one solution file. Especially if you make changes to the shared code, you really want to unit test all affected projects.
there is a 3rd option: terminal ui/tui, kinda graphical but in the terminal
An alternative way I have learned to handle this, instead of using ifdefs. You create a factory method that provides you with the in this case CreateApplication function. You make a header file that contains 1 static function Create() that returns Walnut::Application*. So you have ApplicationFactory.h in your build scripts you can then conditionally include different .cpp files that implement this header. For example a FullApplicationFactory.cpp and a HeadlessApplicationFactory.cpp that both include the same header file and implement this create function. This allows you to add many different implementations depending on the platform. Professionally I've used this pattern a lot when building for many different architectures. easiliy 5+ and it scales way better than this approach. If you set your compile variables correctly the ide will still be able to correctly show you all the highlighting you need.
@CrazyMig
8 ай бұрын
I agree, I also avoid using ifdef at all cost.
@aresaurelian
8 ай бұрын
Combining heads and bodies interchangeably could be interesting. If the head is small enough we could always include it, but if it relies on heavy external libraries we don't.
@MrBigfatcookiemonste
8 ай бұрын
@@aresaurelian yes I agree, that's why you probably want to mostly use it in a factory pattern where there's just one create function. Any complex types you need from libraries can be forward declared in most cases.
@aaron96244
8 ай бұрын
+1 🥰
Was hoping for the lore on the enemy Headless from Sekiro, you even mentioned software at start, making me think you're talking about Fromsoftware, but it turned out to interrest me in a totally different way :D
lmao the thumbnail x3
Make a series on Vulcan please!
try per pixel xyz-unit cubemaps (pre-calculated unit box plane-rays with plane to point-radius distance) as rendering engine, then draw the 6 images as normal textures to the main camera, yep kinda ray tracing but faster, use sphere grid/bvh bfs traversing
@gsestream
8 ай бұрын
also try surface bump maps (ie sphere/cube equilateral rectangle depth maps, with texture and depth/alpha map), instead of triangles or voxels, more compressed data friendly and smaller storage, only image regular spaced png/jpg compressible data with gray scale depth data, stored in image buffers and files, where the sphere bump map is to be interpreted as spherical triangle mesh but at the resolution of the 360 degree image and depth of the vertex, and the vertex colored by the image color. also can be called as spherical height map mesh, combines uv-image directly with height map, no separate triangle mesh. want disjoint mesh parts, add more objects, or use the depth map height values creatively.
thanks
Headless computer, i called that just simply a computer. The whole world is twisted calling it the CPU , The Box, the Brain etc. LOL
great thumbnail
"when I heard it for the first time, I had no idea what it meant" 😅
the thumbnails😂
hey Cherno. Are these new C++ videos part of "Cherno C++ Playlist"? If they are, would you mind adding them into your C++ playlist? If so, the new learners will access whole tutorial in the C++ play list and study C++ systematically. Huge thanks!
What are your thoughts on the Unity situation?
I've got question to game engine series. I just started following in and I wonder, will you add building projects for platforms like ps, xbox, switch or can you explain how buiding for theese platforms works?💪
@charliegnu
8 ай бұрын
Generally, you need to register with them and get a dev console, then you get access to their SDKs or get the addon you need for game engines like unity and compile for the platform. Each console is different, look up their dev documentation.
@Michal005
8 ай бұрын
@@charliegnu thanks🐐
I use Orange Pi headless. Yes, it has ssh, but I use a web interface to control.
what language would be optimal to write a minecraft clone in?
Didn't even know this guy had legs😂😂😂
"I knew that I wanted to deploy this server onto a VPN" I think you meant VPS :D
Why not develop the entire backend as a library which you then use to create both the executables? I do it like this in cmake, don't know about visual studio.
@toby9999
7 ай бұрын
OMG noooooo, not cmake. Horrible. Gives me nightmares. But yes, you can do that in visual studio.
Are you back in Australia?
With Unity destroying itself currently, there is a lot more potential for your game engine to take up market share.
@divelix2666
8 ай бұрын
Godot and UE5 are still an option. Hazel is more for education purposes at its current state imho.
Hello cherno could you try CMAKE it is a replacement or alternative for CMAKE and it is impressive you should take a look at it
It was all in le head
👍
This is what I ask before I date someone. If it's headless it's no bueno for me
nice thumbnail lol. ive been clickbaited! but i also want to hear the content...
Headless is when you write all your code in one sequence and never really care about design .... Oh oh the other headless. I really like separating graphics from the core of the application. Mainly because in automotive or other vehicle industries you don`t know how your software will be distributed over what hardware inside the physical machine. And that is not only for graphics, there can be many layers depending on the hardware architectures, feature requirements, and what the car manufacturer actually wants.
Every Linux application can be headless thanks to Xvfb. Well, at least those that run on an X server, no idea about Wayland 😂.
backend
Zoomers invented terminal programs
@toby9999
7 ай бұрын
We had terminal programs in the 70s.
But what about that ghost that got nearly headless, how could you be nearly headless?
and then roblox just stole it
Fatty cherno looks great ❤️💀