STORY : I'm 40 years old, thinking about going back into programming after 20 years... I already did some C++ but I don't know the new stuffs C++14,17,20 etc.. I always wanted to learn 3d graphics and it's my passion compared other kind of programming who seem boring to me..but I'm a bit afraid to go study full time C++ and DirectX or OpenGL to become a 3d graphics programmer after I have read the horror story in the game industry, it doesn't seem like a solid career choice and the pay seem low for the difficulty ratio.
I was wondering if C# with Unity wouldn't be a better choice ? try to make a small game of my own and try to sell it and if it doesn't work, I still have my C# for normal programming job like WebDev etc. The things is I can study 10-15hrs a day for like 3 years, but it take a long time to learn C++ and DirectX when its native + the math etc... So what you guys recommend, because I'm starting to see some beautiful looking game made with Unity on Youtube, could be lot easier to create something managed etc and cross-platform too. I know how studio and AAA games are made I have no Illusion I know you can't make Call of Duty or the next Final Fantasy alone so you have to make a smaller game. Here is a few questions that I have, if you can help me out, it would be greatly appreciated, sorry for my english I'm french from Quebec :
1) How hard and how long does it take to develop 1 of the best 3d engine like CryEngine, Unreal, Frostbite etc and how much % of it, 1 person alone can do on his own these days ? Would it be possible for Carmack to code one today and compete or these days it's impossible alone ? or a beginner to create a 3d room with a character moving around like a shooter to show as a portfolio (in native) ?
2) Do you consider 3d graphics programming in C++ with Opengl, Directx etc to be harder than more "normal" programming like Webdev with JS or C#, Java etc ? Do you think it require more programming skill because its native, or it's not true anymore since there is complexity in others programming fields ?
3) Do you feel that C++ today is becoming slowly bloated or trying to be too much compared others more modern language like C#, Javascript etc ? Would you go as far as saying C++ is obsolete today or more of a niche language for games and advanced system programming (Photoshop, Word, Windows etc) ?
4) Do you guys know how large is the gap between Crysis and Unreal engine compared to Unity with C# in term of performance for making good 3d indie games today ? Let's say we make a good 3d game with Unity and C# will it be slow on Smartphone ?