Today, I would not recommend anybody to go into graphics programming: I started in 2001, when NVidias first Geforce 1 ("the Gigatexl shadercard") was first announced: The field developed since then with so much speed and innovations, it blows my mind of. Compared to what we could do 25years ago, the tech today is just fu*ing impressive. Though, with this impressiveness comes a big "but": The space is developing at a…
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…
What to learn to be a graphics programmer
181–190 of 251 posts
Re: What to learn to be a graphics programmer
#182Earlier quoted context omitted.
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…
> 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. 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 (U…
The other thing to keep in mind is that engines are build towards certain strengths/game-types. Trying to do open-world in UE3 required making some fairly invasive and substantial changes as the engine was built more for somewhat on-rails shooter. It didn't support geometry streaming and a number of other things that are needed to seamlessly transition between large open areas. I remember a number of MMO-style games used UE3 purely as a rendering front-end and mostly built the game tick, physics and netcode back up from scratch.
There are "tells" for engines if they aren't tuned properly(i.e. it was really easy to tell UE3 by the 30s frame hitch as the periodic GC ran) but a fair bit of that can be addressed if the team wants to put in the time to enhance or rework the systems involved.
Re: What to learn to be a graphics programmer
#183Earlier quoted context omitted.
> You would encourage an individual to walk a path that is 90%(95%/99%) likely to damage their life horribly in the name of "progress" Are we still talking about graphics programming? Damage one’s life horribly, really? Those poor kids you saw ‘spat out’, are they irretrievably broken? You speak as if people are single-purpose machines, and that there is nothing to learn from adversity and challenge. That skills are…
Dreams are fun but they don't pay. And then you are earning scraps, and you realise that you'd prefer to be rich than to follow the dream for nothing. I get that. In the time you'd learn about graphics programming, you could learn something else that would be able to give you a boost in the hiring market.
Re: What to learn to be a graphics programmer
#184Do 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…
Yeah if someone wants to do 3D engine programming they should consider reviving rend3 [0] instead of starting their own project. [0] https://github.com/John-Nagle/rend3-hp
Re: What to learn to be a graphics programmer
#185Earlier 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…
Is it so wrong to be doubtful of whether the field is still lucrative? We live in times of great change, it's only natural to be less assured when recommending a career path to others.
Academia was never a lucrative field. For the sacrifices it requires, it will never be financially viable for me to work there. Am I wasting my time going through the Feynman Lectures nonetheless? Keeping my calculus decent? I clicked on this for the same reasons; not looking for career/financial advice, I just have a morbid curiosity about how the sausage is made.
Not to mention, of course, that skills are transferable. Philosophy students don't study Plato because his ideas are relevant to everyday life. His way of thinking/reasoning about problems given his limited means is a timeless skill. I will probably never have to use any direct fact in the Feynman Lectures in my dayjob but learning to think like Feynman is useful when reasoning about large obscure systems which I do encounter daily. FL is not so much an exercise in physics but in the application of the scientific method in general. For software engineering, it nicely compliments Skiena's "The Algorithm Design Manual" IMO.
What I expect to learn from graphics programming:
- it's a good practice for applied maths/vectors/linalg - it's a good practice to learn lowlevel APIs/programming tricks - maybe I'll make a cool game
All of which can also find application elsewhere in computing.
Re: What to learn to be a graphics programmer
#186Earlier 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
#187Earlier quoted context omitted.
I mean, there's other problems with OPs argument. For example, "there's no chance to become the next one" implies it's only worth it to do something if you can become the absolute best person in the field. It's a big world. Most of us will not be the very best at what we do. There are millions of fun games that were not written by John Carmack.
Who is John Carmack? That old dude from the 90s? I kid, but there are many other modern Carmacks and id argue even more impressive contributions. The guy has done little since he left gaming. I wish more people praised Alex Evans. Dreams rendering tech is still unmatched to this day and was my inspiration for graphics, not Carmack.
Re: What to learn to be a graphics programmer
#188Earlier 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…
Re: What to learn to be a graphics programmer
#189Do 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…
Yup. If you start making an engine, you probably won't make a game - especially if you're learning along the way. It's technically possible to succeed at both, but having gone through this process many years ago, and having watched dozens of others in our Polish hobbyist gamedev community do the same, chances are under 5%.
"I'll do an engine for my game first, so it's easier to make the next game" - it's a surprisingly strong trap, because you are actually learning important things and winning small victories every day. There's always another win around the corner. Just one more unroll so the scene looks smoothly. Just one more logic layer to the config format, so it's easier to make the scene. Just one more SIGGRAPH paper.
There's always something important to improve. None of that adds up to a complete game. In retrospect, I'd say, writing your own engine is a perfect way for technical people to procrastinate on the hard but necessary parts of making their dream game - "making it fun", as you mentioned. You end up mastering all the skills that add up to coding an impressive video game. You never learn how to make a game.
(Subtrap of that: you learn a hundred ways to make beautiful visual effects that run smooth in real-time. You never learn how to use that to make art.)
--
(It just occurred to me this is very similar to the trap of "Enterprise Java" - except more insidious, because you're working with concrete terms. Your Scene Graph has no Factory Factory Interface, so you think you've dodged that bullet, missing that it's just unnecessary for the task of putting a bitmap on the screen and making it react to keys.)
Re: What to learn to be a graphics programmer
#190Earlier 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.