I would like to learn game programming. Just to give you a background I am a programmer and understand the concepts of programming and am very object oriented. I have worked with languages such as php, javascript, flash, java, and a little c++. Now from my understanding most of game programming is done in either python or c++. Now I have a few questions as to where to get started in actual game development because I know that it is a broad question.
I would like to be able to program games cross platform so should I be using opengl instead of directx or is there another alternative? Are there any downfalls to using opengl instead of directx (or other applicables).
I would also like to know how to do the graphics for these games as well. I have seen applications out there such as Maya and 3ds max. Should I be using one of these applications or is there other alternatives. Also which one would be better suited for crossplatform and has an easier learning curve for beginners.
Is there a good site to go for development of these games? I would like to do 3d development, I know most say start with 2d but I like to do what I want to do :). I have been to gamedev.net but there site can be a little confusing to navigate sometimes.
Any good books out there that anyone can recommend or any other resources would be great. I would love to have a good place to get started to play around with 3d games before I get into more advanced development.
Thanks for any replies.