Hey All:
I haven’t posted here in a couple of years I believe. I start exploring game development but other things in life got in the way. So first let me state my goals.
Short Term: I have no foreseeable interest in working for a company in the field of programming. I say that only to say that whatever I do with programming I am not depending on it for income.
My short term goal is to start working on my own game projects that are entertaining and educational. I do have an interest in programming outside of the gaming industry though as I think it is far too useful of a skill to just to limit myself just to the entertainment industry.
Long Term: Assuming I make it through the short term I would likely be interested in serious game development which could include starting a game studio (potentially funded by my primary income source).
I also have an interest in artificial intelligence and the potential of programming in general to advance humanity. I would like to be involved in much more than games in the future. This does not mean it will be in the form of programming but perhaps it will. It is an assumption of mine that building complicated games will allow me to learn much of what I would need in other fields outside of programming. The thought is that if you are going to learn you might as well have fun doing it. The more entertaining it is, the longer I will stick with it.
With all of that said:
1) Essentially I have been looking into programming for game development for several months now and been reading a lot of varying opinions online.
I have discovered there seems to be a lot of "language wars" on what path is best for a beginner and for development in general. This has made me essentially experience “paralysis of analysis”. Despite this “paralysis” I have gone through most of Zed Shaw’s Learn Python the Hard way and read way too many opinions for my own good.
2) I know I just need to commit to something and I want to at least start my programming journey with video games. From what I have read it sounds like I should probably start with C# as my first language. It seems that it will allow me to do more with development than Python may in the realm of video games. I know Python has capabilities but C# has been used extensively in professional development and is also able to be used on Mac OSX if I am understanding things correctly.
3) Even though I am getting ahead of myself a bit here it seems I may also need to learn a scripting language. I have no particular emotional attachment to any choice. However it seems that perhaps Javascript would be more widely useful (I could do web dev with it as well) and I think it also works with the Unity 3D game engine.
Those are my thoughts – does it sound like I am on the right path based on my short term goals? If so I could start using the C# tutorials on this website (or whatever works best) and get things going. I have already installed Visual Studio Express 2013 (or 2014 I forget) via Microsoft.
As far as my long-term goals with A.I. and other programming it sounds like I will need lower level languages such as C or C++. I am not really sure what language I would need. AI could be language agnostic even but I do not know enough to determine that but from what I have read once you learn a couple of languages picking up others are mostly syntax issues.
EDIT: I forgot to ask - is Javascript (with its associated features like Node.js) able to make high performance games now as well? If so it could be more valuable to me than C# but again I suspect that its not even close in relative power.
Any help would be appreciated!