Earlier quoted context omitted.
I always argued for custom game engines not for performance but so your game “feels” unique. I can spot a unity or unreal game from miles away. They have a smell if you will that is very hard to escape. Every game that has a custom engine just feels unique and interesting in a different way. I think this is why people likely push the custom engine. Any game that passes the finish line on a custom engine often has a l…
> I can spot a unity or unreal game from miles away. They have a smell if you will that is very hard to escape. Confirmation bias. Are you saying Hollow Knight, Cities: Skylines and Escape from Tarkov have the same kind of "smell"? It's as ridiculous as saying that you can spot a SaaS written in Rust from miles away.
What to learn to be a graphics programmer
171–180 of 251 posts
Re: What to learn to be a graphics programmer
#172Do you want to make games, or do 3D engine programming? If you want to make games, use an existing engine. Unreal Engine, Unity, Godot, and Bevy are good choices. You'll learn the higher level issues of graphics, not how to push pixels around. The real problem is making it fun. If you want to do 3D engine programming, be aware that there are too many bad game engines. In Rust land, where I am, there are three failed…
Re: What to learn to be a graphics programmer
#173Do you want to make games, or do 3D engine programming? If you want to make games, use an existing engine. Unreal Engine, Unity, Godot, and Bevy are good choices. You'll learn the higher level issues of graphics, not how to push pixels around. The real problem is making it fun. If you want to do 3D engine programming, be aware that there are too many bad game engines. In Rust land, where I am, there are three failed…
Two years? Why does it take two years?
IME two years sounds about right starting from scratch until getting everything into a state that can be called a basic game engine (if a bit optimistic). You can start earlier building a game on the in-progress-engine of course and tbh that's the only way to not develop an entirely useless engine. But that way you'll also end up with an engine that's mostly only useful for that one game, and progress on the game will be atricious in the first year or so. And of course developing both side by side means spreading the butter even thinner.
In the end though I have seen at least as many game projects fail using an off-the-shelf engine (in that case: Unity) compared to using an inhouse engine. The decision to use inhouse tech versus off-the-shelf engine doesn't make or break a game, in the end the failure always lurk within the team (but the engine is usually blamed first when things went south heh).
Re: What to learn to be a graphics programmer
#174Do you want to make games, or do 3D engine programming? If you want to make games, use an existing engine. Unreal Engine, Unity, Godot, and Bevy are good choices. You'll learn the higher level issues of graphics, not how to push pixels around. The real problem is making it fun. If you want to do 3D engine programming, be aware that there are too many bad game engines. In Rust land, where I am, there are three failed…
The amount of otherwise decent games that run poorly due to Unity or UE is very unfortunate. I wish people would stop recommending this stuff. I do hope Godot and Bevy are better, but I'm not sure if they are. To name some games with very bad perf issues that I've played in the last couple years: Core Keeper (Unity), WORMHOLE (Unity, mostly see the lag in endless mode), Crab Champions (UE4, have to use nonsense upsca…
Games don't run poorly "because of unity or UE", those engines are highly optimized for the graphical fidelity they provide, It's super easy to find examples of games that run flawlessly with these engines (UE5: Arc Raiders, Unity: Arknights Endfield). Seriously, this narrative is ridiculous and needs to stop.
Some games with those engines run poorly because no matter the engine, if the developers don't take the time to optimize their games, the result will be an unoptimized mess. Is Unity engine responsible for the fact that Cities Skyline 2 devs decided to render the full polygons of every individual's teeth no matter the distance ? There are a ton of tools built in to handle level of details and they didn't use them...
I doubt those unoptimized games would do any better and in a shorter time if the studio had to build their own engines, or with any other available engine. Bevy is too barebones to be compared, and Godot is not as capable as Unity/UE.
Re: What to learn to be a graphics programmer
#175Earlier quoted context omitted.
Two years? Why does it take two years?
Unless you’ve written one before, it’s the natural learning curve. You can always generate one using LLM if you don’t care about how it actually works.
Lol, right. That might work for some of the runtime parts of a very simple engine, but not the other 90%, especially when you "don't care about how it actually works".
A game engine (like UE or Unity) easily exceeds the complexity of an entire desktop operating system (not necessarily in line count, but in number of features, their diversity and complexity).
Re: What to learn to be a graphics programmer
#176Earlier quoted context omitted.
I really dislike people that got into a thing and then try to discourage others. “Don’t be like me! I wasted my entire life” which is bullshit from a jaded person that lost passion. Telling people to stay away from graphics programming is not how to entice tomorrow’s John Carmack. So here’s another perspective. If all you have done is web apps and Kubernetes, for example, do get into graphics programming. The feedbac…
"These annoying, jaded horse-drawn cart builders, cautioning youngsters from getting into the field in 1908."
Re: What to learn to be a graphics programmer
#177I had some difficulties making sense of _color_ in context of graphics programming, especially transfer functions (sometimes misleadingly called tone mapping). Good article on color management in general, which has a great intersection with foundations needed for graphics programming: https://chrisbrejon.com/cg-cinematography/chapter-1-color-ma...
https://chrisbrejon.com/articles/ocio-display-transforms-and...
Re: What to learn to be a graphics programmer
#178I had some difficulties making sense of _color_ in context of graphics programming, especially transfer functions (sometimes misleadingly called tone mapping). Good article on color management in general, which has a great intersection with foundations needed for graphics programming: https://chrisbrejon.com/cg-cinematography/chapter-1-color-ma...
> sometimes misleadingly called tone mapping sometimes is an understatement there. It took me like a decade to get that shit right. Graphics in general seems to suffer from bad explanations repeated everywhere. We need more authoritative textbooks.
Re: What to learn to be a graphics programmer
#179Do you want to make games, or do 3D engine programming? If you want to make games, use an existing engine. Unreal Engine, Unity, Godot, and Bevy are good choices. You'll learn the higher level issues of graphics, not how to push pixels around. The real problem is making it fun. If you want to do 3D engine programming, be aware that there are too many bad game engines. In Rust land, where I am, there are three failed…
Well, in that case, I'm going to go into academia!
Re: What to learn to be a graphics programmer
#180Earlier quoted context omitted.
Agree with almost all of that. Unless you are targeting some obscure or old platform, I don't even know how you'd justify trying to write a 3D engine from scratch in 2026, except as a fun learning experience. Also, think about tooling. Last time I wrote an engine from scratch, the tooling to support it probably took way more time than the engine did.
AI changes this a lot. You can realistically get a featured 3d engine+editor up and running in a couple week with AI, working solo. Probably better than what Godot or even Unity gives you. Also AI is very good at editor/tooling stuff, I've even found it getting better at graphics programming stuff, just telling it to 1-shot implementing gpu occlusion culling, ddgi probes, taa, etc. type of features. Also for stuff li…