General Question

Thammuz's avatar

Where do I find good information on how to program 3D videogames?

Asked by Thammuz (8570 points ) June 19th, 2011

I’ve been studying C++ for a while and I understand fairly well the basics of game programming by now, but aside for programming basic computer versions of tabletop games without mouse interface on allegro, which is extremely boring and I’ve already pretty much mastered, I can find nothing that helps.

I can’t find a tutorial that explains how to render a 3D level with characters and a GUI, for instance, nor can I find a decent explanation on how to make 3D representations of the game simulation sync up to the simulation itself.

You see, with 2D games with a fixed size, or even with a variable size, it’s easy. You can work out the math and make everything fit together nicely by giving the position values relative to the size of the window, and that’s it. Even those faux-3D games back in the doom era work by the same basic principles.

3D can’t work in the same way, though. There’s dynamic cameras, for one, so the positions on the screen aren’t relative to the window, but to some other arbitrary point of reference of which I’m unaware, and the positions are most definitively not in pixels.

I don’t need something too complex, I just want to make a turn based strategy game, basically I need to know how to put chess pieces on a chessboard, only the chessboard could be anything from a street to a ruined building (though still divided orderly like an ordinary chess board of varying sizes and proportions).

Let me know if you need more information on what I’m planning.

Also, and this might sound a bit strange, though I have a working knowledge of classes and objects in C++, I’d love to find a theoretical explanation to clear up some doubts I have about their usage, so if you know where I can find that as well, I’d appreciate it

Observing members: 0 Composing members: 0

4 Answers

Vortico's avatar

You have two clear options: OpenGL and DirectX (Direct3D).

OpenGL is a cross-platform library designed just for graphics while DirectX is specific to Windows but offers built-in libraries for sound and media.

I have no experience with DirectX, but I can tell you the OpenGL ‘Red Book’ and Swiftless OpenGL tutorial are good online starting resources. Of course, there are hundreds of books about this topic on Amazon or your local book store that would prove to be useful.

Thammuz's avatar

@Vortico Thanks, that’s a real starting point. I’m going to try amazon, because my local bookstore considers “how to use windows” the full extent of computer related literature.

koanhead's avatar

The Blender webpage has a lot of tutorials and information on 3D modelling and animation, although it’s all fairly Blender-specific. Blender is a pretty high-level tool, so I’m not sure if that information is especially useful to you.

Beyond that I can only agree with @Vortico‘s recommendation; but I suggest you stick with OpenGL as it’s cross platform and better documented.

Thammuz's avatar

@koanhead I’m not the one doing the modeling, i’m more interested in how to place the objects dynamically, after they’ve been made by someone else. I was thinking OpenGL too because i use linux as well as windows, but still, i think when gaming’s concerned windows is the way to go.

Answer this question




to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
Knowledge Networking @ Fluther