I've been programming games for a little while now, but only in C#/Unity. Unity is fine for what I want to make, and is fast enough. The only thing that's been bugging me is that I'd like to work at a (relatively) large company in the future, and everywhere I look it's C++ this and C++ that. I'm a fairly competent programmer, but I just haven't had enough time to really practice more advanced topics like engine development.
What I'd like to do with this personal self bettering:
- Learn ins and outs of C++.
- Develop a good knowledge of Multi-threading software architecture.
- Create a software renderer (IDK, it just seems like it would be fun).
- Create a separate OpenGL renderer.
- Ideally, make all custom made Physics/Audio library.
- Have the engine be cross-platform
Now, What I want to make clear, and I don't know if I can stress this enough, is that I won't be using this for any sort of commercial product whatsoever. Nada.Zip.Zilch. This is more of a way for me to just dick around with stuff in my head. I'll use Unity if I want to actually make a game.
So, I'm wondering if you all could help point me in the right direction for some of these topics. I've looked online for a lot of this stuff, but I thought I would seek wisdom from the elders.
Where's a good place to learn C++ syntax? Everywhere I look it's just aimed at pure beginners that don't know what a variables is.