EDIT: There aren't sufficient enough tutorials for what I'm trying to do in Python, so I'm going to take my time and slowly build up my skills in C++. It's hard to trip and not land in a book of C++ tutorials on game development and 3D programming.

Once I get passed the basic syntax for classes in multiple files with preprocessor declarations, what is the next step in 3D?

Do I use DirectX or OpenGL? If I use DirectX, are there sufficient enough books on the subject for a BEGINNER? Same question for OpenGL. I love programming books, I just feel that most of them are way below par - they either have good general explanations and terrible source code, or vice versa.

Thanks for your time. I'll do my best to turn this into an active discussion on the matter.

  • 2
    \$\begingroup\$ -1, there are more than enough "getting started" questions for standard environments already. \$\endgroup\$ – user744 Nov 12 '10 at 11:22
  • 1
    \$\begingroup\$ On one hand this is a dupe of a lot of existing questions. Like this one. On the other hand this question isn't really answerable. The scope of game development is huge and it really doesn't matter where you start as long as you start somewhere. \$\endgroup\$ – Tetrad Nov 12 '10 at 12:29
  • \$\begingroup\$ By the sounds of it 'basic syntax for classes...', you haven't really got a huge grip on the language. If this is the case, I would seriously reconsider 3D. Also, is there any reason why you haven't mentioned an engine, such as Ogre3D? \$\endgroup\$ – The Communist Duck Nov 12 '10 at 16:01

I just started this path with the OpenGL SuperBible and I would say its a good(long, 700 hardcore pages) path to start if you are confident, focused and dedicated. It starts really good and then it build up to the complicated shaders in a very nice way.

Its a real challenge to do 3d programming at all and we (in gamedev) not only want to do 3d programming, we want 3d GAME programming, which makes things 10 times more complicated. Because everything is more complicated from modeling movement, to collision detection and all the way to assets and textures, everything is exponentially more complicated.

I would say that the road ahead(to do a cool, nice, 3d game) is looking something like this from where I am standing:

  • Learn openGL(read a book or 2) (< I am in the middle of this>)
  • Do stuff with openGL(do a toy project or 2)
  • Learn about 3d engines(read a book or 2)
  • Do a 3d engine(do a prototype)
  • Make a simple game
  • Learn more (think, read, see other engines)
  • Do a better 3d engine/settle for a 3d engine made by someone else
  • Feel confortable with 3d, do big projects.

So all and all, it seems like a path of over a year to get there, and I really hope is worth it!

  • \$\begingroup\$ I searched and found good reviews for the 5th edition of the book you mentioned, so I will definitely check it out. I will also put in the work to get a better grasp of C++ before I start doing work in 3D. \$\endgroup\$ – shadowprotocol Nov 12 '10 at 20:12

Maybe before jumping in to OpenGL it would be helpful to start with something higher level like Panda3D. It provides a much simpler scene graph and animation interface, as well as numerous other supporting systems. It still isn't as simple as a 2D environment, but it should get you started a lot faster.

  • \$\begingroup\$ Sorry, didn't see this post before editing my original question. From browsing this week, I got really turned off by Python after not finding enough documentation on the subject matter at hand. Even the tutorials by NeHe (nehe.gamedev.net) stop at tutorial 10 for Python. Gonna go through the motions with C++. Please see my new, updated question. Thanks! \$\endgroup\$ – shadowprotocol Nov 12 '10 at 6:02

There are more tutorials online for OpenGL than Direct3D, last I check. Beginning OpenGL Games Programming has a second edition, so it may be more recent. If you are looking to do an engine, I have read C++ Games Programming from Start to Finish and found it helpful.


http://nehe.gamedev.net/default.asp is pretty good for learning opengl. I can't find anything for pyopengl though.

  • 1
    \$\begingroup\$ When I asked for ways to learn openGL ( gamedev.stackexchange.com/questions/1128/… ) people said that nehe was really outdated. After reading the superbible and playing around I can say its true, opengl has changed a lot. \$\endgroup\$ – DFectuoso Nov 12 '10 at 6:36
  • 3
    \$\begingroup\$ NeHe's tutorials are badly outdated. They teach you fixed function pipeline which is not supported in modern OpenGL core profile. \$\endgroup\$ – SurvivalMachine Nov 12 '10 at 7:26
  • 2
    \$\begingroup\$ To be fair, I do visualization work for a living and a staggering portion of our customers are still on OpenGL 1.4 hardware -- or worse! \$\endgroup\$ – drxzcl Nov 12 '10 at 9:01
  • \$\begingroup\$ They are outdated, yes. But the writers are good - the book they wrote (Beginning OpenGL Game Programming) is a great read and not outdated. \$\endgroup\$ – The Communist Duck Nov 12 '10 at 16:02

Not the answer you're looking for? Browse other questions tagged or ask your own question.