So I used to be on the art side of things…
Got sick of not being able to afford any of the tools I wanted, so one day I said eff it and started to learn programming.
That was when DX12 came out and I failed miserably.
Then I went on holiday, then Vulkan came out and I thought I’d have a play with that.
I wanted to be able to write my own games from scratch, so I was learning how to work with the graphics API as well as CPU(c++) & GPU(GLSL) programming.
I had a lot of spare time the first year which helped, it’s two years later now and to be honest I’m probably pretty trash.
But I have built an ‘interactive’/real-time path/ray tracing renderer (haven’t tested large scenes! Many things missing, but the bones are there), and am chipping away at other systems needed.
Haven’t had so much time this year as I’m at uni full-time + working so progress is very slow.
In my opinion choice of language isn’t so important, I’m doing c# at uni and don’t even understand how it’s actually EASIER than c++, yes there’s less things to worry about & some more things are done for you, but I do feel like c++ was the right choice.
Advice that would have really helped me, assuming I would have listened (Not sure how many posts I read saying beginners shouldn’t go near DX12/Vulkan or c++), is to keep it simple.
I’ve often felt like “I’m using c++ so I should try to make what I’m doing the fastest possible”, but really I’m a beginner and I should just make it work.
Freshest example is that I wanted to implement one of these entity-component-system things and I wanted it to be super cache friendly, I really didn’t think it out and ended up making it impossible to work with and now I’m re-writing the whole thing.
Whatever you end up learning, just make things work, don’t over complicate things.